Ubuntu 上更新 SELinux 策略文件的实用步骤
前置说明
- Ubuntu 默认不启用 SELinux,默认使用 AppArmor。如确需使用 SELinux,需先安装并启用相关组件,再按下方步骤更新策略。启用前建议备份关键数据与配置。
启用或确认 SELinux 状态
- 安装基础工具与策略包(含 SELinux 基础、默认策略、审计组件):
- sudo apt update
- sudo apt install selinux-basics selinux-policy-default auditd audispd-plugins
- 检查当前模式:
- getenforce(返回 Enforcing/Permissive/Disabled)
- 修改配置文件 /etc/selinux/config,将 SELINUX=permissive(首次建议宽容模式)或 SELINUX=enforcing,保存后重启:
- 重启后可再次用 getenforce 确认状态。
更新策略的常用方式
验证与回滚
- 验证
- 确认模块已加载:semodule -l | grep your_module_name
- 查看拒绝日志是否减少:grep avc /var/log/audit/audit.log
- 校验文件或目录标签:ls -Z /path
- 回滚
- 禁用模块:sudo semodule -d module_name
- 重新启用:sudo semodule -e module_name
- 彻底移除模块:sudo semodule -r module_name(谨慎操作,可能影响依赖该模块的服务)
注意事项
- 在 Ubuntu 上启用 SELinux 属于非默认路径,可能遇到软件兼容性与维护成本问题;生产环境建议先在测试环境验证,或考虑以 AppArmor 作为替代方案。