Red Hat Training

A Red Hat training course is available for RHEL 8

7.6. AD ユーザーのプライベートグループを自動的にマッピングするためのオプション: POSIX の信頼

Linux 環境の各ユーザーには、プライマリーユーザーグループがあります。Red Hat Enterprise Linux (RHEL) は、ユーザープライベートグループ (UPG) スキームを使用します。UPG は、作成したユーザーと同じ名前で、そのユーザーが UPG の唯一のメンバーになります。

AD ユーザーに UID を割り当てているものの、GID が追加されていない場合は、その ID 範囲の auto_private_groups 設定を調整することで、UID に基づいてユーザーのプライベートグループを自動的にマッピングするように SSSD を設定できます。

デフォルトでは、POSIX 信頼で使用される ipa-ad-trust-posix ID 範囲では、auto_private_groups オプションは false に設定されています。この設定により、SSSD は、AD ユーザーエントリーごとに uidNumbergidNumber を取得します。

auto_private_groups = false

SSSD は、uidNumber の値をユーザーの UID に割り当て、gidNumber をユーザーの GID に割り当てます。その GID を持つグループが AD に存在している必要があります。存在していないと、そのユーザーを解決できません。以下の表は、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.COMuid=4000(aduser@ad-domain.com) gid=4000(adgroup@ad-domain.com) groups=4000(adgroup@ad-domain.com), …​

AD ユーザーにプライマリーグループが設定されていないか、その gidNumber が既存のグループに対応していない場合、IdM サーバーは、そのユーザーが属するすべてのグループを検索できないため、そのユーザーを正しく解決できません。この問題を回避するには、auto_private_groups オプションを true または hybrid に設定して、SSSD で自動プライベートグループマッピングを有効にできます。

auto_private_groups = true

SSSD は、AD ユーザーエントリーの uidNumber に一致するように設定された gidNumber で、常にプライベートグループをマッピングします。

表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 は、プライベートグループを、ユーザーのプライマリーユーザーグループとして、uidNumber に一致する gidNumber でマッピングします。uidNumbergidNumber の値が異なり、この 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.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), …​