root_squashとanonuid、anongid
Fedora8上のnfsサーバの設定に関する備忘録その2の続き
nfsはデフォルトでroot_squashオプションが有効になっており、クライアントからrootでアクセスしても、nfsサーバー側では匿名ユーザー、匿名グループとして扱われるらしい(Fedora8では匿名ユーザー:nfsnobody、匿名グループ:nfsnobody)。参考:Redhatの解説記事
その結果/home/publicに書き込む権限が無いので"許可がありません"となるわけだ。
解決方法としてはno_root_squashオプションを指定するか(これはセキュリティ上推奨されない。)、/home/public(今回エクスポートしているディレクトリ)にnfsnobodyでも書き込めるようパーミッションを設定するか、anonuid=1000,anongid=100オプションで匿名ユーザーと匿名グループをuid=1000,gid=100にマップするか(注:/home/publicの所有者はuid=1000,gid=100)いずれかを選ぶ。今回は後で所有者をnfsnobodyから変更するのが面倒なので、最後の方法を取ることにした。
改良した/etc/exports:
/home/public/ CF-X1(rw,anonuid=1000,anongid=100)/home/public/ VOSTRO(rw,anonuid=1000,anongid=100)
これで書き込み出来るようになった。
[]CF-X1[]# []mount.nfs VOSTRO:/home/public /mnt/dir1[] []CF-X1[]# []touch /mnt/dir1/aho[] []CF-X1[]# []ls -l /mnt/dir1/[] []合計 4[] []-rw-r--r-- 1 tks users 0 2008-03-20 13:40 aho[]
その他
hosts.deny:
ALL:ALL
hosts.allow:
all:VOSTRO
all:CF-X1