マウントポイント(nfs-server)に書き込めず、「Permission denied」を取得


21

NFS2つのRHEL7ノード間で構成しようとしています。

最初のノード:

[root@ip-10-164-175-246 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/  ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]# 

2番目のノード:

[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]# 

/mnt/NFSで何も書き込めないのはなぜですか?


1
(rw)in /etc/exports(rw,no_root_squash)に変更exportfs -avし、サーバーでを実行してから、ファイルシステムをクライアントに再マウントして、再試行してください。
MadHatterはモニカをサポートします14

回答:


29

あなたのエクスポートは利用していますroot_squashか?CentOSドキュメントから:

root_squash —リモートで接続されたrootユーザーがroot権限を持つことを防ぎ、ユーザーnfsnobodyのユーザーIDを割り当てます。これにより、リモートのルートユーザーの権限が最も低いローカルユーザーに効果的に「押しつぶされ」、リモートサーバー上のファイルの不正な変更が防止されます。あるいは、no_root_squashオプションはルートスカッシングをオフにします。rootを含むすべてのリモートユーザーを押しつぶすには、all_squashオプションを使用します。特定のホストからのリモートユーザーで使用するユーザーIDとグループIDを指定するには、それぞれanonuidオプションとanongidオプションを使用します。この場合、リモートNFSユーザーが共有および指定するための特別なユーザーアカウントを作成できます(anonuid =、anongid =)。ここで、ユーザーID番号とグループID番号です。

no_root_squashデフォルトではオンになっているため、これを無効にするにはフラグを追加する必要があります。


1
おかげで、すべてが期待どおりに機能します!私は行方不明でしたno_root_squash、再びありがとう!
アレクサス14

その記事は、RHEL Webサイト:access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…で見つけました。no_root_squashを使用することはまったく安全ではないようです。推奨事項に従う場合の解決策は何ですか?
ジジウフ

基本的に、「nobody」ユーザーにNFSマウント上の適切なファイルを変更する機能を提供する必要があります。Rootユーザーが誰にもマップされていない(押しつぶされている)場合でも、それらを変更できます。あるいは、NFSv4では適切なローカル/サーバーアカウントマッピングを定義できると考えています。
クリストファーカレル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.