SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。linux
SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统(DAC,Discretionary Access Control自主访问控制系统是 Linux 的默认访问控制方式,也就是依据用户的身份和该身份对文件及目录的 rwx 权限来判断是否能够访问)。对于可用的 Linux安全模块来讲,SELinux 是功能最全面,并且测试最充分的,它是在 20 年的 MAC 研究基础上创建的。大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,而且提供一个可定制的安全策略。安全
SELinux 控制的就不仅仅只是用户及权限,还有进程。每一个进程可以访问哪一个文件资源,以及每一个文件资源能够被哪些进程访问,都靠SELinux 的规则策略来肯定。举个例子:Linux系统中一应用A出现一漏洞,使得远程用户能够访问系统的敏感文件B,SELinux若是启用状态,SELinux发现A不具有访问B的权限,SELinux就会阻挡A对B的访问,这样就起到了保护Linux系统的做用。ide
SELinux有三种模式:测试
Enforcing:SELinux策略强制执行。命令行
Pemissive:SELinux策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志日志
Disabled:彻底禁用SELinuxblog
SELinux状态查看;进程
命令:getenforceci
三种模式的修改:资源
命令行:
经过文件修改:
配置文件路径:/etc/selinux/config,命令行没法把状态修改成disable,只能经过修改配置文件达成。
若是不想重启电脑怎么实现状态和配置文件的改变呢,经过命令行修改状态,再修改配置文件,确保下次重启就是你须要的状态,命令行不能实现disable状态,能够经过命令行先修改成Permissive(和disable几乎同样),再把配置文件的值改成disable,这样就能够实现改成关闭状态(disable)。
注:不推荐关闭SELinux。