7.6. 用于自动为 AD 用户映射私有组的选项:POSIX 信任
Linux 环境中的每个用户都有一个主用户组。Red Hat Enterprise Linux (RHEL)使用用户私有组(UPG)方案:UPG 与其创建的用户的名称相同,且该用户是 UPG 的唯一成员。
如果您已为 AD 用户分配了 UID,但没有添加 GID,您可以通过调整该 ID 范围的 auto_private_groups 设置来根据其 UID 将 SSSD 配置成自动为用户映射私有组。
auto_private_groups=false默认情况下,对于 POSIX 信任中使用的
ipa-ad-trust-posixID 范围,auto_private_groups选项被设置为false。使用此配置,SSSD 会从每个 AD 用户条目中检索uidNumber和gidNumber。当auto_private_groups被设置为false时,SSSD 会将uidNumber值分配给用户的 UID,将gidNumber分配给用户的 GID。AD 中必须存在具有此 GID 的组,否则无法解析该用户。下表演示了基于各种 AD 配置的用户解析结果。Expand 表 7.2. 当 POSIX ID 范围的 auto_private_groups 变量设为 false 时 SSSD 的行为 AD 中的用户配置 id username的输出AD 用户条目有:
-
uidNumber= 4000 -
gidNumber未定义 -
在 AD 中没有
gidNumber= 4000 的组。
SSSD 无法解析用户。
AD 用户条目有:
-
uidNumber= 4000 -
gidNumber= 4000 -
在 AD 中没有
gidNumber= 4000 的组。
SSSD 无法解析用户。
AD 用户条目有:
-
uidNumber= 4000 -
gidNumber= 4000 -
AD 有
gidNumber= 4000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(adgroup@ad-domain.com) groups=4000(adgroup@ad-domain.com), …-
如果 AD 用户没有在 AD 中配置的主组,或者其 gidNumber 不对应于现有的组,则 IdM 服务器将无法正确解析该用户,因为它无法查找用户所属的所有组。要临时解决这个问题,您可以通过将 auto_private_groups 选项设为 true 或 混合 来在 SSSD 中启用自动私有组映射:
auto_private_groups = trueSSSD 始终映射设置了
gidNumber的私有组,以匹配 AD 用户条目中的uidNumber。Expand 表 7.3. 当 POSIX ID 范围的 auto_private_groups 变量设为 true 时的 SSSD 行为 AD 中的用户配置 id username的输出AD 用户条目有:
-
uidNumber= 4000 -
gidNumber未定义 - AD 没有 GID=4000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(aduser@ad-domain.com) groups=4000(aduser@ad-domain.com), …AD 用户条目有:
-
uidNumber= 4000 -
gidNumber= 5000 -
AD 没有具有
gidNumber= 5000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(aduser@ad-domain.com) groups=4000(aduser@ad-domain.com), …AD 用户条目有:
-
uidNumber= 4000 -
gidNumber= 4000 -
AD 没有
gidNumber= 4000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(aduser@ad-domain.com) groups=4000(aduser@ad-domain.com), …AD 用户条目有:
-
uidNumber= 4000 -
gidNumber= 5000 -
AD 有
gidNumber= 5000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(aduser@ad-domain.com) groups=4000(aduser@ad-domain.com), …-
auto_private_groups = hybrid如果
uidNumber值匹配gidNumber,但没有具有此gidNumber的组,则 SSSD 会将私有组映射为用户的主用户组,其gidNumber与uidNumber匹配。如果uidNumber和gidNumber值不同,并且有一个具有此gidNumber的组,则 SSSD 会使用gidNumber的值。Expand 表 7.4. 当 POSIX ID 范围的 auto_private_groups 变量设为 hybrid 时 SSSD 的行为 AD 中的用户配置 id username的输出具有以下情况的 AD 用户条目:
-
uidNumber= 4000 -
gidNumber未定义 -
AD 没有
gidNumber= 4000 的组。
SSSD 无法解析用户。
具有以下情况的 AD 用户条目:
-
uidNumber= 4000 -
gidNumber= 5000 -
AD 没有具有
gidNumber= 5000 的组。
SSSD 无法解析用户。
具有以下情况的 AD 用户条目:
-
uidNumber= 4000 -
gidNumber= 4000 -
AD 没有
gidNumber= 4000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=4000(aduser@ad-domain.com) groups=4000(aduser@ad-domain.com), …具有以下情况的 AD 用户条目:
-
uidNumber= 4000 -
gidNumber= 5000 -
AD 有
gidNumber= 5000 的组。
# id aduser@AD-DOMAIN.COMuid=4000(aduser@ad-domain.com) gid=5000(aduser@ad-domain.com) groups=5000(adgroup@ad-domain.com), …-