什么是SElinux?
Kernel 2.6 时代,那时候引入了一个新的安全系统,用以提供访问控制安全策略的机制。这个系统就是Security Enhanced Linux (SELinux),它是由美国国家安全局(NSA)贡献的,它为Linux内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。
SELinux的相关概念:
主体Subjects 目标Objects 策略Policy 模式Mode 当一个主体Subject(如一个程序)尝试访问一个目标Object(如一个文件),SELinux安全服务器SELinux Security Server(在内核中)从策略数据库Policy Database中运行一个检查。基于当前的模式mode,如果 SELinux 安全服务器授予权限,该主体就能够访问该目标。如果SELinux安全服务器拒绝了权限,就会在/var/log/messages中记录一条拒绝信息。
SELinux 有三个模式
这些模式可以由用户设置将规定 SELinux 在主体请求时如何应对。
这些模式是:
Enforcing 强制— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用— 完全禁用SELinux
如何查看当前SElinux 状态?
使用getenforce
命令
[root@rainxin ~]# getenforce
Enforcing
可见当前SElinux模式处于 Enforcing状态
enforcing
正在运行
permissive
临时正在关闭 还是发出警告
disabled
彻底关闭
如何修改SElinux状态?
1. 临时修改—重启服务器失效
setenforce 0
关闭
setenforce 1
开启
2. 永久修改—重启服务器生效
需要修改selinux的配置文件
修改后重启生效,(比较耽误事)一般初学建议永久关闭SElinux 学习修改上下文权限时在可以选择开启。
详细介绍内容来自 https://www.linuxprobe.com/selinux-introduction.html 一本很详细的Linux基础学习书