一 SELinux的状态
-
enforcing:强制,每个受限的进程都必然受限
-
permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志
-
disabled:禁用
二 相关命令
-
getenforce: 获取selinux当前状态
-
sestatus :查看selinux状态
-
setenforce 0|1
-
0: 设置为permissive
-
1: 设置为enforcing
-
三 seliunx 基础规则介绍
(一)永久开启需要修改文件
/etc/selinux/config
(二)开启seliunx 会限制打开文件
查看并修改 网页文件的 selinux 安全上下文
进程要和文件的安全上下文相匹配,进程才可以打开文件
1, ps auxZ | grep httpd
可以看到 http 进程的安全上下文类型为 httpd_t:s0
2,ls -Z 可以看到
#文件类型与 进程类型相同
使用命令可以看到目前文件类型都属于http类型文件,所以web程序可以打开
3, #yum provides seinfo
#使用命令 找到 seinfo 命令来自于 下面这个包
4, 下载
5,#seinfo -t
#可以看到所有的安全上下文类型
6, chcon -t var_t /var/www/html/index.html
#把 index文件类型修改 为 var_t
7, 此时客户机再访问 就出错
解决方法: 要么把类型改为和 进程对应
要么把selinux 0 这样也可以正常访问
你可以理解为 seliunx 给文件夹了一道锁 密码都一样 那文件可以正常使用,如果关闭seliunx,那设置的密码也无效了
(三) selinux 还会阻止修改端口
1, 当我们修改http 的配置文件
新加上一个9527 端口
2, 再重新启动 http 可以发现重启失败
journalctl -xe --no-pager 查看报错信息 seliunx 阻止修改端口