SELinux 用户映射
把 IPA 用户登录时的 SELinux 用户从默认 unconfined_u 改为受限用户;映射的匹配方式、可用的 SELinux 用户列表与顺序。
本页说明 Policy 下的 SELinux user maps 页面。SELinux 用户映射决定用户登录后进程运行在哪个 SELinux 用户身份下。默认所有人是 unconfined_u,即不受限。映射规则让特定用户在特定主机上以 staff_u、user_u、guest_u 等受限身份登录,sssd 在 PAM 会话建立时写入 /etc/selinux/targeted/logins/。不受许可模块限制。

规则
| 字段 | 含义 |
|---|---|
| SELinux user | user:MLS:MCS 三段,如 staff_u:s0-s0:c0.c1023。必须在 Configuration 页的 SELinux 用户列表里 |
| Users、User groups | 对谁生效。Any user 表示所有人 |
| Hosts、Host groups | 在哪生效。Any host 表示所有主机 |
| HBAC rule | 另一种写法:引用一条 HBAC 规则,它的用户与主机集合就是映射的作用范围。填了 HBAC 规则就不能再单独填用户和主机 |
多条规则都命中时,按 Configuration 页里 SELinux 用户列表的顺序取排在前面的那个。列表默认值:
guest_u:s0 $ xguest_u:s0 $ user_u:s0 $ staff_u:s0-s0:c0.c1023 $ sysadm_u:s0-s0:c0.c1023 $ unconfined_u:s0-s0:c0.c1023默认 SELinux 用户(没有任何规则命中时)同样在 Configuration 页设置,出厂值为 unconfined_u:s0-s0:c0.c1023。
常见组合
| 目标 | SELinux 用户 |
|---|---|
| 普通开发和运维,可以 sudo | staff_u,配合 sudo 切换到 sysadm_r |
| 只运行应用,不需要管理 | user_u,不能 su 和 sudo |
| 临时账号 | guest_u,无网络、无 X |
边界
| 事项 | 说明 |
|---|---|
| 客户端 SELinux 状态 | 必须是 enforcing 或 permissive。disabled 时映射无效 |
| 生效时间 | 修改映射后用户重新登录才生效,已登录会话不变 |
| 作用范围 | 映射只改进程身份,不改文件标签。staff_u 访问不了的路径需要另配策略 |