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

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 コマンドをオプションなしで実行すると、デフォルトの DNS ドメインについての情報が表示されます。これは、Dynamic Host Configuration Protocol (DHCP) で割り当てられるドメインになります。
# 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 discover に検出するドメイン名を追記します。
# 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_ldap._tcp.domain.example.com.Management レコードの場合は  
  • Active_ldap._tcp.dc._msdcs.domain.example.com.Directory レコードの場合は  
レコードは 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 パッケージがインストールされている必要があります。