Ubuntu SELinux故障排查方法如下:
查看SELinux状态
getenforce 或 sestatus,显示当前模式(Enforcing/Permissive/Disabled)。/etc/selinux/config,确认默认模式。查看SELinux日志
/var/log/audit/audit.log,用 grep 'avc: denied' 过滤拒绝记录。ausearch -m avc 查询特定事件,Aureport -m selinux 生成报告。分析并修复问题
audit2why 解释日志中的拒绝原因,audit2allow 生成策略模块。ls -Z 查看上下文,chcon 修改,restorecon 恢复默认。sudo setenforce 0(Permissive模式,仅记录不阻止)。/etc/selinux/config,设置 SELINUX=disabled 并重启。使用辅助工具
setroubleshoot:分析日志并提供可视化建议(需安装)。semanage:管理策略和上下文,如 semanage fcontext 修改目录上下文。注意:Ubuntu对SELinux支持有限,部分功能可能不可用,复杂场景建议参考官方文档或社区论坛。