sestatus用于查看SELinux整体状态(如启用状态、当前模式、策略类型等),不显示文件或进程的安全上下文;查文件上下文用stat -c "%C",查进程上下文用ps -Z。

sestatus 命令用于查看 SELinux 的整体运行状态,但它不直接显示文件或进程的安全上下文。要检查安全上下文(Security Context),真正该用的是 stat -c "%C"(查文件)或 ps -Z(查进程),而 sestatus 是用来确认 SELinux 是否启用、当前模式、策略类型等基础配置的。
查看 SELinux 总体状态:用 sestatus
运行以下命令:
sestatus
典型输出示例:
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 Policy deny_unknown status: allowed Max kernel policy version: 33
关键字段说明:
-
SELinux status:
enabled/disabled—— 是否已加载 SELinux 模块 -
Current mode:
enforcing(强制执行)、permissive(仅记录不拦截)、disabled(关闭) -
Loaded policy name: 当前加载的策略名(如
targeted、mls) - Policy MLS status: 是否启用多级安全(MLS)机制
⚠️ 注意:
sestatus不输出任何文件或目录的上下文字符串(如system_u:object_r:etc_t:s0),它只告诉你“SELinux 整体有没有在跑、怎么跑”。
真正查看文件安全上下文:用 stat -c "%C"
要确认某个文件(比如 /etc/passwd)的实际 SELinux 上下文,执行:
stat -c "%C" /etc/passwd
输出类似:
system_u:object_r:etc_t:s0
这个字符串由四部分组成:user:role:type:level,其中 type(如 etc_t)是权限控制的核心。
你也可以连同文件名和权限一起查看:
stat -c "%n %a %C" /etc/passwd /etc/shadow
查看进程安全上下文:用 ps -Z
例如查看 sshd 进程的上下文:
ps -Z -C sshd
输出示例:
system_u:system_r:sshd_t:s0-s0:c0.c1023 ? 00:00:00 sshd
补充:验证上下文是否符合预期(基线比对)
比如检查 /etc/shadow 的上下文是否匹配系统默认策略:
# 获取实际上下文 stat -c "%C" /etc/shadow # 获取策略推荐的上下文(需安装 policycoreutils) matchpathcon /etc/shadow
若两者不一致,说明可能被手动修改过,需用 restorecon 修复:
sudo restorecon /etc/shadow
小结对比
| 目标 | 推荐命令 | 说明 |
|---|---|---|
| SELinux 是否开启、什么模式 | sestatus |
看全局开关与策略配置 |
| 文件的安全上下文 | stat -c "%C" <file></file> |
最常用、最直接的方式 |
| 进程的安全上下文 |
ps -Z -C <proc></proc> 或 ps -Z <pid></pid>
|
查运行中进程的标签 |
| 上下文是否合规 |
stat -c "%C" + matchpathcon 对比 |
配合 restorecon 自动修复 |
不复杂但容易忽略。


















