linux下的selinux
一.selinux简介
selinux:内核级加强型防火墙
二.selinux状态控制
1./etc/sysconfig/selinux ##selinux状态控制文件(开关)
SELINUX=enforing ##强制模式,也就是打开了,生效了。
SELINUX=permissive ##警告模式
SELINUX=disabled ##关闭模式
设置保存完后,需要重启才能生效。permissive模式和enforce模式切换不要重启。
2.检测selinux状态
getenforce
3.selinux临时状态设定
setenforce 0 ##警告模式设定(重启后恢复)
setenforce 1 ##强制模式设定(重启后恢复)
三.selinux安全上下文
命令:
临时更改
chcon -t 安全上下文 文件
chcon -t public_content_t/mnt -R ##-R表示递归
永久更改
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/mnt(/.*)?' ##添加到selinux列表
restorecon -FvvR /mnt ##同步到文件
3.selinux服务功能的开关
selinux服务会给很多服务设置好多sebool开关,默认都是关闭的
getsebool -a | grep ftp
ftp_anon_write -->off
setsebool -P ftp_home_dir on
这就是selinux对程序和服务的sebool开关的设置。
4.对系统资源的控制。
semanage port -l |grep http
第三行显示了http服务可用的端口地址。
然后配置http服务的配置信息。
vim /etc/httpd/conf/httpd.conf
listen 6666
保存后重启服务
会发现报错
查看日志会发现selinux阻挡了httpd服务监听6666端口,因为在上面的httpd可用端口中没有6666.
我们在selinux的httpd列表山加上6666端口
semanage port -a -t http_port_t -p tcp 6666
##加上端口,重启服务,服务正常启动。