ubuntu

selinux如何自定义ubuntu规则

小樊
46
2025-09-27 10:20:35
栏目: 智能运维

1. 安装SELinux管理工具
在Ubuntu上自定义SELinux规则前,需先安装必要的工具包。执行以下命令安装selinux-basics(基础SELinux管理工具)、selinux-policy-default(默认策略)及auditd(审计工具,用于收集拒绝日志):

sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd

2. 启用SELinux并设置为Permissive模式
Ubuntu默认可能未启用SELinux,需通过修改配置文件开启。编辑/etc/selinux/config文件,取消SELINUXSELINUXTYPE的注释,并设置为以下值:

SELINUX=permissive  # 先设为permissive模式(仅记录拒绝事件,不阻止操作)
SELINUXTYPE=targeted  # 使用targeted策略(针对特定进程,不影响系统整体)

保存后重启系统使配置生效:

sudo reboot

:Permissive模式是自定义规则的必要步骤,避免因规则错误导致系统无法正常运行。

3. 创建自定义SELinux策略模块
自定义规则需通过.te(类型启用)文件定义。以下以“允许my_script进程访问/var/www/html目录”为例,步骤如下:

4. 编译并加载自定义策略模块
使用checkmodule(编译类型定义)和semodule_package(打包策略模块)工具编译.te文件:

checkmodule -M -m -o my_custom_policy.mod my_custom_policy.te
semodule_package -o my_custom_policy.pp -m my_custom_policy.mod

编译完成后,使用semodule命令加载模块:

sudo semodule -i my_custom_policy.pp

加载后,模块会永久保存到SELinux策略中(无需重启系统)。

5. 应用文件上下文并验证规则

注意事项

0
看了该问题的人还看了