Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.4. Identity ドメインの検出および参加

realm discover コマンドは、完全なドメイン設定と、システムをドメインに登録するために必要なパッケージの一覧を返します。
realm join コマンドは、ローカルシステムサービスと、ID ドメインのエントリーの両方を設定し、指定されたドメインで使用するローカルマシンを設定します。realm join が実行するプロセスは、以下の手順に従います。
  1. 指定されたドメインの検出スキャンの実行
  2. システムをドメインに参加させるのに必要なパッケージの自動インストール
    これには、SSSD および PAM ホームディレクトリーのジョブパッケージが含まれます。パッケージの自動インストールには、PackageKit スイートを実行する必要があることに注意してください。
    注記
    PackageKit が無効になっていると、システムは足りないパッケージの入力を求められます。また、yum ユーティリティーを使用して手動でインストールする必要があります。
  3. ディレクトリーにシステムのアカウントエントリーを作成してドメインに参加させる。
  4. ホストキータブファイル /etc/krb5.keytab の作成
  5. SSSD でドメインを設定して、サービスを再起動します。
  6. 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 システムをドメインに登録する手順の例

  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
    
  2. 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 が設定されている場合に、レコードがデフォルトで作成されます。これにより、サービス検出で検索が可能になります。

ドメイン参加後のシステム設定のテスト

システムがドメインに正常に登録されているかどうかをテストするには、ドメインのユーザーとしてログインし、ユーザー情報が正しく表示されることを確認します。
  1. 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)
    
  2. 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.
    
  3. pwd ユーティリティーがユーザーのホームディレクトリーを出力することを確認します。
    $ pwd
    /home/ad.example.com/user
    
  4. 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 パッケージをインストールする必要があることに注意してください。