SELinux(Security-Enhanced Linux)是一种为 Linux 操作系统提供安全增强功能的安全模块。在 CentOS 8 中,默认情况下 SELinux 是启用的。在本教程中,我们将介绍如何配置 SELinux 在 CentOS 8 中进行安全设置。

1. 查看 SELinux 状态

首先,我们需要查看 SELinux 的当前状态。可以通过以下命令查看:

sestatus

如果 SELinux 已经启用,将会显示以下信息:

SELinux status: enabled
Current mode: enforcing
Mode from config file: enforcing
Policy version: 31
Policy from config file: targeted

2. 修改 SELinux 配置

  1. 打开 SELinux 配置文件 /etc/selinux/config
sudo vi /etc/selinux/config
  1. 修改 SELINUX=enforcingSELINUX=permissive,表示 SELinux 运行在宽容模式:
SELINUX=permissive
  1. 保存并退出编辑器。

  2. 重启系统以使更改生效:

sudo systemctl reboot

3. 临时修改 SELinux 状态

如果你想在不重启系统的情况下测试 SELinux 的不同模式,可以使用以下命令:

  • 将 SELinux 设置为强制模式(enforcing):
sudo setenforce 1
  • 将 SELinux 设置为宽容模式(permissive):
sudo setenforce 0

4. 配置 SELinux 权限

  1. 安装 semanage 工具:
sudo yum install policycoreutils-python-utils
  1. 添加一个新的 SELinux 用户:
sudo semanage user -a -R "staff_r" -r s0-s0:c0.c1023 your_user_name
  1. 添加一个新的 SELinux 策略:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/your/folder(/.*)?"
  1. 重新加载 SELinux 策略:
sudo restorecon -Rv /path/to/your/folder

5. 其他 SELinux 命令

  • 查看 SELinux 用户:
sudo semanage user -l
  • 查看 SELinux 策略:
sudo semanage fcontext -l

以上就是在 CentOS 8 中配置 SELinux 的基础教程。通过正确配置 SELinux,可以提高系统的安全性和保护性。记得在进行设置时要小心,确保不会影响系统的正常运行。