サーバーから共有をエクスポートし、anonuidとanongidを0(ルート)に設定しました。ただし、共有をクライアントにマウントすると、ルートが所有する共有内のフォルダーへのアクセスが拒否されているため、設定が機能していないようです。
サーバーCentOS 5.7
/クライアントCentOS 6.4
を使用してNFS version 3.2.29.
これがサーバー上の私の/ etc/exportsです:
/STORAGE 10.0.5.10(rw,sync,no_subtree_check,no_root_squash,anonuid=0,anongid=0)
基本的に、クライアント(10.0.5.10)
サーバーに接続します。サーバーのルートであるかのように動作する必要があります。よろしくお願いします!!
10.0.5.10のユーザーをrootとして表示したい場合は、次のようにします。
/STORAGE 10.0.5.10(rw,sync,no_subtree_check,all_squash,anonuid=0,anongid=0)
_all_squash
_は、NFSに対して、10.0.5.10から接続するすべてのユーザーについて、実際のUID/GIDを無視し、代わりにUID = anonuidおよびGID = anongidとして扱うように指示します。 _anonuid=0,anongid=0
_のすべてのユーザーに_10.0.5.10
_のルートアクセス権限を付与する_/STORAGE
_を設定しているため、_/STORAGE
_のすべてのセキュリティを効果的にバイパスし、来たように見える誰からでも悪用される可能性があります10.0.5.10 IPアドレスから。
FWIW、これはセキュリティの観点からすごい考えです。
サーバーでNFSv4を使用できる場合は、UID/GIDマッピングを有効にして、サーバーの_/etc/idmapd.conf
_に静的マップを追加し、10.0.5.10の特定のユーザーにNFSv4サーバーのルートアクセスを付与する必要があることを伝えます。構成ファイルの設定の詳細については、_man idmapd.conf
_を参照してください。 NFSv4サーバーで構成ファイルをセットアップしたら、エクスポートを更新します。
/STORAGE 10.0.5.10(rw,sync,no_subtree_check,no_root_squash)
次に、マッピングを有効にし、idmapキャッシュをクリアして、マップサービスを再起動します。
_echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping
nfsidmap -c
service rpcidmapd restart
_
その場合、すべてのユーザーではなく、1人のユーザーにrootアクセスのみを付与します。
まず、各バージョンで動作が少し異なるため、NFS4にアップグレードする必要があります。
の代わりに no_root_squash
を使用する必要がありますroot_squash
またはall_squash
-これは、この質問に関連する唯一のパラメーターです。
all_squash
は、その共有に接続しているすべてのクライアントがanonuid
/anongid
パラメータで指定されたIDを使用するようにします。