6.2. MLS 中的 SELinux 角色
SELinux 策略将每个 Linux 用户映射到 SELinux 用户。这允许 Linux 用户继承 SELinux 用户的限制。
MLS 策略不包含 unconfined
模块,包括无限制的用户、类型和角色。因此,用户将不受限制(包括 root
)的用户无法访问每个对象,并执行他们在目标策略中可以进行的每个操作。
您可以通过调整策略中的布尔值来自定义 SELinux 策略中受限用户的权限。您可以使用 semanage boolean -l
命令确定这些布尔值的当前状态。要列出所有 SELinux 用户、其 SELinux 角色和 MLS/MCS 级别和范围,以 root
用户身份使用 semanage user -l
命令。
User | 默认角色 | 其他角色 |
---|---|---|
|
| |
|
| |
|
| |
|
|
|
| ||
| ||
| ||
|
| |
|
|
|
| ||
| ||
| ||
|
|
请注意,system_u
是系统进程和对象的特殊用户身份,system_r
是关联的角色。管理员不得将这个 system_u
用户和 system_r
角色关联到 Linux 用户。另外,unconfined_u
和 root
是没有限制的用户。因此,与这些 SELinux 用户关联的角色不会包含在下表中 type 和 SELinux 角色的访问中。
每个 SELinux 角色都与 SELinux 类型对应,并提供特定的访问权限。
Role | Type | 使用 X 窗口系统登录 | su 和 sudo | 在主目录和 /tmp 中执行(默认) | Networking |
---|---|---|---|---|---|
|
| 否 | 否 | 是 | 否 |
|
| 是 | 否 | 是 | 仅限 Web 浏览器(Firefox、GNOME Web) |
|
| 是 | 否 | 是 | 是 |
|
| 是 |
仅 | 是 | 是 |
|
| 是 | 是 | 是 | |
|
| 是 | 是 | 是 | |
|
|
仅在 | 是 | 是 | 是 |
-
默认情况下,
sysadm_r
角色具有secadm_r
角色的权限,这意味着具有sysadm_r
角色的用户可以管理安全策略。如果这没有与您的用例对应,您可以通过在策略中禁用sysadm_secadm
模块来分离这两个角色。如需更多信息,请参阅 MLS 中的从安全管理分离系统管理。 -
非登录角色
dbadm_r
、logadm_r
和webadm_r
可用于管理任务的子集。默认情况下,这些角色不与任何 SELinux 用户关联。