Secure NFS システムを使用するには、自分が責任を持つすべてのコンピュータにドメイン名が必要です。「ドメイン」とは管理する実体であり、一般には、大きなネットワークに参加する複数のコンピュータから構成されます。NIS+ を実行している場合、そのドメインに対して NIS+ ネームサービスを設定しなければなりません。『Solaris ネーミングの設定と構成』を参照してください。
Secure NFS 環境は、認証に Diffie-Hellman (DH) か Kerberos (KERB) バージョン 4、または両方の組み合わせを使用するように設定できます。これらの認証サービスについては、『Solaris のシステム管理』を参照してください。
ドメインにドメイン名を割り当て、そのドメイン名をドメイン内の各コンピュータに知らせます。
ネームサービスとして NIS+ を使っている場合は、『Solaris ネーミングの管理』を参照してください。
newkey または nisaddcred コマンドを使ってクライアントのユーザの公開鍵と秘密鍵を設定して、各ユーザに chkey コマンドを使って各自の Secure RPC パスワードを設定してもらいます。
これらのコマンドについての詳細は、newkey(1M)、nisaddcred(1M)、chkey(1) のマニュアルページを参照してください。
ネームサービスが応答していることを確認します。NIS+ を実行している場合は、以下を入力してください。
# nisping -u Last updates for directory eng.acme.com. : Master server is eng-master.acme.com. Last update occurred at Mon Jun 5 11:16:10 1995 Replica server is eng1-replica-replica-58.acme.com. Last Update seen was Mon Jun 5 11:16:10 1995 |
keyserv デーモン (キーサーバ) が動作していることを、以下を入力することで確認してください。
# ps -ef | grep keyserv root 100 1 16 Apr 11 ? 0:00 /usr/sbin/keyserv root 2215 2211 5 09:57:28 pts/0 0:00 grep keyserv |
keyserv デーモンが動作していない場合は、以下を入力してキーサーバを起動します。
# /usr/sbin/keyserv |
keylogin を実行し、秘密鍵の復号化と保存を実行してください。
通常、ログインパスワードはネットワークパスワードと同じです。この場合、keylogin は不要です。ログインパスワードとネットワークパスワードが異なる場合、ユーザはログインしてから keylogin を実行しなければなりません。 また、keylogin -r を root として実行し、復号化した秘密鍵を /etc/.rootkey に保存しなければなりません。
keylogin -r は、root の秘密鍵が変更されたか、/etc/.rootkey が損失した場合にのみ、実行する必要があります。
/etc/dfs/dfstab ファイルを編集し、該当するエントリに -sec=dh オプションを追加します (DH 認証用)。
share -F nfs -o sec=dh /export/home |
auto_master
マップを編集し、該当するエントリのマウントオプションとして -sec=dh を指定します (DH 認証用)。
/home auto_home -nosuid,sec=dh |
リリース 2.5 以前の Solaris では、セキュリティ保護されているものとして共有されているファイルシステムを、セキュリティ保護されたものとしてクライアントがマウントしないと、ユーザはそのユーザ本来の立場ではなく未認証としてのアクセス権しか得られません。Solaris 2.6 のバージョン 2 では、セキュリティモードが一致しないと、share コマンド行に -sec=none が指定されていない限り、NFS サーバによってアクセスが拒否されます。バージョン 3 では、セキュリティ保護されていることを示すモードが NFS サーバから引き継がれるので、クライアントが -sec=krb4 や -sec=dh を指定する必要はありません。ユーザは、そのユーザ自身としてファイルにアクセスできます。
コンピュータを設置し直したり、移設したり、アップグレードするときに、新しい鍵を設定せず、root 用の鍵も変更しない場合は、忘れずに /etc/.rootkey を保存してください。/etc/.rootkey を削除する場合は、以下を実行してください。
# keylogin -r |
/etc/dfs/dfstab ファイルを編集して、所定のエントリに -sec=krb4 オプションを追加します。
# share -F nfs -o sec=krb4 /export/home |
auto_master
データを編集して、-sec=krb4 をマウントオプションとして指定します。
/home auto_home -nosuid,sec=krb4 |
リリース 2.5 以降の Solaris では、セキュリティ保護されているものとして共有されているファイルシステムを、セキュリティ保護されたものとしてクライアントがマウントしないと、ユーザはそのユーザ本来の立場ではなく未認証としてのアクセス権しか得られません。Solaris 2.6 のバージョン 2 では、セキュリティモードが一致しないと、share コマンド行に -sec=none が指定されていない限り、NFS サーバによってアクセスが拒否されます。バージョン 3 では、セキュリティ保護されていることを示すモードが NFS サーバから引き継がれるので、クライアントが -sec=krb4 や -sec=dh を指定する必要はありません。ユーザは、そのユーザ自身としてファイルにアクセスできます。