Linux下如何临时或永久禁用SELinux

Linux被认为是当今最安全的操作系统之一,这是因为其出色的安全实现功能,如SELinux(安全增强型Linux)。

对于初学者,SELinux被描述为在内核中执行的强制访问控制(MAC)安全结构。 SELinux提供了一种强制执行某些安全策略的方法,否则系统管理员无法有效实施这些策略。

当您安装RHEL/CentOS或多个衍生产品时,默认情况下会启用SELinux功能或服务,因为您的系统上的某些应用程序可能实际上不支持此安全机制。 因此,要使这些应用程序正常运行,您必须禁用或关闭SELinux。

在本操作指南中,我们将介绍您可以遵循的步骤,以检查SELinux的状态,并在CentOS/RHEL和Fedora中禁用SELinux,以防它启用。

Linux下如何临时或永久禁用SELinux

如何在Linux中禁用SELinux

首先要检查系统上SELinux的状态,您可以通过运行以下命令来执行此操作:

返回结果如下:

SELinux status:                enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:        /etc/selinux
Loaded policy name:            targeted
Current mode:                  enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:    allowed
Max kernel policy version:      31

Linux下如何临时或永久禁用SELinux

接下来,继续在系统上禁用SELinux,这可以暂时或永久完成,具体取决于您要实现的目标。

暂时禁用SELinux

要暂时禁用SELinux,请以root身份发出以下命令。

在 CentOS 6.7 及以前版本,运行下面的命令:

# echo 0 > /selinux/enforce

这样就会暂时性的关闭 SELinux,使用命令重新开启或者重起系统之后就会恢复。如果要重新开启,只需要再运行下述命令:

# echo 1 > /selinux/enforce

或者,您可以使用setenforce工具,如下所示。

在 CentOS 7 中,可以执行,

# setenforce 0

来临时将 SELinux 的模式(Mode)设置为 Permissive,就相当于让它继续处于运行状态,监控和记录信息,但是不采取任何拦截动作,也就相当于临时禁用 SELinux 了。但是重启系统后就会恢复到原来的状态。

还可以随时将它恢复,或者临时启用,

# setenforce 1

 上述命令是通过修改配置文件 /selinux/enforce 的内容为 ‘1’ 或者 ‘0’ 来启用或者关闭 SELinux 服务的。

否则,使用Permissive选项而不是0,如下所示:

# setenforce Permissive

Linux下如何临时或永久禁用SELinux

上述方法只能在下次重启时使用,因此要永久禁用SELinux,请转到下一部分。

永久禁用SELinux

要永久禁用SELinux,请使用您喜欢的文本编辑器打开文件 /etc/sysconfig/selinux,如下所示:

Linux下如何临时或永久禁用SELinux

SELinux强制(SELinux Enforcing)模式

然后将指令SELinux=enforcing更改为SELinux=disabled,如下图所示。

SELINUX=disabled

 Linux下如何临时或永久禁用SELinux

永久禁用SELinux

然后,保存并退出文件,要使更改生效,您需要重新启动系统,然后使用sestatus命令检查SELinux的状态,如下所示:

返回结果如下:

SELinux status:                disabled

Linux下如何临时或永久禁用SELinux

总之,我们通过简单的步骤,您可以在CentOS/RHEL和Fedora上禁用SELinux。 在这个主题下好像也没有什么可讨论的,但另外,了解有关SELinux的更多信息对于那些有兴趣探索Linux安全功能的人来说尤其有用。

相关推荐