web-dev-qa-db-ja.com

読み取り専用としてマウントされたNFSパーティション

(免責事項: " NFS共有は読み取り専用 "を読んだので、同じ問題ではないと思います)

私のラズベリー(Raspbian)にNFSをセットアップしましたが、OSXからアクセスしようとしています。これまでのところ、私はパーティションをマウントできますが、残念ながら読み取り専用です。さらに詳しい情報:

クライアント(OSX)

➜  ~ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
192.168.1.102:/export/data on /media (nfs)

➜  ~  ls -ld /media    
drwxr-xr-x  3 root  wheel  4096 Mar  8 15:57 /media

サーバー(Raspbian)

pi@raspberrypi ~ $ cat /etc/exports 

/export       192.168.0.0/16(rw,fsid=0,insecure,no_subtree_check,async)
/export/data  192.168.0.0/16(rw,nohide,insecure,no_subtree_check,async)

pi@raspberrypi ~ $ cat /etc/idmapd.conf 
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
# Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

先に述べたように、マウントされたディレクトリにファイルを作成しようとすると問題が発生します。

➜  /media  touch foo
touch: foo: Permission denied
➜  /media  Sudo touch foo
Password:
touch: foo: Permission denied

サーバーからファイルを作成できることに注意してください、問題はnfsマウントにある必要があります。

(ところで私は このガイド に従って全体を設定しました)

追加情報(編集):

これは、osxにパーティションをマウントする方法です。

Sudo mount -t nfs -o rw 192.168.1.102:/export/data /media

7
Pablo Fernandez

これは、読み取り専用ファイルシステムというよりは、権限の問題のように見えます。

Piから、/ export/dataディレクトリを一時的に誰でも書き込み可能にできますか?もしそうなら、クライアントから今書くことができますか?この方法でファイルを作成する場合、所有者は誰ですか?

No_root_squashがない場合、rootユーザーはnobodyにマップされます。それ以外の場合は、ユーザーをクライアントからpi上のユーザーにマップする必要があります。

3
BowlOfRed

CentOS 6.5でこの問題が発生しました。 RaspbianがNetworkManagerを使用しているかどうかはわかりませんが、使用している場合は、それが問題である可能性があります。 Network Managerの最新バージョンがrpcbindの邪魔になり、状況によってはnfsに認証されないようです。 Raspbianでdpkg --get-selections | grep -i NetworkManagerを実行すると、これをすばやく見つけることができます。 CentOSでは、ネットワークの設定に影響を与えずに削除できます。うまくいけば、これが役立つかもしれません。

0
user62700

あなたの疑似ルートは/export

/ export 192.168.0.0/16(rw,fsid=0,insecure,no_subtree_check,async)

あなたのサブシェアは/media/export

/ export/data 192.168.0.0/16(rw,nohide,insecure,no_subtree_check,async)

マウントする代わりに絶対パスを与える:

Sudoマウント-t nfs -o rw 192.168.1.102:/export/data/media

疑似ルートからの相対パスを指定してマウントを試みましたか?

Sudo mount -t nfs -o rw 192.168.1.102:/data /media

これが私のインストール(CentOS 7 NFSv4サーバー、Fedoraクライアント)で機能する方法です。

0
Francesco

これはNFSv4と関係があります。 -o vers=3を使えば幸せになります。 rootがNFS共有に大混乱をもたらすことを許可するNFSv4オプションがあると確信していますが、それがまったく機能するようになった後、私は見なくなりました。

# mount -o soft,rw server:/exports/share /mnt/test
# touch /mnt/test/foo
touch: cannot touch '/mnt/test/foo': Permission denied
# umount /mnt/test
# mount -o soft,rw,vers=3 server:/exports/share /mnt/test
# touch /mnt/test/foo
# ls /mnt/test/foo
/mnt/test/foo
# rm /mnt/test/foo
# umount /mnt/test
0
Ben Stern