在 CentOS 中开启 SELinux,通常分为临时开启和永久开启两种方式。下面以 CentOS 7 / 8 / Stream 为例说明。
getenforce
# 或
sestatus
常见状态:
Enforcing:已开启并强制执行Permissive:开启但只记录不阻止Disabled:已关闭setenforce 1 # 开启 Enforcing
setenforce 0 # 仅警告(Permissive)
⚠️ 如果当前是
Disabled,setenforce是无效的,必须修改配置文件并重启。
vi /etc/selinux/config
修改以下内容:
SELINUX=enforcing
SELINUXTYPE=targeted
参数说明:
enforcing:开启并强制permissive:开启但不拦截(排错用)disabled:关闭reboot
getenforce
输出应为:
Enforcing
可能是文件系统未打标签,解决方法:
touch /.autorelabel
reboot
先用:
SELINUX=permissive
ausearch -m AVC -ts recent
# 或
cat /var/log/audit/audit.log
如果你告诉我 CentOS 具体版本 或 当前 SELinux 状态,我可以给你更精确的操作步骤。