Kerberos 主体を持っていないユーザーを、PAM を使用して既存の Kerberos レルムに自動的に移行できます。UNIX 資格の認識や Kerberos レルム内での再認証を処理するには、移行サーバーおよびマスターサーバー上のシステムごとの PAM 構成ファイルをカスタマイズします。
PAM については、Chapter 1, プラグイン可能認証モジュールの使用および pam.conf(4) のマニュアルページを参照してください。
この手順では、ログインサービス名が自動移行を使用するように構成されます。この例では、次の構成パラメータを使用します。
レルム名 = EXAMPLE.COM
マスター KDC = kdc1.example.com
移行サービスをホストするマシン = server1.example.com
移行サービス主体 = host/server1.example.com
始める前に
root 役割になる必要があります。詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
server1 の keytab ファイル内のホストサービス主体は、マスター KDC にサーバーを認証するために使用されます。
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM ...
このコマンドのオプションについては、klist(1) のマニュアルページを参照してください。
手順については、Kerberos クライアントの構成の例を参照してください。
詳細は、ユーザーごとの PAM ポリシーの割り当てを参照してください。
% grep PAM_POLICY /etc/security/policy.conf # PAM_POLICY specifies the system-wide PAM policy (see pam_user_policy(5)) ... PAM_POLICY=krb5_first
server1 # cd /etc/security/pam_policy/; cp krb5_first krb5_firstmigrate server1 # pfedit /etc/security/pam_policy/krb5_firstmigrate. # login service (explicit because of pam_dial_auth) # login auth requisite pam_authtok_get.so.1 ... login auth required pam_unix_auth.so.1 login auth optional pam_krb5_migrate.so.1 # # rlogin service (explicit because of pam_rhost_auth) # rlogin auth sufficient pam_rhosts_auth.so.1 ... rlogin auth required pam_unix_auth.so.1 rlogin auth optional pam_krb5_migrate.so.1 # # Kerberized rlogin service # krlogin auth required pam_unix_cred.so.1 krlogin auth required pam_krb5.so.1 krlogin auth optional pam_krb5_migrate.so.1 # # rsh service (explicit because of pam_rhost_auth) # rsh auth sufficient pam_rhosts_auth.so.1 rsh auth required pam_unix_cred.so.1 rsh auth optional pam_krb5_migrate.so.1 # # Kerberized rsh service # krsh auth required pam_unix_cred.so.1 krsh auth required pam_krb5.so.1 krsh auth optional pam_krb5_migrate.so.1 # # Kerberized telnet service # ktelnet auth required pam_unix_cred.so.1 ktelnet auth required pam_krb5.so.1 ktelnet auth optional pam_krb5_migrate.so.1 # # PPP service (explicit because of pam_dial_auth) # ppp auth requisite pam_authtok_get.so.1 ... ppp auth required pam_unix_auth.so.1 ppp auth optional pam_krb5_migrate.so.1 # # GDM Autologin (explicit because of pam_allow). These need to be # here as there is no mechanism for packages to amend pam.conf as # they are installed. # gdm-autologin auth required pam_unix_cred.so.1 gdm-autologin auth sufficient pam_allow.so.1 gdm-autologin auth optional pam_krb5_migrate.so.1 # # Default definitions for Authentication management # Used when service name is not explicitly mentioned for authentication # OTHER auth requisite pam_authtok_get.so.1 ... OTHER auth required pam_unix_auth.so.1 OTHER auth optional pam_krb5_migrate.so.1 # # passwd command (explicit because of a different authentication module) # passwd auth required pam_passwd_auth.so.1 # # cron service (explicit because of non-usage of pam_roles.so.1) # cron account required pam_unix_account.so.1 # # cups service (explicit because of non-usage of pam_roles.so.1) # cups account required pam_unix_account.so.1 # # GDM Autologin (explicit because of pam_allow) This needs to be here # as there is no mechanism for packages to amend pam.conf as they are # installed. #modified gdm-autologin account sufficient pam_allow.so.1 # . . .
新しく作成された Kerberos アカウントについて、pam_krb5_migrate エントリに –expire_pw オプションを追加することにより、パスワードの有効期限を現在の時間に設定します。詳細は、pam_krb5_migrate(5) のマニュアルページを参照してください。
service-name auth optional pam_krb5_migrate.so.1 expire_pw
# Definition for Account management # Used when service name is not explicitly mentioned for account management # Re-ordered pam_krb5 causes password expiration in Kerberos to block access # OTHER account requisite pam_roles.so.1 OTHER account required pam_krb5.so.1 OTHER account required pam_unix_account.so.1 OTHER account required pam_tsol_account.so.1 # OTHER account required pam_krb5.so.1 # . . .
server1 # pfedit /etc/security/policy.conf ... # PAM_POLICY=krb5_first PAM_POLICY=krb5_firstmigrate
詳細は、policy.conf ファイルを参照してください。
次のエントリにより、root ユーザーを除くすべてのユーザーの host/server1.example.com サービス主体に移行および照会権限が付与されます。U 権限を使用して、移行してはいけないユーザーを一覧表示します。これらのエントリは、permit all または ui エントリの前に置く必要があります。詳細は、kadm5.acl(4) のマニュアルページを参照してください。
kdc1 # pfedit /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM *
k5migrate サービスファイルが /etc/pam.d ディレクトリに含まれていない場合は、このサービスファイルをそのディレクトリに追加します。詳細は、pam.d(4) のマニュアルページを参照してください。
この変更によって、移行が必要なアカウントに対する UNIX ユーザーパスワードの検証が可能になります。
kdc1 # pfedit /etc/pam.d/k5migrate ... # Permits validation of migrated UNIX accounts auth required pam_unix_auth.so.1 account required pam_unix_account.so.1