5.4. Linux クライアントの手動設定
ipa-client-install コマンドは、Kerberos、SSSD、PAM、NSS などのサービスを自動的に設定します。ただし、何らかの理由で ipa-client-install コマンドをシステムで使用できない場合は、IdM クライアントエントリーとサービスを手動で設定できます。
5.4.1. IdM クライアントの設定 (全手順)
- SSSD がインストールされていない場合はインストールしてください。
- 任意。ホストから管理タスクを実行できるように IdM ツールをインストールします。
[root@client ~]# yum install ipa-admintools
- IdM サーバーで、クライアントのホストエントリーを作成します。
[jsmith@client ~]$ kinit admin [jsmith@client ~]$ ipa host-add --force --ip-address=192.168.166.31 ipaclient.example.com
ホストを手動で作成する方法は、「ホストエントリーを追加する他の例」を参照してください。 - IdM サーバーで、クライアントの Keytab を作成します。
- IdM 管理者としてログインします。
[jsmith@client ~]$ kinit admin
- サーバーが管理するクライアントホストを設定します。
[jsmith@client ~]$ ipa host-add-managedby --hosts=server.example.com ipaclient.example.com
- クライアントの keytab を生成します。
[jsmith@client ~]$ ipa-getkeytab -s server.example.com -p host/ipaclient.example.com -k /tmp/ipaclient.keytab
- Keytab をクライアントマシンにコピーし、名前を
/etc/krb5.keytab
に変更します。ヒント既存の/etc/krb5.keytab
を保存する必要がある場合には、ktutil を使用してこの 2 つのファイルを統合できます。 /etc/krb5.keytab
ファイルのユーザーパーミッションを正しく設定します。[root@client ~]# chown root:root /etc/krb5.keytab [root@client ~]# chmod 0600 /etc/krb5.keytab
/etc/krb5.keytab
ファイルの SELinux コンテキストを設定します。[root@client ~]# chcon system_u:object_r:krb5_keytab_t:s0 /etc/krb5.keytab
/etc/sssd/sssd.conf
ファイルを編集して、SSSD が IdM ドメインを参照するように設定します。[root@client ~]# touch /etc/sssd/sssd.conf [root@client ~]# vim /etc/sssd/sssd.conf [sssd] config_file_version = 2 services = nss, pam domains = example.com [nss] [pam] [domain/example.com] cache_credentials = True krb5_store_password_if_offline = True ipa_domain = example.com id_provider = ipa auth_provider = ipa access_provider = ipa ipa_hostname = ipaclient.example.com chpass_provider = ipa ipa_server = server.example.com ldap_tls_cacert = /etc/ipa/ca.crt
- パスワード、グループ、ユーザー、および netgroups に SSSD を使用するように NSS を設定します。
[root@client ~]# vim /etc/nsswitch.conf ... passwd: files sss shadow: files sss group: files sss ... netgroup: files sss ...
/etc/krb5.conf
ファイルで、IdM KDC を参照するように設定します。[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false rdns = false ticket_lifetime = 24h forwardable = yes allow_weak_crypto = true [realms] EXAMPLE.COM = { kdc = server.example.com:88 admin_server = server.example.com:749 default_domain = example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM
pam_sss.so
モジュールを使用するように、/etc/pam.d
設定を更新します。/etc/pam.d/fingerprint-auth
の場合:... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... session optional pam_sss.so
/etc/pam.d/system-auth
の場合:... auth sufficient pam_sss.so use_first_pass ... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... password sufficient pam_sss.so use_authtok ... session optional pam_sss.so
/etc/pam.d/password-auth
の場合:... auth sufficient pam_sss.so use_first_pass ... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... password sufficient pam_sss.so use_authtok ... session optional pam_sss.so
- Enrollment_with_Separation_of_Duties
/etc/pam.d/smartcard-auth
の場合:... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... session optional pam_sss.so
- IdM サーバーの CA 証明書をインストールします。
- サーバーから証明書を取得します。
[root@ipaclient ~]# wget -O /etc/ipa/ca.crt http://ipa.example.com/ipa/config/ca.crt
- システムの NSS データベースに証明書をインストールします。
[root@ipaclient ~]# certutil -A -d /etc/pki/nssdb -n "IPA CA" -t CT,C,C -a -i /etc/ipa/ca.crt
- IdM にホストのホスト証明書を設定します。
- certmonger が実行されていることを確認します。
[root@ipaclient ~]# service certmonger start
ヒントcertmonger サービスがデフォルトで起動するように、chkconfig を設定します。[root@ipaclient ~]# chkconfig certmonger on
[root@ipaclient ~]# ipa-getcert request -d /etc/pki/nssdb -n Server-Cert -K HOST/ipaclient.example.com -N 'CN=ipaclient.example.com,O=EXAMPLE.COM'
クライアントに管理ツールがインストールされていない場合は、IdM サーバーで証明書を生成し、ホストにコピーして、certutil を使用してインストールできます。 - Kerberos と連携するように NFS を設定します。ヒントNFS の設定時に発生する可能性のあるエラーをトラブルシューティングできるように、
/etc/sysconfig/nfs
ファイルでデバッグ情報を有効にします。RPCGSSDARGS="-vvv" RPCSVCGSSDARGS="-vvv"
- IdM サーバーで、NFS クライアントの NFS サービスプリンシパルを追加します。
[root@ipaclient ~]# ipa service-add nfs/ipaclient.example.com@EXAMPLE
注記これは、ipa コマンドを使用できるように、ipa-admintools パッケージがインストールされているマシンから実行する必要があります。 - IdM サーバーで、NFS サービスプリンシパルの keytab を取得します。
[root@ipaclient ~]# ipa-getkeytab -s server.example.com -p nfs/ipaclient.example.com@EXAMPLE -k /tmp/krb5.keytab
注記Linux の NFS 実装バージョンによっては、暗号化タイプのサポートが限定されます。Red Hat Enterprise Linux 6 よりも前のバージョンで NFS サーバーをホストしている場合は、サーバーおよびすべてのクライアントの両方で、任意の nfs/<FQDN> サービスキータブをサーバーと全クライアント両方で設定するように、-e des-cbc-crc
オプションを指定して ipa-getkeytab コマンドを実行します。これにより、KDC で DES キーのみが生成されるように指示します。DES キーを使用する場合、この暗号化タイプに依存するクライアントおよびサーバーではすべて、/etc/krb5.conf
ファイルの [libdefaults] セクションでallow_weak_crypto
オプションを有効にする必要があります。これらの設定変更を行わない場合には、NFS クライアントとサーバーは相互に認証できず、NFS ファイルシステムのマウントに失敗する可能性があります。クライアントの rpc.gssd とサーバーの rpc.svcgssd デーモンは、DES の暗号化タイプが許可されていないことを示すエラーをログに記録する場合があります。 - IdM サーバーから NFS サーバーにキータブをコピーします。たとえば、IdM サーバーと NFS サーバーが異なるマシンにある場合は、以下を実行します。
[root@ipaclient ~]# scp /tmp/krb5.keytab root@nfs.example.com:/etc/krb5.keytab
- IdM サーバーから IdM クライアントにキータブをコピーします。たとえば、以下のようになります。
[root@ipaclient ~]# scp /tmp/krb5.keytab root@client.example.com:/etc/krb5.keytab
- NFS サーバーで
/etc/exports
ファイルを設定します。/ipashare gss/krb5p(rw,no_root_squash,subtree_check,fsid=0)
- クライアントで NFS 共有をマウントします。
- 共有は必ず、nfs_server:/ /mountpoint と指定します。
-o sec
設定は、NFS サーバーの/etc/exports
ファイルで使用する設定と同じものを使用します。
[root@client ~]# mount -v -t nfs4 -o sec=krb5p nfs.example.com:/ /mnt/ipashare