SELinux 的运行模式与配置文件
查看当前状态
getenforce(返回 Enforcing/Permissive/Disabled)。/usr/sbin/sestatus -v(含“Current mode”“Policy from config file”“Loaded policy name”等)。示例:
SELinux status: enabledCurrent mode: enforcingPolicy from config file: targetedcat /sys/fs/selinux/enforce(返回 1 表示 enforcing,0 表示 permissive)。临时切换运行模式
sudo setenforce 0sudo setenforce 1setenforce 0 后问题依旧,通常不是 SELinux 引起。注意:处于 Disabled 状态时,setenforce 无法切换模式,必须改配置并重启。永久调整与生效方式
sudo vi /etc/selinux/config,设置 SELINUX= 为所需模式(如 enforcing/permissive/disabled),常见 SELINUXTYPE=targeted。示例:
SELINUX=enforcingSELINUX=permissiveSELINUX=disabledsudo touch /.autorelabel && sudo reboot。setenforce 即时生效,重启后按配置文件恢复。故障排查与策略调整建议
/var/log/audit/audit.log(若未安装审计服务,可查看 /var/log/messages 中与 SELinux 相关的拒绝记录),依据 AVC 拒绝信息定位问题。sudo restorecon -Rv /pathgetsebool -a 查看;sudo setsebool -P <name> on/off 持久化开启/关闭某功能(如 httpd_can_network_connect)。sudo semanage fcontext -a -t <type> "/path(/.*)?" 后 restorecon -Rv /path。