启用 Linux 的 SELinux 功能
一 前置检查与准备
getenforce、sestatus。若看到 SELinux status: disabled,说明当前未启用。对于 Ubuntu/Debian 等默认可能未启用或采用 AppArmor 的发行版,需先确认是否安装并启用 SELinux 组件。必要时安装工具包(如 policycoreutils、selinux-utils、selinux-basics),并使用 sudo selinux-activate 激活后再重启。注意:从 disabled 切换到 enforcing 通常需要重启系统以加载策略。二 启用步骤
/etc/selinux/config 中的 SELINUX= 设置为所需模式。常用取值:
sudo vi /etc/selinux/config,将行改为 SELINUX=enforcing(或先用 permissive 验证)。sudo touch /.autorelabel,随后 sudo reboot。重启后系统会自动对文件进行重新标记,耗时与数据量相关。sudo setenforce 0(切到宽容模式)、sudo setenforce 1(切回强制模式)。此方式用于验证与临时排障,不会持久化;持久化仍需修改配置文件并重启。三 验证与常见问题
sestatus 与 getenforce,应看到 SELinux status: enabled,且 Current mode 为 enforcing(或你设置的模式)。sudo setenforce 0,观察问题是否消失;定位后再回到 enforcing 并完善策略。sudo ausearch -m avc -ts recent 查看最近的 AVC 拒绝事件,或用 sudo aureport -m avc 生成 AVC 报表;根据日志调整文件上下文或布尔值策略。