getenforce命令getenforce是最直接的状态查询命令,用于快速获取SELinux的当前运行模式(无需root权限)。执行后会返回以下三种结果之一:
Enforcing:SELinux处于强制执行模式,会严格阻止违反安全策略的操作;Permissive:SELinux处于宽容模式,仅记录违规行为(如日志)但不阻止;Disabled:SELinux完全禁用,不提供任何安全策略保护。[root@localhost ~]# getenforce
Enforcing
sestatus命令sestatus(SELinux Status)提供详细的SELinux状态信息,包括配置状态、运行模式、策略版本等。常用选项:
SELinux status、Current mode);-v:显示详细信息(如策略名称、SELinux根目录、加载的模块列表)。[root@localhost ~]# sestatus -v
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
...
/etc/selinux/config配置文件SELinux的默认运行模式(重启后生效)记录在该配置文件中。通过cat命令查看文件中的SELINUX=参数值:
SELINUX=enforcing:默认强制执行;SELINUX=permissive:默认宽容模式;SELINUX=disabled:默认禁用。[root@localhost ~]# cat /etc/selinux/config
...
SELINUX=enforcing
SELINUXTYPE=targeted
lsenforce命令(libselinux库工具)lsenforce是libselinux库提供的工具,用于查询SELinux的运行状态值(需root权限)。返回结果为数字:
1:Enforcing(强制执行);0:Permissive(宽容模式);-1:Disabled(禁用)。[root@localhost ~]# lsenforce
1
selinuxenabled命令selinuxenabled用于检查SELinux是否启用(返回状态码而非文字描述)。执行后:
0:SELinux已启用;-256(或其他非零值):SELinux未启用(禁用或未安装)。[root@localhost ~]# selinuxenabled
[root@localhost ~]# echo $? # 输出0表示启用
0
以上方法覆盖了从快速检查到详细信息的不同需求,其中getenforce和sestatus是最常用的日常查询工具,而配置文件查看则用于确认默认状态。