はまったのでメモ。
結論として、
NFSによるファイル共有はできたんだけど、root権限でファイルを置くことができないトラブルに遭遇。
NFSサーバーはLinux(Debian)で、クライアント側はMacという環境で、Macからファイルを置こうと思ってもサーバーにカレントユーザ(ID:501)の権限でしかファイルを置けない。
root権限でどんなファイルでも扱えるようにどうにかしたかったんだけど解決策見えず。
基本的には、NFSサーバ側の/etc/exports にno_root_squashオプションをつければNFSクライアント側からはrootでアクセスできるはずなんだが…
[参考]『NFSサーバの設定』|とあるSEのきまぐれ日記
http://ameblo.jp/kyon-tiger/entry-10437529410.html
調べたこと:
NFSサーバ:Linux(Debian)側
nfs-commonパッケージにバグがあるらしい。
NFS and no_root_squash – cannot write as root – permission denied – linux.debian.user | Google グループ
http://groups.google.co.jp/group/linux.debian.user/browse_thread/thread/b351bc304ec1f2dc
これによると、nfs-common 1.1.2-6 にダウングレードする必要がある。
現在使っているのはテスト版(squeeze)の1.2.2-4。
これを安定版(lenny)の1.1.2-6lenny2にダウングレードした。
たぶんnfs-kernel-severも1.1.2にしとく必要がある。
しかし、これだけではダメで、クライアント側のmountも設定変更が必要。
NFSクライアント側
mount時のオプションに
sec=sys
を明示的につける必要がある。
#492970 – nfs-common 1:1.1.3-1 client disallows access to files/directories where it should allow access – Debian Bug report logs
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492970
例:
[shell]
mount -t nfs -o tcp,sec=sys 192.168.xxx.xxx:/home /mnt
[/shell]
しかし、Mac OS Xでは、これらの設定を行ってマウントするもroot権限で書き込みできず。
クライアントがMacOSじゃなかったらなんとなくうまく行きそうな気がするんだけど… 謎。
ちなみに一般的なMacとLinuxサーバ間でのNFS共有設定はここらへんが参考になります。
Linux NFSへMacからmountする – 思い出はいつまでも
http://d.hatena.ne.jp/a10i/20080817/1218979854
私はWinとMacのファイル共有に、「FreeNAS」を使用しようと思っています。
先日、テストをしたらうまくいったので。
ほぅ、FreeBSDベースですか。こんなディストリビューションがあるなんて知らなかったです。便利そうですね。
USBメモリーでブートして使う予定です(読み書きが早いのを選びましょう[最近遅い物も結構あります])。Atomを使っているCPUオンボードマザーあたりで…このケースJX-FX300B[JMAX](http://www.mustardseed.co.jp/products/jmax/case/jx-fx300b.html)良さそう。
JMAX、値段も8000円?くらいだしお手軽なNASを作るには使い勝手よさそうですね。
僕は、このエントリで紹介したようにLinuxのWebサーバ兼ファイルサーバとしてATXのマシンが1台ありますが、古くなってきたので新しいマシンを組もうかどうか考え中です…