linux下的selinux

一.selinux简介
selinux:内核级加强型防火墙

二.selinux状态控制

1./etc/sysconfig/selinux    ##selinux状态控制文件(开关)

SELINUX=enforing    ##强制模式,也就是打开了,生效了。
SELINUX=permissive    ##警告模式
SELINUX=disabled    ##关闭模式

设置保存完后,需要重启才能生效。permissive模式和enforce模式切换不要重启。

linux下的selinux_第1张图片

2.检测selinux状态
getenforce

3.selinux临时状态设定
setenforce 0    ##警告模式设定(重启后恢复)
setenforce 1    ##强制模式设定(重启后恢复)

linux下的selinux_第2张图片

三.selinux安全上下文
命令:
临时更改
chcon -t 安全上下文 文件


chcon -t public_content_t/mnt -R    ##-R表示递归

 

linux下的selinux_第3张图片

 

永久更改
semanage fcontext -l    ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/mnt(/.*)?'    ##添加到selinux列表
restorecon -FvvR /mnt    ##同步到文件

linux下的selinux_第4张图片


3.selinux服务功能的开关
selinux服务会给很多服务设置好多sebool开关,默认都是关闭的
getsebool -a | grep ftp

linux下的selinux_第5张图片

ftp_anon_write -->off

setsebool -P ftp_home_dir on

linux下的selinux_第6张图片

linux下的selinux_第7张图片

这就是selinux对程序和服务的sebool开关的设置。

4.对系统资源的控制。
semanage port -l |grep http

第三行显示了http服务可用的端口地址。
然后配置http服务的配置信息。
vim /etc/httpd/conf/httpd.conf
listen 6666


保存后重启服务
会发现报错

linux下的selinux_第8张图片
查看日志会发现selinux阻挡了httpd服务监听6666端口,因为在上面的httpd可用端口中没有6666.
我们在selinux的httpd列表山加上6666端口
semanage port -a -t http_port_t -p tcp 6666

linux下的selinux_第9张图片
##加上端口,重启服务,服务正常启动。

你可能感兴趣的:(linux下的selinux)