32.3. 映射 SELinux 用户和 IdM 用户
SELinux 映射将本地系统中的 SELinux 用户上下文与域中的 IdM 用户或用户相关联。SELinux 映射有三个部分:SELinux 用户上下文和 IdM 用户主机对。IdM 用户主机对可以通过两种方式之一定义:可以为显式用户或主机组、显式主机或主机组设置它;或使用基于主机的访问控制规则来定义。
32.3.1. 在 Web UI 中
- 在顶部菜单中,点 Policy main 选项卡和 SELinux User Mappings 子选项卡。
- 在映射列表中,点按钮创建新映射。
- 输入映射的名称和 SELinux 用户。SELinux 用户的格式必须与如何在 IdM 服务器配置中显示的格式相同。SELinux 用户的格式为 SELinux_user:MLS[:MCS]。
- 点添加 IdM 用户信息。
- 要设置基于主机的访问控制规则,请从配置 常规 区域中的下拉菜单中选择规则。使用基于主机的访问控制规则还引入了对远程用户可用于访问目标计算机的主机的访问控制。只能分配基于主机的访问控制规则。注意基于主机的访问控制规则必须包含用户和主机,而不只是服务。或者,向下滚动 Users 和 Hosts 区域,然后单击 Add 链接,以将用户、用户组、主机或主机组分配给 SELinux 映射。选择左侧的用户(或主机或主机组),点击右箭头按钮(>&Prospective 列中,然后点击 按钮将它们添加到规则中。;)将它们移到注意只能使用一个选项:可以指定基于主机的访问控制规则,或者手动设置用户和主机。这两个选项不能同时使用。
- 点顶部的 Update 链接,将更改保存到 SELinux 用户映射。
32.3.2. 在 CLI 中
SELinux 映射规则有三个基本部分:
- SELinux 用户:
--selinuxuser
- 与 SELinux 用户关联的用户或用户组:
--users 或
--groups
- 与 SELinux 用户关联的主机或主机组:
--hosts 或
--hostgroups
- 或者,基于主机的访问控制规则指定其中的主机和用户:
--hbacrule
可以使用 selinuxusermap-add 命令一次创建有所有信息的规则。在分别使用 selinuxusermap-add-user 和 selinuxusermap-add-host 命令创建后,可以将用户和主机添加到规则中。
例 32.3. 创建新的 SELinux 映射
--selinuxuser
值必须是 SELinux 用户名,就像它出现在 IdM 服务器配置中一样。SELinux 用户的格式为 SELinux_user:MLS[:MCS]。
必须指定用户或用户组以及主机或主机组才能使 SELinux 映射生效。user、host 和 group 选项可以多次使用,也可以使用逗号分隔的花括号内列出一次,如 --option={val1,val2,val3}。
[user1@server ~]$ ipa selinuxusermap-add --selinuxuser="xguest_u:s0" selinux1 [user1@server ~]$ ipa selinuxusermap-add-user --users=user1 --users=user2 --users=user3 selinux1 [user1@server ~]$ ipa selinuxusermap-add-host --hosts=server.example.com --hosts=test.example.com selinux1
例 32.4. 使用基于主机的访问控制规则创建 SELinux map
hbacrule
值标识用于映射的基于主机的访问控制规则。使用基于主机的访问控制规则可介绍远程用户可用于访问目标计算机的主机的访问控制,以及在远程用户登录目标计算机后应用 SELinux 上下文。
访问控制规则必须相应地指定用户和主机,以便 SELinux 映射可以构建 SELinux 用户、IdM 用户和主机 triple。
只能指定基于主机的访问控制规则。
[user1@server ~]$ ipa selinuxusermap-add --hbacrule=webserver --selinuxuser="xguest_u:s0" selinux1
第 31 章 配置基于主机的访问控制 中描述了基于主机的访问控制规则。
例 32.5. 在 SELinux 映射中添加用户
可以将用户和主机添加到现有的映射中。这可以通过特定命令( selinuxusermap-add-user 或 selinuxusermap-add-host )完成。
[user1@server ~]$ ipa selinuxusermap-add-user --users=user1 selinux1
如果 selinuxusermap-mod 命令与
--hbacrule
选项一起使用,则新的 SELinux 映射会覆盖以前的 SELinux 映射。
例 32.6. 从 SELinux 映射中删除用户
通过使用 selinuxusermap-remove-host 或 selinuxusermap-remove-user 命令从 SELinux 映射中删除特定用户或主机。例如:
[user1@server ~]$ ipa selinuxusermap-remove-user --users=user2 selinux1