3.4. Identity ドメインの検出および参加
realm discover コマンドは、完全なドメイン設定と、システムをドメインに登録するために必要なパッケージの一覧を返します。
realm join コマンドは、ローカルシステムサービスと、ID ドメインのエントリーの両方を設定し、指定されたドメインで使用するローカルマシンを設定します。realm join が実行するプロセスは、以下の手順に従います。
- 指定されたドメインの検出スキャンの実行
- システムをドメインに参加させるのに必要なパッケージの自動インストールこれには、SSSD および PAM ホームディレクトリーのジョブパッケージが含まれます。パッケージの自動インストールには、
PackageKit
スイートを実行する必要があることに注意してください。注記PackageKit
が無効になっていると、システムは足りないパッケージの入力を求められます。また、yum
ユーティリティーを使用して手動でインストールする必要があります。 - ディレクトリーにシステムのアカウントエントリーを作成してドメインに参加させる。
- ホストキータブファイル
/etc/krb5.keytab
の作成 - SSSD でドメインを設定して、サービスを再起動します。
- PAM 設定および
/etc/nsswitch.conf
ファイルで、システムサービスのドメインユーザーの有効化
ドメインの検出
オプションなしで実行すると、realm discover コマンドは、DHCP (Dynamic Host Configuration Protocol) を介して割り当てられたドメインであるデフォルトの DNS ドメインに関する情報を表示します。
# realm discover ad.example.com type: kerberos realm-name: AD.EXAMPLE.COM domain-name: ad.example.com configured: no server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common
特定のドメインの検出を実行することもできます。これを行うには、realm detect を実行して、検出するドメイン名を追加します。
# realm discover ad.example.com
realmd
システムは DNS SRV ルックアップを使用して、このドメイン内のドメインコントローラーを自動的に検索します。
注記
realm discover コマンドでは、NetworkManager を実行する必要があります。特に、NetworkManager の D-Bus インターフェイスにより異なります。システムが NetworkManager を使用しない場合は、必ず realm discover コマンドでドメイン名を指定します。
realmd
システムは、Active Directory ドメインと Identity Management ドメインの両方を検出できます。両方のドメインが環境に存在する場合は、特定タイプのサーバーに検出結果を絞り込むには --server-software
オプションを使用します。以下に例を示します。
# realm discover --server-software=active-directory
検出検索で返される属性の 1 つは
login-policy
で、参加が完了するとすぐにドメインユーザーがログインできるかどうかを示します。ログインがデフォルトで許可されていない場合は、realm permit コマンドを使用すると手動で許可できます。詳細は 「ドメインユーザーのログインパーミッションの管理」 を参照してください。
realm discover コマンドの詳細は、realm(8) の man ページを参照してください。
ドメインの参加
重要
Active Directory ドメインには、一意のコンピューター名を使用する必要があることに注意してください。NetBIOS コンピューター名と DNS ホスト名の両方を一意に定義し、相互に対応させる必要があります。
システムを ID ドメインに参加させるには、realm join コマンドを使用して、ドメイン名を指定します。
# realm join ad.example.com realm: Joined ad.example.com domain
デフォルトでは、参加はドメイン管理者として実行されます。AD の場合は、管理者アカウントは
Administrator
と呼ばれ、IdM の場合は admin
と呼ばれます。別のユーザーとして接続するには、-U
オプションを使用します。
# realm join ad.example.com -U user
コマンドは最初に認証情報なしで接続を試みますが、必要に応じてパスワードが要求されます。
Kerberos を Linux システムに適切に設定している場合は、認証のために Kerberos チケットに参加させることもできます。Kerberos プリンシパルを選択するには、
-U
オプションを使用します。
# kinit user # realm join ad.example.com -U user
realm join コマンドは、他にいくつかの設定オプションを受け入れます。realm join コマンドの詳細は、realm(8) の man ページを参照してください。
例3.1 システムをドメインに登録する手順の例
- realm discover コマンドを実行して、ドメインに関する情報を表示します。
# realm discover ad.example.com ad.example.com type: kerberos realm-name: AD.EXAMPLE.COM domain-name: ad.example.com configured: no server-software: active-directory client-software: sssd
- realm join コマンドを実行し、ドメイン名をコマンドに渡します。システムから要求された場合は、管理者パスワードを入力します。
# realm join ad.example.com Password for Administrator: password
ドメインを検出または参加すると、
realmd
は DNS SRV レコードを確認します。
- Identity Management レコードの場合は
_ldap._tcp.domain.example.com.
- Active Directory レコードの場合は
_LDAP._tcp.dc._msdcs.domain.example.com.
AD が設定されている場合に、レコードがデフォルトで作成されます。これにより、サービス検出で検索が可能になります。
ドメイン参加後のシステム設定のテスト
システムがドメインに正常に登録されているかどうかをテストするには、ドメインのユーザーとしてログインし、ユーザー情報が正しく表示されることを確認します。
- id user@domain_name コマンドを実行して、ドメインのユーザーに関する情報を表示します。
# id user@ad.example.com uid=1348601103(user@ad.example.com) gid=1348600513(domain group@ad.example.com) groups=1348600513(domain group@ad.example.com)
ssh
ユーティリティーを使用して、同じユーザーとしてログインします。# ssh -l user@ad.example.com linux-client.ad.example.com user@ad.example.com@linux-client.ad.example.com's password: Creating home directory for user@ad.example.com.
pwd
ユーティリティーがユーザーのホームディレクトリーを出力することを確認します。$ pwd /home/ad.example.com/user
id
ユーティリティーが最初の手順の id user@domain_name コマンドと同じ情報を出力することを確認します。$ id uid=1348601103(user@ad.example.com) gid=1348600513(domain group@ad.example.com) groups=1348600513(domain group@ad.example.com) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
kinit
ユーティリティーは、ドメインの参加が成功したかどうかをテストする場合にも役に立ちます。ユーティリティーを使用するには、krb5-workstation パッケージをインストールする必要があることに注意してください。