SELinux模式Ubuntu怎么切换
导读:Ubuntu 切换 SELinux 模式的正确做法 前置说明 Ubuntu 默认使用 AppArmor,并非 SELinux。若要在 Ubuntu 上使用 SELinux,需要先安装并启用相关组件,再切换模式。SELinux 有三种模式:...
Ubuntu 切换 SELinux 模式的正确做法
前置说明
- Ubuntu 默认使用 AppArmor,并非 SELinux。若要在 Ubuntu 上使用 SELinux,需要先安装并启用相关组件,再切换模式。SELinux 有三种模式:Enforcing(强制)、Permissive(宽容)、Disabled(禁用)。在 Permissive 下仅记录拒绝日志而不阻断;在 Disabled 下策略不加载,完全关闭。一般建议生产环境使用 Enforcing,排障阶段可先用 Permissive。
安装与启用 SELinux(首次启用时执行)
- 安装必要软件包与策略:
- sudo apt update
- sudo apt install selinux-basics selinux-policy-default selinux-utils auditd
- 激活 SELinux(设置内核启动参数并初始化):
- sudo selinux-activate
- 重启系统,使激活生效:
- sudo reboot
- 说明:上述步骤完成后,系统才具备在 Enforcing/Permissive 间切换的能力;若未执行激活,相关命令会不可用。
切换模式的常用命令
- 查看当前状态与模式:
- getenforce(返回 Enforcing 或 Permissive)
- sestatus(查看是否 enabled、当前模式、策略类型等)
- 临时切换(无需重启,重启后恢复为配置文件设定):
- 切换为宽容模式:sudo setenforce 0
- 切换为强制模式:sudo setenforce 1
- 永久切换(需重启生效):
- 编辑配置文件:sudo nano /etc/selinux/config
- 设置:SELINUX=enforcing 或 SELINUX=permissive(或 SELINUX=disabled 完全关闭)
- 保存并重启:sudo reboot
- 提示:从 Disabled 改为 Enforcing/Permissive 必须重启;在 Enforcing 与 Permissive 间切换可用 setenforce 即时生效。
常见问题与排障
- 从 Disabled 切换到 Enforcing/Permissive 后首次启动很慢并出现大量日志:这是正常的“首次重新标记”过程。如需加速,可在根目录创建隐藏文件 /.autorelabel 后重启,以触发完整重标记:
- sudo touch /.autorelabel
- sudo reboot
- 查看拒绝日志与原因:
- 查看最近 AVC 拒绝:sudo ausearch -m avc -ts recent
- 分析拒绝原因:sudo ausearch -m avc -ts recent | audit2why
- 与 AppArmor 的冲突处理:
- Ubuntu 默认启用 AppArmor。若计划长期使用 SELinux,建议彻底关闭 AppArmor(可能影响已依赖其策略的服务):
- 停止并禁用:sudo systemctl stop apparmor & & sudo systemctl disable apparmor
- 如确需卸载:sudo apt purge apparmor
- 注意:变更安全模块有风险,操作前请评估业务影响并备份关键数据。
- Ubuntu 默认启用 AppArmor。若计划长期使用 SELinux,建议彻底关闭 AppArmor(可能影响已依赖其策略的服务):
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SELinux模式Ubuntu怎么切换
本文地址: https://pptw.com/jishu/771031.html
