温馨提示×

SELinux在Ubuntu怎么装

小樊
46
2026-07-27 23:43:14
栏目: 智能运维

Ubuntu 上安装和启用 SELinux 的步骤如下(Ubuntu 默认使用 AppArmor,SELinux 不是默认启用状态):


一、安装 SELinux 相关软件包

sudo apt update
sudo apt install selinux selinux-utils selinux-basics auditd

常用包说明:

  • selinux:SELinux 核心
  • selinux-utils:常用工具(如 semanagesetenforce
  • selinux-basics:基础配置脚本
  • auditd:审计日志(SELinux 报错会记录在这里)

二、激活 SELinux(重要)

运行:

sudo selinux-activate

该命令会修改 GRUB 启动参数,在下次重启时启用 SELinux。


三、设置 SELinux 模式

编辑配置文件:

sudo nano /etc/selinux/config

示例配置:

SELINUX=permissive
SELINUXTYPE=default

SELinux 模式说明

模式 说明
enforcing 强制模式(会拦截违规操作)
permissive 宽容模式(只记录不拦截,推荐初次使用)
disabled 关闭

建议第一次使用设为 permissive


四、重启系统

sudo reboot

五、验证 SELinux 是否启用

重启后执行:

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 0   # permissive
sudo setenforce 1   # enforcing

重启后会恢复为 /etc/selinux/config 中的设置


七、查看 SELinux 日志

sudo ausearch -m avc

或:

sudo tail -f /var/log/audit/audit.log

八、注意事项(非常重要)

  1. Ubuntu 官方更推荐 AppArmor

    • 很多 Ubuntu 软件 没有 SELinux 策略
    • 启用 SELinux 可能导致服务无法启动
  2. 不建议在生产环境直接开启 enforcing

    • 应先在 permissive 模式观察一段时间
  3. Ubuntu + SELinux 策略较少

    • 可能需要自己写策略(.te 文件)

九、如果你只是想“体验 SELinux”

更推荐:

  • CentOS / Rocky / Alma / RHEL
  • Debian(非 Ubuntu)

如果你愿意,我可以:

  • 帮你 从 AppArmor 切换到 SELinux
  • 教你 写 SELinux 策略
  • 排查 SELinux 导致的服务启动失败

你现在用的是 Ubuntu 哪个版本

0