1、SELinux介绍
Linux被认为是当今最安全的操作系统之一,这是因为它杰出的安全特性,如SELinux(安全增强的Linux)。
对于初学者,SELinux被描述为在内核中执行的强制访问控制(MAC)安全结构。SELinux提供了一种强制执行某些安全策略的方法,否则系统管理员将无法有效地实现这些策略。当您安装RHEL/CentOS或其他衍生工具时,SELinux服务是默认启用的,因此您系统上的一些应用程序可能不支持这种安全机制。因此,要使此类应用程序正常运行,必须禁用或关闭SELinux。
SELinux一共有3种状态,分别是Enforcing,Permissive和Disabled状态。第一种是默认状态,表示强制启用,第二种是宽容的意思,即大部分规则都放行。第三种是禁用,即不设置任何规则。只能通过setenforce命令来设置前面两种状态,而如果想修改为disable状态,需要修改配置文件,同时重启系统。
首先要做的是检查系统上SELinux的状态,可以通过运行以下命令来完成:
sestatus
getenforce
如下图所示:
:
二、临时禁用SELinux
echo 0 > /selinux/enforce
setenforce 0
setenforce Permissive
三、永久禁用SELinux
1、打开/etc/sysconfig/selinux文件
vi /etc/sysconfig/selinux
2、将配置SELinux=enforcing改为SELinux=disabled
SELINUX=disabled
3、保存并退出文件,为了使配置生效,需要重新启动系统,然后使用sestatus命令检查SELinux的状态
getenforce
reboot #重启电脑
四、原理及注意
linux的权限采用的是文件-用户-用户组的模式,创建文件的用户具有文件的所有权限,一旦某个用户被突破,系统的风险的无限加大。
而selinux不太一样,由管理员来创建安全规则,控制资源访问,比如定义了http进程可以访问哪些文件、哪些目录,即便root有所有文件的修改和访问权限,违反了管理员应用规则,一样无法访问,当然配置会比较复杂,redhat对常用的一些应用已经作了集成。