Kerberos 主体を持たないユーザーを、既存の Kerberos レルムに自動的に移行できます。移行を行うには、/etc/pam.conf のサーバーの認証スタックにある pam_krb5_migrate モジュールの積み重ねにより使用されているサービス用の PAM フレームワークを使用します。
この例では、dtlogin と other の PAM サービス名が構成され、自動移行を使用します。この手順では、次の構成パラメータを使用します。
レルム名 = EXAMPLE.COM
マスター KDC = kdc1.example.com
移行サービスをホストするマシン = server1.example.com
移行サービス主体 = host/server1.example.com
レルム EXAMPLE.COM の Kerberos クライアントとして server1 を設定します。詳細は、「Kerberos クライアントの構成」を参照してください。
server1 のホストサービス主体が存在するかどうかを確認します。
server1 の keytab ファイル内のホストサービス主体は、マスター KDC にサーバーを認証するために使用されます。
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM |
PAM 構成ファイルを変更します。
dtlogin サービスのエントリを追加します。
# cat /etc/pam.conf . . # # dtlogin service (explicit because of pam_krb5_migrate) # dtlogin auth requisite pam_authtok_get.so.1 dtlogin auth required pam_dhkeys.so.1 dtlogin auth required pam_unix_cred.so.1 dtlogin auth sufficient pam_krb5.so.1 dtlogin auth requisite pam_unix_auth.so.1 dtlogin auth optional pam_krb5_migrate.so.1 |
(省略可能) 必要に応じて、即座のパスワードの変更を強制します。
新しく作成された Kerberos アカウントは、即座の Kerberos パスワードの変更を強制するために、パスワードの有効期限が現在時刻 (今) に設定されています。有効期限を現在時刻に設定するには、pam_krb5_migrate モジュールを使用する行に expire_pw オプションを追加します。詳細は、pam_krb5_migrate(5) のマニュアルページを参照してください。
# cat /etc/pam.conf . . dtlogin auth optional pam_krb5_migrate.so.1 expire_pw |
pam_krb5 モジュールをアカウントスタックに追加します。
この追加により、Kerberos のパスワードの有効期限でアクセスをブロックできるようになります。
# cat /etc/pam.conf . . # # Default definition for Account management # Used when service name is not explicitly mentioned for account management # other account requisite pam_roles.so.1 other account required pam_krb5.so.1 other account required pam_unix_account.so.1 |
pam_krb5 モジュールをパスワードスタックに追加します。
この追加により、パスワードが期限切れになったらパスワードを更新できるようになります。
# cat /etc/pam.conf . . # # Default definition for Password management # Used when service name is not explicitly mentioned for password management # other password required pam_dhkeys.so.1 other password requisite pam_authtok_get.so.1 other password requisite pam_authtok_check.so.1 other password sufficient pam_krb5.so.1 other password required pam_authtok_store.so.1 |
マスター KDC 上で、アクセス制御ファイルを更新します。
次のエントリが、root 以外のすべてのユーザーの host/server1.example.com サービス主体に対して、次のエントリは特権の付与、移行、および照会を行います。移行すべきでないユーザーは、kadm5.acl ファイル内で、U 特権を使って示されます。これらのエントリは、permit all または ui エントリの前に置く必要があります。詳細は、kadm5.acl(4) のマニュアルページを参照してください。
kdc1 # cat /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM * |
マスター KDC 上で、Kerberos 管理デーモンを再起動します。
この手順により、kadmind デーモンが新しい kadm5.acl エントリを使用できるようになります。
kdc1 # svcadm restart network/security/kadmin |
マスター KDC 上で、pam.conf ファイルにエントリを追加します。
次のエントリにより、kadmind デーモンが k5migrate PAM サービスを使用して、移行に必要なアカウントの UNIX ユーザーパスワードを検査できるようになります。
# grep k5migrate /etc/pam.conf k5migrate auth required pam_unix_auth.so.1 k5migrate account required pam_unix_account.so.1 |