软件准备:
在 SELinuxProject 的官网上下载 SELinux 策略 UseRefpolicy:
https://github.com/SELinuxProject/refpolicy/wiki/UseRefpolicy
注意:
1) 如果使用此文的方法将 openSUSE & SLE 的 SELinux 设置为 Enforcing 则系统将无法设置 IP 地址
2) 如果使用此文的方法开启了 SELinux 并且将所有的布尔(boolean)值开启,则系统将无法关机,开启所有布尔值的方法:# for i in semanage boolean -l | awk '{print $1}'
; do echo $i;setsebool -P $i 1; done
正文:
步骤一:安装 SELinux 组件
# zypper in libselinux1 libsemanage1 libsepol-devel libsepol1 libselinux-devel mcstrans libselinux1-32bit policycoreutils checkpolicy libsemanage-devel setools-tcl setools-libs setools-java setools-devel setools-console selinux-tools python3-policycoreutils python3-selinux python3-semanage python3-setools restorecond
步骤二:安装 SELinux 策略
2.1 解压包含 SELinux 策略的压缩包
# tar -xvf refpolicy-2.20210203.tar.bz2
(补充:这里以解压 refpolicy-2.20210203.tar.bz2 压缩包为例)
2.2 将 SELinux 策略移动到 SELinux 配置文件的位置
# mv refpolicy /etc/selinux/
2.3 进入到和 SELinux 策略相同目录下
# cd /etc/selinux/refpolicy/
2.4 显示 SELinux 策略的安装手册
# cat INSTALL
2.5 创建 SELinux 策略的配置文件
# make conf
2.6 创建 SELinux 策略
# make policy
2.7 编译 SELinux 策略
# make install
2.8 安装 SELinux 策略
# make load
步骤三:配置 SELinux 配置文件
3.1 在 SELinux 配置文件中将 SELinux 设置为 Permissive 状态
# vim /etc/selinux/config
创建以下内容:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=refpolicy
3.2 在系统内核中禁止使用 AppArmor 使用 SELinux 并且将 SELinux 状态设置为 Permissive
3.2.1 设置 /etc/default/grub 配置文件
# vim /etc/default/grub
在这一行里:
GRUB_CMDLINE_LINUX_DEFAULT="......"
添加以下内容:
GRUB_CMDLINE_LINUX_DEFAULT="...... security=selinux selinux=1 enforcing=0"
3.2.2 让刚刚设置的 /etc/default/grub 配置文件生效
# grub2-mkconfig -o /boot/grub2/grub.cfg
3.3 刷新系统内所有文件的标签
# restorecon -Rp /
步骤四:重启系统让 SELinux 生效
# reboot
参考文献:
https://documentation.suse.com/sles/15-SP2/html/SLES-all/cha-selinux.html