7.7. 用于自动为 AD 用户映射私有组的选项:POSIX 信任
Linux 环境中的每个用户都有一个主用户组。Red Hat Enterprise Linux(RHEL)使用用户私有组(UPG)模式:UPG 与其创建的用户的名称相同,并且该用户是 UPG 的唯一成员。
如果您已为 AD 用户分配了 UID,但没有添加 GID,您可以通过调整该 ID 范围的 auto_private_groups 设置来根据其 UID 将 SSSD 配置成自动为用户映射私有组。
默认情况下,auto_private_groups 选项对于 POSIX 信任中使用的 ipa-ad-trust-posix
ID ranges 被设为 false。使用此配置,SSSD 会从每个 AD 用户条目中检索 uidNumber
和 gidNumber
。
- auto_private_groups = false
SSSD 将
uidNumber
值分配给用户的 UID,将gidNumber
分配给用户的 GID。AD 中必须存在具有此 GID 的组,否则无法解析该用户。下表显示了您是否能够根据不同的 AD 配置解析 AD 用户。表 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.COM
uid=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 = true
SSSD 始终映射设置了
gidNumber
的私有组,以匹配 AD 用户条目中的uidNumber
。表 7.3. 当 POSIX ID 范围的 auto_private_groups 变量设为 true 时 SSSD 的行为 AD 中的用户配置 id username
的输出AD 用户条目有:
-
uidNumber
= 4000 -
gidNumber
未定义 - AD 没有 GID=4000 的组。
# id aduser@AD-DOMAIN.COM
uid=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.COM
uid=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.COM
uid=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.COM
uid=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
的值。表 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.COM
uid=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.COM
uid=4000(aduser@ad-domain.com) gid=5000(aduser@ad-domain.com) groups=5000(adgroup@ad-domain.com), …
-