Linux 被认为是当今最安全的操作系统之一, 这是因为其出色的安全实现功能, 如 SELinux(安全增强型 Linux).
对于初学者, SELinux 被描述为在内核中执行的强制访问控制 (Mac) 安全结构. SELinux 提供了一种强制执行某些安全策略的方法, 否则系统管理员无法有效实施这些策略.
当您安装 RHEL/CentOS 或多个衍生产品时, 默认情况下会启用 SELinux 功能或服务, 因为您的系统上的某些应用程序可能实际上不支持此安全机制. 因此, 要使这些应用程序正常运行, 您必须禁用或关闭 SELinux.
在本操作指南中, 我们将介绍您可以遵循的步骤, 以检查 SELinux 的状态, 并在 CentOS/RHEL 和 Fedora 中禁用 SELinux, 以防它启用.
如何在 Linux 中禁用 SELinux
首先要检查系统上 SELinux 的状态, 您可以通过运行以下命令来执行此操作:
[linuxidc@localhost linuxidc.com]$ sestatus
返回结果如下:
- 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
接下来, 继续在系统上禁用 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
上述方法只能在下次重启时使用, 因此要永久禁用 SELinux, 请转到下一部分.
永久禁用 SELinux
要永久禁用 SELinux, 请使用您喜欢的文本编辑器打开文件 /etc/sysconfig/selinux, 如下所示:
SELinux 强制 (SELinux Enforcing) 模式
然后将指令 SELinux=enforcing 更改为 SELinux=disabled, 如下图所示.
SELINUX=disabled
永久禁用 SELinux
然后, 保存并退出文件, 要使更改生效, 您需要重新启动系统, 然后使用 sestatus 命令检查 SELinux 的状态, 如下所示:
[linuxidc@localhost linuxidc.com]$ sestatus
返回结果如下:
SELinux status: disabled
总之, 我们通过简单的步骤, 您可以在 CentOS/RHEL 和 Fedora 上禁用 SELinux. 在这个主题下好像也没有什么可讨论的, 但另外, 了解有关 SELinux 的更多信息对于那些有兴趣探索 Linux 安全功能的人来说尤其有用.
来源: http://os.51cto.com/art/201907/600291.htm