Sun Cluster Data Service for Network File System (NFS) ガイド (Solaris OS 版)

ProcedureKerberos 主体を作成する

次に、必要な Kerberos 主体とキータブのエントリを KDC データベース内に作成する手順を示します。サービス主体を作成するキータブエントリは、クラスタノードごとに、クラスタノードで使用されている Solaris のバージョンによって異なります。

論理ホスト名に対する 「nfs」サービスの主体は 1 つのノード上でだけ作成し、各クラスタノード上のデフォルトの Kerberos キータブファイルに追加します。Kerberos 構成ファイル krb5.conf とキータブファイル krb5.keytab は、広域ファイルシステム上で共有するのではなく、各クラスタノード上に個々のコピーとして保存する必要があります。

手順
  1. 各クラスタノードで管理者として KDC サーバーにログインし、クラスタノードごとにホスト主体を作成します。

    Solaris 8 では、クラスタノードごとにホスト主体とルート主体の両方を作成する必要があります。

    主体は、完全修飾されたドメイン名を使用して作成する必要があります。

    これらのエントリは、各ノードのデフォルトのキータブファイルに追加します。これらの作業は、クラスタコンソールユーティリティーを使用することで非常に簡単に行えます (cconsole(1M) を参照)。

    次に、ルートエントリとホストエントリを作成する例を示します。この手順は、すべてのクラスタノードで行います。 ホスト名の位置には、各クラスタノードの物理ホスト名を入れてください。


    # kadmin -p  username/admin
    Enter Password:
    kadmin: addprinc -randkey host/phys-red-1.mydept.company.com
    Principal "host/phys-red-1.mydept.company.com@ACME.COM" created.

    kadmin: addprinc -randkey root/phys-red-1.mydept.company.com
    Principal "root/phys-red-1.mydept.company.com@ACME.COM" created.

    kadmin: ktadd host/phys-red-1.mydept.company.com
    Entry for principal host/phys-red-1.mydept.company.com with kvno 2, 
    encryption type DES-CBC-CRC added to keytab WRFILE:/etc/krb5/krb5.keytab.

    kadmin: ktadd root/phys-red-1.mydept.company.com
    Entry for principal root/phys-red-1.mydept.company.com with kvno 2, 
    encryption type DES-CBC-CRC added to keytab WRFILE:/etc/krb5/krb5.keytab.

    kadmin: quit
    #
  2. 1 つのクラスタノードで、Sun Cluster HA for NFS サービスを提供する論理ホスト名に対する Sun Cluster HA for NFS サービスの主体を作成します。

    主体は、完全修飾されたドメイン名を使用して作成する必要があります。この手順は、1 つのクラスタノードでだけ行なってください。


    # kadmin -p  username/admin
    Enter Password:
    kadmin: addprinc -randkey nfs/relo-red-1.mydept.company.com
    Principal "nfs/relo-red-1.mydept.company.com@ACME.COM" created.

    kadmin: ktadd -k /var/tmp/keytab.hanfs nfs/relo-red-1.mydept.company.com
    Entry for principal nfs/relo-red-1.mydept.company.com with kvno 3, 
    encryption type DES-CBC-CRC added to keytab WRFILE:/var/tmp/keytab.hanfs.

    kadmin: quit
    #

    上記の例では、relo-red-1 は Sun Cluster HA for NFS で使用される論理ホスト名です。

  3. 安全な方法を使用して、手順 2 で指定したキータブデータベース /var/tmp/keytab.hanfs をほかのクラスタノードにコピーします。

    安全でないコピー手段 (通常使用される ftprcp など) は使用しないでください。クラスタ独自のインターコネクトを使用してデータベースをコピーすれば、安全性がさらに高まります。

    次に、データベースをコピーする例を示します。


    # scp /var/tmp/keytab.hanfs clusternode2-priv:/var/tmp/keytab.hanfs
    # scp /var/tmp/keytab.hanfs clusternode3-priv:/var/tmp/keytab.hanfs
    
  4. すべてのクラスタノードで、論理ホスト名に対する「nfs」サービスのキータブエントリをローカルキータブデータベースに追加します。

    次の例では、ktutil(1M) コマンドを使用してエントリを追加しています。一時的なキータブファイル /var/tmp/keytab.hanfs は、デフォルトのキータブデータベース /etc/krb5/krb5.keytab に追加したあとで、すべてのクラスタノードで削除してください。


    # ktutil
    ktutil: rkt /etc/krb5/krb5.keytab
    ktutil: rkt /var/tmp/keytab.hanfs
    ktutil: wkt /etc/krb5/krb5.keytab
    ktutil: quit#
    # rm /var/tmp/keytab.hanfs
    
  5. Kerberos クライアント構成の検証を行います。

    各クラスタノードでデフォルトのキータブエントリを表示し、「nfs」サービス主体のキーバージョン番号 (KVNO) がすべてのクラスタノードで同じであることを確認してください。


    # klist -k
    Keytab name: FILE:/etc/krb5/krb5.keytab
    KVNO Principal
    ---- ---------------------------------
    2    host/phys-red-1.mydept.company.com@ACME.COM
    2    root/phys-red-1.mydept.company.com@ACME.COM
    3    nfs/relo-red-1.mydept.company.com@ACME.COM

    論理ホストに対する「nfs」サービスの主体は、すべてのクラスタノードで同じ KVNO 番号を持つ必要があります。上記の例では、論理ホストに対する「nfs」サービスの主体は nfs/relo-red-1.mydept.company.com@ACME.COM で、KVNO は 3 です。

  6. (Solaris 9 のみ) ユーザー資格情報データベース gsscred は、クラスタからセキュア NFS サービスにアクセスするすべてのユーザーについて最新の状態でなければなりません。

    ユーザー資格情報データベースは、すべてのクラスタノードで次のコマンドを実行して構築してください。


    # gsscred -m kerberos_v5 -a
    

    詳細は、gsscred(1M) のマニュアルページを参照してください。

    上記の方法は、ユーザー資格情報データベースを一度だけ構築するものです。ユーザー群の変化に合わせてこのデータベースのローカルコピーを最新状態に維持するには、ほかのメカニズム (cron(1M) など) を使用する必要があります。

    この手順は、Solaris リリース 10 には不要です。