web-dev-qa-db-ja.com

NFS共有の「読み取り専用ファイルシステム」、権限、マウント、エクスポートファイルは問題ないようです

NFSを介して、サーバーから/share/global/usr/shareをクライアント上の/usr/shareに共有しています。クライアントがそれに書き込むと、「読み取り専用ファイルシステム」エラーが発生します。

サーバ

ファイルシステムの権限は大丈夫です:

$> ls -la /share/global/usr/
drwxrwxrwx 2 nobody nogroup 4096 Dec  6 14:37 share

エクスポートはクライアントIP 192.168.101.250のrw、その他の内部IPはroです。

$> grep usr /etc/exports
/share/global/usr/share 192.168.0.0/16(ro,subtree_check,all_squash) 192.168.101.250(rw,subtree_check,all_squash)

サーバーはここに書き込むことができます:

$> echo HELLO > /share/global/usr/share/REMOVEME && chmod 666 /share/global/usr/share/REMOVEME && echo ok
ok

クライアント

IPアドレスの一致(静的):

$> ip addr | grep inet
inet 192.168.101.250/24 brd 192.168.101.255 scope global enp0s8

fstabはrwを指定します。

$> grep usr /etc/fstab
192.168.101.254:/share/global/usr/share /usr/share nfs rsize=8192,wsize=8192,timeo=3,intr,rw

そしてそれはrwをマウントしています:

$> mount | grep usr
192.168.101.254:/share/global/usr/share on /usr/share type nfs4 (rw,relatime,vers=4.0,rsize=8192,wsize=8192,namlen=255,hard,proto=tcp,port=0,timeo=3,retrans=2,sec=sys,clientaddr=192.168.101.250,local_lock=none,addr=192.168.101.254)

読み込みはOKです:

$> ls -al /usr/share/REMOVEME
-rw-rw-rw-. 1 nfsnobody nfsnobody 7 Dec  6 15:14 /usr/share/REMOVEME

問題

クライアント:

$> Sudo -i
$> echo foo > /usr/share/REMOVEME
-bash: /usr/share/REMOVEME: Permission denied

ここで新しいファイルを作成することもできません。

構成内のすべてが私には大丈夫に見えます。クライアントの共有ディレクトリに書き込めないのはなぜですか?

サーバーはUbuntu 16.04、クライアントはCentOS 7です。

2
spraff

/etc/exportsは、特定のIPアドレスが最初に表示され、その後にIP範囲が表示されるようにします。

つまり.

/share/global/usr/share 192.168.101.250(rw,subtree_check,all_squash) 192.168.0.0/16(ro,subtree_check,all_squash) 
3
spraff