CentOS6.10 的 SELinux的 getenforce setenforce命令, 配置文件/etc/selinux/config的SELINUX和SELINUXTYPE
默认的配置文件为: /etc/selinux/config
进入文件夹
cd /etc/selinux
编辑 /etc/selinux/config
vi /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=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
可看出有两个配置项: SELINUX
和 SELINUXTYPE
-
SELINUX
有三种取值,三者取其一, 对应SELinux的三种主要的工作模式:- 值
enforcing
对应 Enforcing(强制模式):在这种模式下,SELinux的策略将被强制执行。任何违反策略的操作都会被阻止,并记录到日志中。 - 值
permissive
对应 Permissive(宽容模式):在这种模式下,SELinux的策略不会被强制执行,但所有违反策略的操作仍然会被记录到日志中。这允许管理员在不影响系统正常操作的情况下,分析和调试SELinux策略。 - 值
disabled
对应 Disabled(禁用模式):在这种模式下,SELinux被完全禁用,系统不会执行任何SELinux相关的安全策略。
- 值
-
SELINUXTYPE
也有三种取值, 三取一-
targeted
: (默认) , 针对网络服务限制较多,针对本机限制较少,是默认的策略; -
mls
(Multi-Level Security):多级安全保护策略。理论上,这种策略类型提供了更严格的安全保护,涵盖了网络服务、一般指令、应用程序等多个方面。然而,需要注意的是,在现代Linux发行版中,mls策略可能不是直接可用的,或者其名称可能有所不同。此外,由于配置复杂,它在实际应用中可能较少使用。
-
SELinux(Security-Enhanced Linux)是一个为Linux系统提供访问控制安全策略的安全模块。在SELinux中,getenforce
和setenforce
是两个关键的命令,它们分别用于查看和设置SELinux的当前执行模式。
禁用 SELinux
将配置文件/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=enforcing
#SELINUX=permissive
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
vi /etc/selinux/config
重启
题外记录: 如果保留SELINUX=enforcing
, 而在配置文件末尾追加 SELINUX=disabled
, SELinux还是会启动
也可以用命令修改
可以禁用 SELinux 的脚本
sed -ie 's/SELINUX\s*=\s*enforcing/SELINUX=disabled/' /etc/selinux/config
重启系统
SELinux的 getenforce 和 setenforce 命令
getenforce
作用:
getenforce
命令用于显示当前SELinux的执行模式。SELinux有三种主要的执行模式:enforcing(强制模式)、permissive(宽容模式)和disabled(禁用模式)。
使用方法:
在终端中输入getenforce
命令,系统将返回当前的SELinux执行模式。例如,如果SELinux当前处于强制模式,则命令输出将是Enforcing
。
setenforce
作用:
setenforce
命令用于在SELinux的两种执行模式之间进行切换:enforcing(强制模式)和permissive(宽容模式)。然而,需要注意的是,setenforce
命令无法直接将SELinux设置为disabled(禁用模式)。要禁用SELinux,需要修改配置文件/etc/selinux/config
。
使用方法:
-
切换到宽容模式(permissive):
在终端中输入
setenforce 0
命令,SELinux将切换到宽容模式。在这种模式下,SELinux不会阻止违反策略的行为,但会记录这些行为。 -
切换到强制模式(enforcing):
在终端中输入
setenforce 1
命令,SELinux将切换到强制模式。在这种模式下,SELinux将严格执行策略,并阻止任何违反策略的行为。
注意事项:
- 临时性:使用
setenforce
命令进行的更改是临时的,系统重启后,SELinux的执行模式将恢复到/etc/selinux/config
文件中配置的模式。 - 持久性更改:要永久更改SELinux的执行模式,需要编辑
/etc/selinux/config
文件,将SELINUX
的值设置为enforcing
、permissive
或disabled
,然后重启系统。 - 安全性:在更改SELinux的执行模式之前,建议仔细考虑这些更改对系统安全性的影响。禁用SELinux可能会使系统面临更高的安全风险。
综上所述,getenforce
和setenforce
是SELinux中用于查看和设置当前执行模式的重要命令。它们允许系统管理员根据需要对SELinux的安全策略进行调整,以确保系统的安全性和可用性。