LoginSignup
0
0

RHEL をドメイン参加させる (SSSD)

Posted at

Introduction

SSSD で RHEL 9.3 のドメイン参加を検証したので、解説します。
Samba Winbind を使用した方法はこちらを参照してください。

どちらを使えばいい?となるかもしてませんが基本的に、SSSD がより新しく、多くの機能を提供します。その代替手段として Samba Winbind サービスがあります。それぞれ機能が異なるため、ご用件に合わせて選択してください。SSSD の利点としてはこちらをご参照ください。

Samba に関してはこちらをご参照ください。

SSSD に関して
RHEL を Active Directory (AD) に接続するには SSSD と realmd の2 つのコンポーネントが必要です。

  • SSSD: 中央の ID および、認証ソースとの相互作用します
  • realmd: 利用可能なドメインを検出して SSSD がドメインに接続できるように基盤となる RHEL システムサービスを提供します

Linux システムおよび Windows システムは、ユーザーおよびグループに異なる識別子を使用します。
その為、SSSD を使用し、 ID マッピングまたは POSIX 属性のいずれかを使用して AD と統合します。デフォルトでは ID マッピングが使用されます。

具体的な識別子の違いは以下です。

  • Linux では ユーザー ID (UID) と グループ ID (GID) が使用されます
  • Windows では セキュリティ ID (SID) が使用されます

そのため AD ユーザー用に新規 UID および GID を自動的に生成する必要があります。
また ID マッピングですが、POSIX ID を生成することで、 AD の SID と Linux の ID との間にマップを作成することで可能にります。

UID と GID の確認方法ですが id <ユーザー名> で確認が可能です。

image.png

また Kerberos 認証のために DC と RHEL システムのシステム時刻が同じことを確認してください。
ドメインコントローラー側で、net time をたたきます。
RHEL 側で date とコマンドを実行するとシステム時刻の確認ができます。

AD 参加のさせ方

SSSD を使用した AD 参加には ID マッピングと POSIX 属性の仕様の 2 通りあり、その方法を記載します。また以下が双方の違いとなります。

  • ID マッピング

    • ID マッピングは、AD ユーザーとグループの SID (セキュリティ識別子) を UNIX スタイルの UID (ユーザー ID) と GID (グループ ID) にマッピングします
    • この方法では、AD に POSIX 属性を追加する必要はありません。これは、ID マッピングが動的に行われ、AD のユーザーとグループが初めてアクセスしたときに UID と GID が割り当てられます
    • ID マッピングは、大規模な環境や、AD のスキーマを変更できない環境で便利です
  • POSIX 属性の使用

    • POSIX 属性を使用すると、AD ユーザーとグループに直接 UID、GID、ホームディレクトリ、ログインシェルなどの属性を設定できます
    • これには、AD スキーマが POSIX 属性をサポートするように拡張されている必要があります。これは通常、Identity Management for Unix コンポーネントをインストールすることで達成されます
    • POSIX 属性を使用すると、より細かい制御が可能になりますが、これらの属性を手動で設定する管理作業が必要になります

これらの方法は、それぞれ異なる利点と制約があります。適切な方法は、特定の要件と環境によります。たとえば、大規模な環境では ID マッピングが適しているかもしれませんが、特定のユーザーとグループに対して細かい制御が必要な場合は、POSIX 属性の使用が適しています。

ID マッピングを使用した ドメイン参加

前提として通信に必要なポートをご確認ください。

1. 対象の RHEL システムで以下のコマンドを実行してください。

yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
インストールするパッケージの内容
  • realmd:エンタープライズネットワークにシステムを参加させるためツールです
  • oddjob:D-Bus メッセージに基づいて特権タスクを実行するためのサービスとヘルパープログラムを提供します
  • oddjob-mkhomedir:ユーザーが初めてログインしたときにホームディレクトリを自動的に作成するための Oddjob ヘルパーです
  • sssd (System Security Services Daemon):システム認証、認可、およびユーザーとグループ情報の取得を管理するためのシステムサービスです
  • adcli:Active Directory ドメインに対して操作を行うためのコマンドラインツールです
  • krb5-workstation:Kerberos 認証プロトコルを使用するためのクライアントプログラムとユーティリティを提供します

2. 正しくインストールされたことを確認し、ドメイン参加させます。

realm join -U <AD ユーザー名> <ドメイン名>

image.png

ldap_id_mapping = true となっていることを確認します。

3. ドメイン名を確認します。

realm list

image.png

POSIX 属性を使用した ドメイン参加

前提として通信に必要なポートをご確認ください。

1. 以下のパッケージをインストールします

yum install realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation

2. 正しくインストールされたことを確認し、AD 参加させます。
realm join のコマンドで -automatic-id-mapping=no オプションを付けて実行して、ローカルの RHEL システムで ID マッピングを無効にします。

realm join --automatic-id-mapping=no -U <AD ユーザー名> <ドメイン名>

image.png

(2.)すでにドメインに参加している場合は, /etc/sssd/sssd.conf を開き
ldap_id_mapping = false と設定します。

image.png

これで、AD の POSIX 属性を使用する形になりました。

ドメインの Active Directory Users and Computers において、ドメイン参加させたコンピューターの Attribute Editor において、uidNumber, gidNumber, unixHomeDirectory, loginShell を設定してください。

image.png

  • uidNumber:ユーザーの一意の識別子。これは通常、自動的に割り当てられますが、必要に応じて手動で設定することもできます
  • gidNumber:ユーザーが属するプライマリグループの一意の識別子。これは通常、自動的に割り当てられますが、必要に応じて手動で設定することもできます
  • loginShell:ユーザーがログインしたときに起動するシェルです
  • unixHomeDirectory:ユーザーのホームディレクトリのパスです
    これらの手順を完了すると、AD ユーザーに POSIX 属性が設定されます。

3. realm list にて ドメインの確認をします.

image.png

共通の確認事項

ここからは ID マッピングを行った RHEL システムで他の確認事項をカバーします。

1. AD ドメインの AD 管理者アカウントなどの詳細を以下のコマンドで確認します。

getent passwd "<AD ユーザー名>@<ドメイン名>"
#または
getent passwd "<ドメイン名>\<AD ユーザー名>"

2. .次に RHELでドメインユーザーでログインできることを確認します。

su - azureadmin@lab001.local

その際以下のようにホームディレクトリが自動作成されます。

image.png

ドメインに参加できていることが確認できました。

4. Kerberos 認証が期待通りに機能することを確認します。
こちらは Samaba Windbind を使用したときと同じなので、

こちらを確認してください。

Wrap up

今回は SSSD を使用して、RHEL 9.3 を Windows Server 2022 の DC に参加させました。
Samba Winbind を使用した例は、上記の URL から参照してください。
ではでは

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0