SELinux 的运行模式与配置文件
getenforce、setenforce 0|1、sestatus。注意:从 Enforcing ↔ Permissive 可临时切换且无需重启;涉及 Disabled 或更改 SELINUXTYPE 时必须重启系统才能生效。调整步骤与常用命令
临时切换(立即生效,重启后失效)
sudo setenforce 0sudo setenforce 1getenforce 或 sestatus | grep "Current mode"永久调整(修改配置文件,必要时重启)
sudo vim /etc/selinux/configSELINUX=enforcingSELINUX=permissiveSELINUX=disabled(需重启;不建议禁用)sudo reboot(或先切到 Permissive 再重启以加载新策略)策略类型选择(可选)
排错与验证
sestatus、getenforcesudo ausearch -m avc -ts recent 或查看 /var/log/audit/audit.logsudo grep "denied" /var/log/audit/audit.log | audit2allow -M mypolicy && sudo semodule -i mypolicy.ppls -Z、ls -Zdchcon -t 类型 路径(加 -R 递归)semanage fcontext -a -t 类型 '路径(/.*)?' && restorecon -Rv 路径sudo semanage port -a -t ssh_port_t -p tcp 新端口sudo setsebool -P httpd_can_network_connect 1注意事项与建议
SELINUX=disabled 并重启;后续若要重新启用,需再次重启并执行 touch /.autorelabel 以修复文件标签。