Ubuntu 中 SELinux 的启动项位置与查看方式
一 内核启动参数位置
- 启用 SELinux 后,系统的内核启动参数中会包含 security=selinux。该参数由 /usr/sbin/selinux-activate 自动写入到 /boot/grub/grub.cfg 的对应菜单项里(每个内核的 linux 行)。
- 查看生效的启动参数:cat /proc/cmdline
- 手动修改方式(不建议直接编辑 grub.cfg):编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 中加入 security=selinux,然后执行 sudo update-grub 并重启。
二 运行时开关与配置文件
- 配置文件:/etc/selinux/config,关键项为:
- SELINUX=enforcing|permissive|disabled(下次启动生效)
- SELINUXTYPE=default|mls(策略类型)
- 运行时模式切换(无需重启):
- 查看:getenforce / sestatus
- 切换:sudo setenforce 1(Enforcing)或 0(Permissive)
- 注意:从 disabled 改为 enforcing/permissive 需要重启;从 permissive 与 enforcing 互切可用 setenforce 即时生效。
三 首次启用时的自动重标记
- 第一次启用 SELinux 建议先设为 permissive 并创建 /.autorelabel,系统会在下次启动时对整个文件系统进行 SELinux 安全上下文重标记(为所有文件写入 xattr 标签),以避免因标签缺失导致访问被拒。
- 操作示例:
- sudo touch /.autorelabel
- sudo reboot
- 重标记完成后,再按需切换为 enforcing。
四 快速核对清单
- 检查启动参数:cat /proc/cmdline | grep -o security=selinux
- 检查配置文件:grep ^SELINUX= /etc/selinux/config
- 检查运行状态:sestatus 或 getenforce
- 查看日志:/var/log/audit/audit.log(需安装并启用 auditd)。