Translated message

A translation of this page exists in English.

krb5 で保護された NFS で root としてファイルを作成する

更新 -

NFS 共有で root としてファイルを作成すると、ファイルはデフォルトで nfsnobody (RHEL 7 の場合) または nobody (RHEL 8 の場合) ユーザーおよびグループで書き込まれます。これは、Kerberos で保護された NFS マウントを使用している場合、アクティブな Kerberos チケットを持つユーザーのみがファイルにアクセスできるために発生します。root は Kerberos によって特別なケースとして扱われないため、これには root ユーザーが含まれます。

この手順では、クライアントの ホスト チケットをサーバーのスーパーユーザーアカウントにマッピングすることでその機能を追加し、そのホストチケットにアクセスできるすべてのプロセスでスーパーユーザーアクセスを利用できるようにします。その結果、NFS サーバーはこれらのファイルに root ユーザーとグループを保持します。

警告: この手順は一般的な方法として 推奨されるものではありません。この特定の動作がどうしても必要な場合にのみ使用してください。認証されていないローカル root ユーザーをクライアントから NFS サーバーのスーパーユーザーに効果的にマッピングすることで、セキュリティーを弱める可能性があります。

セキュリティーを向上させるために、この手順では、nfsclient.example.com などの単一の名前付きホストに対してのみ root アクセスを有効にします。

前提条件

  • NFS エクスポートは、sec=krb5 オプションで保護されている。

手順

  1. NFS サーバーホストの /etc/exportfs ファイルで、no_root_squash オプションをエクスポート設定に追加します。以下に例を示します。

    /root nfsclient.example.com(rw,no_root_squash)
    
  2. NFS サーバーホストで、次を /etc/krb5.conf ファイルに追加します。

    [realms]
    …
    EXAMPLE.COM = {
    …
    auth_to_local = RULE:[2:$1/$2@$0](host/nfsclient.example.com@EXAMPLE.COM)s/.*/root/
    auth_to_local = DEFAULT
    }
    

    必要に応じて、auth_to_local = RULE:… 行を追加できますが、auth_to_local = DEFAULT 行は常に最後にする必要があります。