デフォルトの Kerberos 環境では、制限された時間が経過すると資格は期限切れになります。cron や at などの、いつでも実行される場合があるプロセスでは、この制限された時間によって問題が発生します。この手順では、Kerberos による認証されたサービスを必要とする遅延実行プロセスをサポートするように Kerberos 環境を構成する方法について説明します。Oracle Solaris は PAM モジュールを提供し、サービス鍵を使用し、さらに kclient 構成オプションを使用することによって Kerberos 認証による遅延実行を可能にし、またそれを代替の解決方法よりセキュアなものにしています。
この手順では、次の構成パラメータを使用します。
cron ホスト = host1.example.com
NFS サーバー = host2.example.com
LDAP サーバー = host3.example.com
詳細は、kclient(1M) のマニュアルページを参照してください。
たとえば、次のコマンドは、EXAMPLE.COM レルム内にクライアントを構成します。このコマンドでは、include メカニズムを使用して、/etc/pam.d/cron サービスファイル内に pam_gss_s4u ファイルを含めています。
# kclient -s cron:optional -R EXAMPLE.COM
cron サービスのための PAM 構成に pam_gss_s4u ファイルが含まれていることを確認します。
# cd /etc/pam.d ; cp cron cron.orig # pfedit cron # PAM include file for optional set credentials # through Kerberos keytab and GSS-API S4U support auth include pam_gss_s4u
例:
# kadmin -p kws/admin Enter password: xxxxxxxx kadmin: modprinc +ok_as_delegate host/host1.example.com@EXAMPLE.COM Principal host/host1.example.com@EXAMPLE.COM modified.
kadmin: modprinc +ok_to_auth_as_delegate host/host1.example.com@EXAMPLE.COM Principal host/host1.example.com@EXAMPLE.COM modified. kadmin: quit
たとえば、cron ホストが host2 (Kerberos NFS サーバー) 上のユーザーのホームディレクトリにアクセスできるようにするには、その NFS ホストを cron サーバーの LDAP 定義内の krbAllowedToDelegateTo パラメータに追加します。
# pfedit /tmp/delghost.ldif dn: krbprincipalname=host/host1.example.com@EXAMPLE.COM,cn=EXAMPLE.COM,cn=krbcontainer,dc=example,dc=com changetype: modify krbAllowedToDelegateTo: nfs/host2.example.com@EXAMPLE.COM
# ldapmodify -h host3 -D "cn=directory manager" -f delghost.ldif