CentOS7 中关于 SElinux 的设置说明

有些博客上面说的是 setenforce 0 表示临时关闭,但是我发现我这边 0 表示 Permissive , 并不是 disable。本文来记录下正确的操作。已经有很多博客对 SElinux 有很深的说明了,在下面的文章中就只是对 SELinux 操作的详细说明,对于 SELinux 简介就概述下。

SELinux 简介

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

SELinux 模式

  • enforcing:强制模式;代表SELinux运作中,违反 SELinux 规则的行为将被阻止并记录到日志中。用 “1” 表示。
  • permissive:宽容模式(也有人说是警告模式);代表SELinux运作中,当违反SELiunx的行为规则时,会发出警告并记录到日志中,但是不会被阻止,一般都是调试用。用“0”表示。
  • disabled:关闭模式。

SELinux 命令

切换状态使用 setenforce 命令,下图中可以看到 Enforcing 值为 1, Permissive 值为 0

## 查看对应的值
setenforce

## 设置为 强制模式
setenforce 1

 查看当前的 SELinux 状态

getenforce

SELinux 配置文件

当我们需要永久关闭 SELinux 的时候,需要修改配置文件,将 SELINUX 设置为 disable,然后重启 linux 系统,配置如下图:

vi /etc/selinux/config

CentOS7 中关于 SElinux 的设置说明_第1张图片

特别说明

 如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,也必须要重新启动。这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的! 

同时,由 SELinux 关闭 (disable) 的状态到开启的状态(enforcing )也需要重新开机!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!

你可能感兴趣的:(Linux)