Ubuntu 默认并不支持 SELinux,而是使用 AppArmor 作为其安全模块。AppArmor 和 SELinux 有一些相似之处,但它们是两种不同的安全机制。如果你确实需要在 Ubuntu 上设置 SELinux,你需要了解它的一些基本概念和操作。
SELinux 的基本概念
- SELinux(Security-Enhanced Linux)是一个内核级别的安全模块,提供了强制访问控制(MAC)机制。
- SELinux 有三种工作模式:
- Enforcing:强制执行安全策略,拒绝任何违反规则的操作。
- Permissive:记录违反策略的操作,但不会阻止它们。
- Disabled:完全禁用 SELinux。
在 Ubuntu 上启用 SELinux
-
安装 SELinux 和相关工具:
sudo apt update sudo apt install selinux-basics selinux-policy-default auditd audispd-plugins
-
编辑 SELinux 配置文件
/etc/selinux/config
:sudo nano /etc/selinux/config
将以下行取消注释并设置为
permissive
:SELINUX=permissive SELINUXTYPE=targeted
-
重启系统以使更改生效:
sudo reboot
设置 SELinux 规则
-
查看当前 SELinux 状态:
sestatus
-
设置布尔值: 查看规则的布尔值:
getsebool
设置规则的布尔值:
setsebool -P boolean_value 1
-
创建自定义 SELinux 策略:
- 创建一个新的策略文件:
mkdir /selinux-custom-policy cd /selinux-custom-policy touch custom_policy.te
- 使用文本编辑器打开
custom_policy.te
文件,并根据需求添加相应的规则。 - 编译并安装自定义策略:
make -f /usr/share/selinux/devel/Makefile sudo semodule -i custom_policy.pp
- 创建一个新的策略文件:
-
应用自定义策略:
sudo restorecon -Rv /path/to/your/directory