在 Ubuntu 上,默认是不启用 SELinux 的(Ubuntu 官方更推荐使用 AppArmor)。如果你想在 Ubuntu 上开启 SELinux,需要手动安装并配置。下面是从零开启 SELinux 的标准步骤(以较新的 Ubuntu 20.04 / 22.04 / 24.04 为例)。
sudo apt update
sudo apt install selinux selinux-basics selinux-policy-default auditd
说明:
selinux:SELinux 基础支持selinux-policy-default:默认策略auditd:审计日志(很重要)运行:
sudo selinux-activate
该命令会:
SELINUX=permissive(默认安全)编辑配置文件:
sudo vim /etc/selinux/config
内容示例:
SELINUX=permissive
SELINUXTYPE=default
模式说明:
enforcing:强制模式(真正拦截)permissive:只记录不拦截(推荐先使用)disabled:关闭⚠️ 不要直接从 disabled 改成 enforcing,必须先 permissive 重启
sudo reboot
重启后执行:
sestatus
正常输出示例:
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: default
Current mode: permissive
Mode from config file: permissive
确认系统运行正常后:
sudo setenforce 1
并修改配置文件:
SELINUX=enforcing
再次重启确认。
Ubuntu 默认使用 AppArmor,SELinux 支持不如 RHEL/CentOS 完善。
GNOME / 桌面环境可能在 enforcing 下出问题。
部分云镜像不支持 SELinux,可能需要自定义内核。
✅ Ubuntu 开启 SELinux 步骤:
selinux-activatepermissiveenforcing如果你告诉我 Ubuntu 版本 / 是否是服务器 / 是否云环境,我可以给你更精确的操作建议。