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支持有限,部分功能可能不可用,复杂场景建议参考官方文档或社区论坛。