[步骤] SELinux 的启用 (openSUSE&SUSE 版) (不建议)

软件准备:

在 SELinuxProject 的官网上下载 SELinux 策略 UseRefpolicy:

https://github.com/SELinuxProject/refpolicy/wiki/UseRefpolicy

注意:

1) 如果使用此文的方法将 openSUSE&SUSE 的 SELinux 设置为 Enforcing 则系统将无法设置 IP 地址
2) 如果使用此文的方法开启了 SELinux 并且将所有的布尔(boolean)值开启,则系统将无法关机,开启所有布尔值的方法:# for i in semanage boolean -l | awk '{print $1}'; do echo $i;setsebool -P $i 1; done

正文:

步骤目录:

步骤一:安装 SELinux 组件

步骤二:安装 SELinux 策略
2.1 解压包含 SELinux 策略的压缩包
2.2 将 SELinux 策略移动到 SELinux 配置文件的位置
2.3 进入到和 SELinux 策略相同目录下
2.4 查看 SELinux 策略的安装手册
2.5 创建 SELinux 策略的配置文件
2.6 创建 SELinux 策略
2.7 编译 SELinux 策略
2.8 安装 SELinux 策略

步骤三:配置 SELinux 配置文件
3.1 在 SELinux 配置文件中将 SELinux 设置为 Permissive 状态
3.2 在系统内核中禁止使用 AppArmor 使用 SELinux 并且将 SELinux状态设置为 Permissive
3.2.1 设置 grub 文件
3.2.2 让刚刚设置的 grub 文件生效
3.3 刷新系统内所有文件的标签

步骤四:重启系统让 SELinux 生效

具体的操作步骤:

步骤一:安装 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 设置 grub 文件

# vim /etc/default/grub

在这一行里:

GRUB_CMDLINE_LINUX_DEFAULT="......"
添加以下内容:
GRUB_CMDLINE_LINUX_DEFAULT="...... security=selinux selinux=1 enforcing=0"

3.2.2 让刚刚设置的 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

[内容] Linux SELinux 状态的设置

内容目录:

内容一:SELinux 的状态

内容二:永久切换 SELinux 状态
2.1 将 SELinux 永久切换至 Disabled 状态
2.1.1 修改 SELinux 配置文件
2.1.2 重启系统
2.1.3 查看 SELinux 状态
2.2 将 SELinux 永久切换至 Permissive 状态
2.2.1 修改 SELinux 配置文件
2.2.2 重启系统
2.2.3 查看 SELinux 状态
2.3 将 SELinux 永久切换至 Enforcing 状态
2.3.1 修改 SELinux 配置文件
2.3.2 重启系统
2.3.3 查看 SELinux 状态

内容三:临时切换 SELinux 状态
3.1 临时切换到 Permissive 状态
3.1.1 临时切换到 Permissive 状态
3.1.2 查看 SELinux 状态
3.2 临时切换到 Enforcing 状态
3.2.1 临时切换到 Enforcing 状态
3.2.2 查看 SELinux 状态

具体的内容:

内容一:SELinux 的状态

1) Disabled:完全关闭 SELinux
2) Permissive:即使违反了策略也依旧可以执行,但是违反策略的记录会被记录在日志中
3) Enforcing:如果违反了策略就不能之行

内容二:永久切换 SELinux 状态
2.1 将 SELinux 永久切换至 Disabled 状态
2.1.1 修改 SELinux 配置文件

# vim /etc/selinux/config

将以下内容:

......
SELINUX=......
......

修改为:

......
SELINUX=disabled
......

2.1.2 重启系统

# reboot

2.1.3 查看 SELinux 状态

# getenforce 
Disabled

2.2 将 SELinux 永久切换至 Permissive 状态
2.2.1 修改 SELinux 配置文件

# vim /etc/selinux/config

将以下内容:

......
SELINUX=......
......

修改为:

......
SELINUX=permissive
......

2.2.2 重启系统

# reboot

2.2.3 查看 SELinux 状态

# getenforce 
Permissive

2.3 将 SELinux 永久切换至 Enforcing 状态
2.3.1 修改 SELinux 配置文件

# vim /etc/selinux/config

将以下内容:

......
SELINUX=......
......

修改为:

......
SELINUX=enforcing
......

2.3.2 重启系统

# reboot

2.3.3 查看 SELinux 状态

# getenforce 
Enforcing

内容三:临时切换 SELinux 状态
3.1 临时切换到 Permissive 状态
3.1.1 临时切换到 Permissive 状态

# setenfoce 0


注意:
1) 系统重启后失效
2) 只能从 Enforcing 状态切换到 Permissive 状态

3.1.2 查看 SELinux 状态

# getenforce 
Permissive

3.2 临时切换到 Enforcing 状态
3.2.1 临时切换到 Enforcing 状态

# setenfoce 1


注意:
1) 系统重启后失效
2) 只能从 Permissive 状态切换到 Enforcing 状态

3.2.2 查看 SELinux 状态

# getenforce 
Enforcing

[内容] pip 工具的安装 (MacBook Air 版)

内容目录:

内容一:安装 pip2
1.1 下载 pip2
1.2 安装 pip2
1.3 删除 pip2
1.4 查看安装的 pip2
1.4.1 查看在 python 里有没有 pip 安装包
1.4.2 查看有没有 pip2 命令
1.4.3 升级 pip2

内容二:安装 pip3
2.1 准备安装 pip3 所需的环境
2.1.1 安装 python3
2.1.1.1 输入 python3 命令
2.1.1.2 在弹出的对话框里安装 python3
2.1.2 安装 xcode
2.1.2.1 输入 xcode-select –install 命令
2.1.2.2 在弹出的对话框里安装 xcode
2.2 安装 pip3
2.2.1 下载 pip3
2.2.2 安装 pip3
2.2.3 删除 pip3
2.2.4 查看安装的 pip3
2.2.4.1 查看在 python 里有没有 pip 安装包
2.2.4.2 查看有没有 pip3 命令
2.2.4.3 升级 pip3

具体的内容:

内容一:安装 pip2
1.1 下载 pip2

$ curl 'https://bootstrap.pypa.io/pip/2.7/get-pip.py' > get-pip.py

1.2 安装 pip2

$ sudo python get-pip.py

1.3 删除 pip2

$ rm get-pip.py

1.4 查看安装的 pip2
1.4.1 查看在 python 里有没有 pip 安装包

$ ls /Library/Python/2.7/site-packages/

(补充:这里以 Python 版本是 2.7 为例)

1.4.2 查看有没有 pip2 命令

$ which pip2

1.4.3 升级 pip2

$ sudo pip2 install --upgrade pip

内容二:安装 pip3
2.1 准备安装 pip3 所需的环境
2.1.1 安装 python3
2.1.1.1 输入 python3 命令

$ python3

2.1.1.2 在弹出的对话框里安装 python3

(步骤略)

2.1.2 安装 xcode
2.1.2.1 输入 xcode-select –install 命令

$ xcode-select --install

2.1.2.2 在弹出的对话框里安装 xcode

(步骤略)

2.2 安装 pip3
2.2.1 下载 pip3

$ curl 'https://bootstrap.pypa.io/pip/get-pip.py' > get-pip.py

2.2.2 安装 pip3

$ sudo python get-pip.py

2.2.3 删除 pip3

$ rm get-pip.py

2.2.4 查看安装的 pip3
2.2.4.1 查看在 python 里有没有 pip 安装包

$ ls /Library/Python/3.8/site-packages/

(补充:这里以 Python 版本是 3.8 为例)

2.2.4.2 查看有没有 pip3 命令

$ which pip3

2.2.4.3 升级 pip3

$ sudo pip3 install --upgrade pip