学而实习之 不亦乐乎

如何禁用 SELinux

2023-03-08 07:55:31

一、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对常用的一些应用已经作了集成。