温馨提示×

ubuntu怎么开启selinux

小樊
47
2026-10-01 10:39:14
栏目: 智能运维

在 Ubuntu 上默认是 不启用 SELinux 的(Ubuntu 默认使用的是 AppArmor)。如果你确实需要在 Ubuntu 上开启 SELinux,可按以下步骤操作。


一、确认当前状态

sestatus

如果提示 command not found,说明 SELinux 工具未安装。
如果显示 SELinux status: disabled,说明当前未启用。


二、安装 SELinux 相关软件包

sudo apt update
sudo apt install selinux selinux-utils policycoreutils

可选(推荐):

sudo apt install selinux-basics

三、启用 SELinux

方法 1:使用 selinux-activate(推荐)

sudo selinux-activate

该命令会:

  • 修改 GRUB 启动参数
  • 设置 SELinux 为 permissive 模式(安全过渡)

然后重启:

sudo reboot

四、设置 SELinux 模式

编辑配置文件:

sudo nano /etc/selinux/config

示例内容:

SELINUX=permissive
SELINUXTYPE=default

模式说明:

  • enforcing:强制模式(真正拦截)
  • permissive:仅记录不拦截(调试用)
  • disabled:关闭

⚠️ 不建议第一次直接设 enforcing,容易导致系统无法启动。

修改后重启:

sudo reboot

五、验证是否启用

sestatus

正常输出示例:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:            default
Current mode:                   permissive

六、从 permissive 切换到 enforcing(确认无误后)

sudo setenforce 1

或永久修改 /etc/selinux/config:

SELINUX=enforcing

⚠️ 重要注意事项

  1. Ubuntu 官方支持有限,很多服务默认按 AppArmor 配置
  2. 启用 SELinux 后,SSH / 系统服务可能无法启动
  3. 建议:
    • 先在 虚拟机 / 测试机 操作
    • 使用 permissive 模式观察日志
  4. 查看 SELinux 拒绝日志:
    sudo ausearch -m avc -ts recent
    sudo dmesg | grep avc
    

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 是 服务器还是桌面版
  • 启用 SELinux 的 目的

我可以给你更精确的操作方案。

0 踩