あるシステムのルートが別のシステムのnfsインストールを変更できないのはなぜですか?

あるシステムのルートが別のシステムのnfsインストールを変更できないのはなぜですか?

私のNFSサーバーには、次のエクスポートが定義されています。

#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0

私のNFSクライアントから:

192.168.1.7:/shared /shared nfs rw 0 0

明らかに、サーバーのルートとして私が望むものは何でもすることができます。ただし、クライアントでは、通常のユーザー「gabe」はnfsマウントを変更できますが(権限があると仮定)、ルートは変更できません。

私の一般ユーザーとして:

gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx  4 gabe  wheel   512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt

rootユーザーとして:

# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied

繰り返しますが、これはすべてNFSにあります。顧客そのような面では、-maprootオプションと関連があると考えられます。 NFSを初めて設定したところ、この機能が見つかりました。私はこれを見つけることができるかどうかを調べるために今少し読んでみましょう。しかし、誰かが洞察力を持っているならば感謝します。

ベストアンサー1

NFSは、ユーザーとグループIDがネットワーク上のすべてのコンピュータで同じであるというアイデアとして設計されています。一般ユーザーには大丈夫です。ただし、ルートのUIDは常に0であり、1台のコンピュータにrootアクセス権があるため、ネットワーク上のすべてのコンピュータにrootアクセス権が必要であるというわけではありません。

したがって、NFSにはルートに対する特別な処理があります。デフォルトでは、ルートは通常nobody書き込み権限を持たないユーザーにマップされます。この-maprootオプションを使用すると、ルートの処理方法を変更できます。 BSDオプションは-maproot=rootLinuxno_root_squashオプションに対応します。

おすすめ記事