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です。
/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)