确认SELinux是否启用
getenforce 查看当前模式(Enforcing/Permissive/Disabled)。sudo apt install selinux-basics selinux-policy-default。查看系统日志
/var/log/audit/audit.log,用 grep "avc" /var/log/audit/audit.log 过滤拒绝记录。ausearch -m avc -ts recent 搜索近期拒绝事件,aureport -m avc 生成统计报告。权限被拒绝(avc: denied)
audit2why 分析拒绝原因:ausearch -m avc | audit2why。ausearch -m avc | audit2allow -M my_policy,然后加载模块:sudo semodule -i my_policy.pp。服务或应用无法运行
ls -Z /path/to/service,确保上下文正确。sudo setenforce 0,若问题消失则需调整策略。策略配置错误
semanage 管理策略:semanage fcontext -l 查看文件上下文,semanage boolean -l 查看布尔值设置。sudo semodule -i custom_policy.pp。临时/永久模式切换
sudo setenforce 0(Permissive模式,仅记录不阻止)。/etc/selinux/config,设置 SELINUX=disabled 并重启。日志分析工具
sealert:交互式分析日志并提供解决方案(需安装 setroubleshoot-server)。dmesg/journalctl:查看内核级错误,辅助定位系统级问题。参考来源: