Solaris のシステム管理 (セキュリティサービス)

Kerberos クライアントの構成

Kerberos クライアントは、Kerberos サービスを使用する同じネットワーク上のすべてのホスト (KDC サーバーを除く) です。この節では、Kerberos クライアントのインストール手順と、root 認証を使用して NFS ファイルシステムをマウントする方法について説明します。

Kerberos クライアントの構成 (作業マップ)

次の作業マップは、Kerberos クライアントの設定に関連するすべての手順が含まれます。各行には、作業識別名、その作業を行う理由、および作業へのリンクが含まれます。

作業 

説明 

参照先 

Kerberos クライアントのインストールプロファイルを確立します。 

Kerberos クライアントの自動インストールに使用されるクライアントのインストールプロファイルを生成します。 

「Kerberos クライアントのインストールプロファイルの作成方法」

Kerberos クライアントを構成します。 

手動で Kerberos クライアントをインストールします。各クライアントのインストールに独自のインストールパラメータが必要な場合に、この手順を使用します。 

「Kerberos クライアントを手動で構成する方法」

 

自動的に Kerberos クライアントをインストールします。各クライアントのインストールパラメータが同じ場合に、この手順を使用します。 

「Kerberos クライアントを自動的に構成する方法」

 

対話的に Kerberos クライアントをインストールします。2、3 のインストールパラメータを変更する必要がある場合にだけ、この手順を使用します。 

「Kerberos クライアントを対話的に構成する方法」

クライアントが root ユーザーとして NFS ファイルシステムにアクセスすることを許可します

root アクセス付きで共有される NFS ファイルシステムをクライアントがマウントできるように、root 主体をクライアント上に作成します。また、cron ジョブを実行できるように、NFS ファイルシステムへの非対話的な root アクセスをクライアントがセットアップすることを許可します。

「Kerberos によって保護された NFS ファイルシステムに root ユーザーとしてアクセスする方法」

クライアントのチケット認可チケット (TGT) を発行した KDC の確認を無効にします。 

ローカルのキータブファイルにホスト主体を保存しないクライアントが、TGT を発行した KDC とホスト主体を発行した KDC が同じサーバーであることを確認するセキュリティー検査を省略できるようにします。 

「チケット認可チケット (TGT) の確認を無効にする方法」

ProcedureKerberos クライアントのインストールプロファイルの作成方法

この手順は、Kerberos クライアントをインストールする際に使用される kclient プロファイルを作成します。kclient プロファイルを使用することにより、入力エラーの可能性を減らします。また、プロファイルを使用すると、対話型のプロセスと比べて、ユーザーの介入も減ります。

  1. スーパーユーザーになります。

  2. kclient インストールプロファイルを作成します。

    kclient プロファイルの例は、次のようになります。


    client# cat /net/denver.example.com/export/install/profile
    REALM EXAMPLE.COM
    KDC kdc1.example.com
    ADMIN clntconfig
    FILEPATH /net/denver.example.com/export/install/krb5.conf
    NFS 1
    DNSLOOKUP none

ProcedureKerberos クライアントを自動的に構成する方法

始める前に

この手順では、インストールプロファイルを使用します。 「Kerberos クライアントのインストールプロファイルの作成方法」を参照してください。

  1. スーパーユーザーになります。

  2. kclient インストールスクリプトを実行します。

    プロセスを完了するには、clntconfig 主体のパスワードを入力する必要があります。


    client# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile
    
    Starting client setup
    ---------------------------------------------------
    
    kdc1.example.com
    
    Setting up /etc/krb5/krb5.conf.
    
    Obtaining TGT for clntconfig/admin ...
    Password for clntconfig/admin@EXAMPLE.COM: <Type the password>
    
    nfs/client.example.com entry ADDED to KDC database.
    nfs/client.example.com entry ADDED to keytab.
    
    host/client.example.com entry ADDED to KDC database.
    host/client.example.com entry ADDED to keytab.
    
    Copied /net/denver.example.com/export/install/krb5.conf.
    
    ---------------------------------------------------
    Setup COMPLETE.
    
    client#

例 23–7 コマンド行指定の優先を利用して Kerberos クライアントを自動的に構成する

次の例は、インストールプロファイルに設定されている DNSARG パラメータと KDC パラメータに対しコマンド行での指定が優先します。


# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile\
-d dns_fallback -k kdc2.example.com

Starting client setup
---------------------------------------------------

kdc1.example.com

Setting up /etc/krb5/krb5.conf.

Obtaining TGT for clntconfig/admin ...
Password for clntconfig/admin@EXAMPLE.COM: <Type the password>

nfs/client.example.com entry ADDED to KDC database.
nfs/client.example.com entry ADDED to keytab.

host/client.example.com entry ADDED to KDC database.
host/client.example.com entry ADDED to keytab.

Copied /net/denver.example.com/export/install/krb5.conf.

---------------------------------------------------
Setup COMPLETE.

client#

ProcedureKerberos クライアントを対話的に構成する方法

この手順では、インストールプロファイルなしで kclient インストールユーティリティーを使用します。

  1. スーパーユーザーになります。

  2. kclient インストールスクリプトを実行します。

    インストールには、次の情報が必要です。

    • Kerberos レルム名

    • KDC マスターホスト名

    • 管理主体名

    • 管理主体のパスワード


例 23–8 kclient インストールユーティリティーの実行

次の出力は、kclient コマンドの実行結果を示しています。


client# /usr/sbin/kclient

Starting client setup
---------------------------------------------------

Do you want to use DNS for kerberos lookups ? [y/n]: n
        No action performed.
Enter the Kerberos realm: EXAMPLE.COM
Specify the KDC hostname for the above realm: kdc1.example.com

Setting up /etc/krb5/krb5.conf.

Enter the krb5 administrative principal to be used: clntconfig/admin
Obtaining TGT for clntconfig/admin ...
Password for clntconfig/admin@EXAMPLE.COM: <Type the password>
Do you plan on doing Kerberized nfs ? [y/n]: n

host/client.example.com entry ADDED to KDC database.
host/client.example.com entry ADDED to keytab.

Do you want to copy over the master krb5.conf file ? [y/n]: y
Enter the pathname of the file to be copied: \
/net/denver.example.com/export/install/krb5.conf

Copied /net/denver.example.com/export/install/krb5.conf.

---------------------------------------------------
Setup COMPLETE !
#

ProcedureKerberos クライアントを手動で構成する方法

この手順では、次の構成パラメータを使用します。

  1. スーパーユーザーになります。

  2. Kerberos 構成ファイル (krb5.conf) を編集します。

    デフォルトの Kerberos ファイルを変更する場合は、レルム名とサーバー名を変更する必要があります。gkadmin のヘルプファイルへのパスも指定する必要があります。


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = EXAMPLE.COM
    
    [realms]
            EXAMPLE.COM = {
            kdc = kdc1.example.com
            kdc = kdc2.example.com
            admin_server = kdc1.example.com
            }
    
    [domain_realm]
            .example.com = EXAMPLE.COM
    #
    # if the domain name and realm name are equivalent, 
    # this entry is not needed
    #
    [logging]
            default = FILE:/var/krb5/kdc.log
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
            help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
    

    注 –

    暗号化タイプを制限する場合は、default_tkt_enctypes または default_tgs_enctypes の行を設定します。暗号化タイプの制限に関する詳細は、「Kerberos 暗号化タイプの使用」を参照してください。


  3. (省略可能) KDC の検出に使用されるプロセスを変更します。

    Solaris 10 5/08 リリース以降のデフォルトでは、Kerberos レルムから KDC へのマッピングが決定される順序は次のとおりです。

    • krb5.conf 内の realms セクションの定義。

    • DNS 内の SRV レコードの検索による。

    krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加して、この動作を変更できます。詳細は、krb5.conf(4) のマニュアルページを参照してください。常にリフェラルが最初に試行されます。

  4. (省略可能) ホストのレルムの決定に使用されるプロセスを変更します。

    Solaris 10 5/08 リリース以降のデフォルトでは、ホストからレルムへのマッピングが決定される順序は次のとおりです。

    • KDC がリフェラルをサポートしている場合は、KDC からクライアントに、ホストが属しているレルムが通知されることがある。

    • krb5.conf ファイル内の domain_realm の定義による。

    • ホストの DNS ドメイン名。

    • デフォルトレルム。

    krb5.conf ファイルの libdefaults セクションに dns_lookup_kdc または dns_fallback を追加して、この動作を変更できます。詳細は、krb5.conf(4) のマニュアルページを参照してください。常にリフェラルが最初に試行されます。

  5. (省略可能) NTP などのクロック同期メカニズムを使用して、クライアントのクロックをマスター KDC のクロックと同期化します。

    Network Time Protocol (NTP) のインストールと使用は必要はありません。ただし、認証が正常終了するには、すべてのクロックが、krb5.conf ファイル内の clockskew 関係指定子で定義されている最大の誤差以内で KDC サーバー上の時刻と同期化されている必要があります。NTP については、「KDC と Kerberos クライアントのクロックの同期化」を参照してください。

  6. kadmin を起動します。

    Kerberos グラフィカル管理ツールを使って主体を追加する方法については、「新しい Kerberos 主体を作成する方法」を参照してください。追加するときは、マスター KDC を構成するときに作成した admin 主体名を使用してログインする必要があります。ただし、次の例では、コマンド行を使用して、必要な主体を追加しています。


    denver # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. (省略可能) ユーザー主体が存在しない場合は、ユーザー主体を作成します。

      このホストに関連付けられているユーザーに主体が割り当てられていない場合だけ、ユーザー主体を作成します。


      kadmin: addprinc mre
      Enter password for principal mre@EXAMPLE.COM: <Type the password>
      Re-enter password for principal mre@EXAMPLE.COM: <Type it again>
      kadmin: 
    2. (省略可能) root 主体を作成し、その主体をサーバーのキータブファイルに追加します。

      この手順は、クライアントが NFS サービスによってマウントされたファイルシステムに root アクセスを持つために必要です。また、cron ジョブを root として実行する場合など、非対話的な root アクセスが必要な場合にもこの手順が必要になります。

      クライアントが NFS サービスを使用してマウントされている遠隔ファイルシステムへの root アクセスを必要としない場合は、この手順をスキップできます。root 主体は 2 つの構成要素主体とすべきであり、二番目の構成要素は Kerberos クライアントシステムのホスト名にして、レルム幅の root 主体の作成を回避します。主体のインスタンスがホスト名のときは、/etc/resolv.conf ファイル内のドメイン名が大文字であるか小文字であるかに関係なく、FQDN は小文字で指定する必要があります。


      kadmin: addprinc -randkey root/client.example.com
      Principal "root/client.example.com" created.
      kadmin: ktadd root/client.example.com
      Entry for principal root/client.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    3. host 主体を作成し、その主体をサーバーのキータブファイルに追加します。

      host 主体は、認証を提供するために遠隔アクセスサービスによって使用されます。キータブファイルにまだ資格が存在しない場合は、この主体によって root が資格を取得できるようになります。


      kadmin: addprinc -randkey host/denver.example.com
      Principal "host/denver.example.com@EXAMPLE.COM" created.
      kadmin: ktadd host/denver.example.com
      Entry for principal host/denver.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/denver.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/denver.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin:
    4. (省略可能) サーバーの NFS サービス主体をサーバーのキータブファイルに追加します。

      この手順が必要になるのは、クライアントが Kerberos 認証を使用する NFS ファイルシステムにアクセスする必要がある場合だけです。


      kadmin: ktadd nfs/denver.example.com
      Entry for principal nfs/denver.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal nfs/denver.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal nfs/denver.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal nfs/denver.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal nfs/denver.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    5. kadmin を終了します。


      kadmin: quit
      
  7. (省略可能) NFS での Kerberos を有効にします。

    1. /etc/nfssec.conf ファイル内の Kerberos セキュリティーモードを有効にします。

      /etc/nfssec.conf ファイルを編集して、Kerberos セキュリティーモードの先頭にある「#」を削除します。


      # cat /etc/nfssec.conf
       .
       .
      #
      # Uncomment the following lines to use Kerberos V5 with NFS
      #
      krb5            390003  kerberos_v5     default -               # RPCSEC_GSS
      krb5i           390004  kerberos_v5     default integrity       # RPCSEC_GSS
      krb5p           390005  kerberos_v5     default privacy         # RPCSEC_GSS
    2. DNS を有効にします。

      /etc/resolv.conf ファイルがまだ作成されていない場合は、このファイルを作成します。サービス主体の正規化は DNS に依存して正規化を実行するためです。詳細は、resolv.conf(4) のマニュアルページを参照してください。

    3. gssd サービスを再開します。

      /etc/resolv.conf ファイルを作成または変更したら、gssd デーモンを再起動して、すべての変更を再読み込みする必要があります。


      # svcadm restart network/rpc/gss
      
  8. クライアントから 自動的に TGT を更新するか、または Kerberos チケットの有効期限切れをユーザーに警告する場合は、/etc/krb5/warn.conf ファイルにエントリを作成します。

    詳細は、warn.conf(4) のマニュアルページを参照してください。


例 23–9 Solaris 以外の KDC を使用するように Kerberos クライアントを設定する

Solaris 以外の KDC を使用するように Kerberos クライアントを設定することができます。この場合、/etc/krb5/krb5.conf ファイルの realms セクションに、1 行を追加する必要があります。この行を追加すると、クライアントが Kerberos パスワード変更サーバーとの通信に使用するプロトコルが変更されます。この行の書式は次のとおりです。


[realms]
                EXAMPLE.COM = {
                kdc = kdc1.example.com
                kdc = kdc2.example.com
                admin_server = kdc1.example.com
                kpasswd_protocol = SET_CHANGE
        }


例 23–10 ホスト名とドメイン名を Kerberos レルムにマッピングするための DNS TXT レコード


@ IN SOA kdc1.example.com root.kdc1.example.com (
                                1989020501   ;serial
                                10800        ;refresh
                                3600         ;retry
                                3600000      ;expire
                                86400 )      ;minimum

                        IN      NS      kdc1.example.com.
kdc1                    IN      A       192.146.86.20
kdc2                    IN      A       192.146.86.21

_kerberos.example.com.             IN      TXT     "EXAMPLE.COM"
_kerberos.kdc1.example.com.        IN      TXT     "EXAMPLE.COM"
_kerberos.kdc2.example.com.        IN      TXT     "EXAMPLE.COM"


例 23–11 Kerberos サーバーの場所を記録する DNS SRV レコード

この例は、KDC、admin サーバー、および kpasswd サーバーの場所を記録するレコードを定義します。


@ IN SOA kdc1.example.com root.kdc1.example.com (
                                1989020501   ;serial
                                10800        ;refresh
                                3600         ;retry
                                3600000      ;expire
                                86400 )      ;minimum

                                   IN      NS      kdc1.example.com.
kdc1                               IN      A       192.146.86.20
kdc2                               IN      A       192.146.86.21

_kerberos._udp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 0 0 88  kdc2.example.com
_kerberos._udp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos._tcp.EXAMPLE.COM         IN      SRV 1 0 88  kdc1.example.com
_kerberos-adm._tcp.EXAMPLE.COM     IN      SRV 0 0 749 kdc1.example.com
_kpasswd._udp.EXAMPLE.COM          IN      SRV 0 0 749 kdc1.example.com

Procedureチケット認可チケット (TGT) の確認を無効にする方法

この手順では、ローカルの /etc/krb5/krb5.keytab ファイルに保存されているホスト主体の KDC とチケット認可チケットを発行した KDC が同じであることを確認するセキュリティー検査を無効にします。この検査は DNS の偽装攻撃を防止します。ただし、一部のクライアント構成では、ホスト主体を使用できない場合があるため、クライアントが機能できるようにこの検査を無効にする必要があります。次のような構成では、この検査を無効にする必要があります。

  1. スーパーユーザーになります。

  2. krb5.conf ファイルを変更します。

    verify_ap_req_nofail オプションが false に設定されている場合、TGT の確認処理は無効になっています。このオプションの詳細については、krb5.conf(4) のマニュアルページを参照してください。


    client # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = EXAMPLE.COM
            verify_ap_req_nofail = false
      ...

    注 –

    verify_ap_req_nofail オプションは、krb5.conf ファイルの [libdefaults] セクションまたは [realms] セクションに入力できます。このオプションを [libdefaults] セクションに入力すると、設定はすべてのレルムに使用されます。このオプションを [realms] セクションに入力すると、設定は定義したレルムだけに適用されます。


ProcedureKerberos によって保護された NFS ファイルシステムに root ユーザーとしてアクセスする方法

この手順を実行すると、クライアントは root の ID 特権による Kerberos 認証を必要とする、NFS ファイルシステムにアクセスできるようになります。特に、NFS ファイルシステムが次のようなオプションによって共有されている場合です。-o sec=krb5,root=client1.sun.com

  1. スーパーユーザーになります。

  2. kadmin を起動します。

    Kerberos グラフィカル管理ツールを使って主体を追加する方法については、「新しい Kerberos 主体を作成する方法」を参照してください。追加するときは、マスター KDC を構成するときに作成した admin 主体名を使用してログインする必要があります。ただし、次の例では、コマンド行を使用して、必要な主体を追加しています。


    denver # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. NFS クライアントの root 主体を作成します。

      この主体は、Kerberos 認証を必要とする、NFS マウントされたファイルシステムにスーパーユーザーと同様にアクセスするために使用されます。root 主体は 2 つの構成要素主体とすべきであり、二番目の構成要素は Kerberos クライアントシステムのホスト名にして、レルム幅の root 主体の作成を回避します。主体のインスタンスがホスト名のときは、/etc/resolv.conf ファイル内のドメイン名が大文字であるか小文字であるかに関係なく、FQDN は小文字で指定する必要があります。


      kadmin: addprinc -randkey root/client.example.com
      Principal "root/client.example.com" created.
      kadmin:
    2. サーバーのキータブファイルに root 主体を追加します。

      NFS サービスを使ってマウントされたファイルシステムにクライアントが root アクセスできるように root 主体を追加する場合にこの手順は必要になります。また、cron ジョブを root として実行する場合など、非対話的な root アクセスが必要な場合にもこの手順が必要になります。


      kadmin: ktadd root/client.example.com
      Entry for principal root/client.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    3. kadmin を終了します。


      kadmin: quit
      

ProcedureKerberos レルム内のユーザーを自動的に移行するように構成する方法

Kerberos 主体を持たないユーザーを、既存の Kerberos レルムに自動的に移行できます。移行を行うには、/etc/pam.conf のサーバーの認証スタックにある pam_krb5_migrate モジュールの積み重ねにより使用されているサービス用の PAM フレームワークを使用します。

この例では、dtloginother の PAM サービス名が構成され、自動移行を使用します。この手順では、次の構成パラメータを使用します。

始める前に

レルム EXAMPLE.COM の Kerberos クライアントとして server1 を設定します。詳細は、「Kerberos クライアントの構成」を参照してください。

  1. server1 のホストサービス主体が存在するかどうかを確認します。

    server1keytab ファイル内のホストサービス主体は、マスター 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
  2. PAM 構成ファイルを変更します。

    1. 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
      
    2. (省略可能) 必要に応じて、即座のパスワードの変更を強制します。

      新しく作成された 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
      
    3. 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
    4. 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
  3. マスター 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 *
  4. マスター KDC 上で、Kerberos 管理デーモンを再起動します。

    この手順により、kadmind デーモンが新しい kadm5.acl エントリを使用できるようになります。


    kdc1 # svcadm restart network/security/kadmin
    
  5. マスター 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