作者:上村崇 フリーランスのIT系エンジニア
twitter:@uemera facebook:uemura

MacとLinux(Debian)の間でNFSによるファイル共有をしようとしたときの備忘録


はまったのでメモ。
 
結論として、
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

関連記事


Linux debianでRAID(ミラーリング)構築。mdadmとpartedで
mdadmによるRAID (ミラーリング)構成手順です。ディスクが1台壊れたのでRAIDを組み直しました。環境はLinux Debian 9.11 (stretch) partedやmdadmコマンドで構築します。

Postfixメールサーバー:送信不可のユーザーを設定する
メールサーバーPostfixにて、送受信ができないユーザーを設定をする方法です。Linux、debian環境です。特定のメールアドレスを送受信不可にします。メールを許可しないLinuxユーザーを作るときに有効です。

Web開発・Web制作のツールや用語を初心者向けに大量紹介。これだけ知っておけば安心。
Webページ製作やWebのシステム開発ではいろんなツールやテクニック、用語を使いますが、全体像がなかなか掴みにくいと思ったので、初心者向けに用語をたくさんまとめました。これさえ押さえておけば業界の常識用語はだいたい網羅できると思います。

KVM仮想マシンをWebからアクセスできるKimchiをdebianにインストール
自宅サーバーにてKVMの仮想マシンを動かしていますが、外からでもリモートで操作できるようにkimchiを導入しました。 GitHub – kimchi-project/kimchi: An HTML5 man …

Linuxの権限について解説。setuidとかsetgidとかスティッキービットとか
setuidとかsetgidとかスティッキービットの解説です。Linuxのこれらの機能については考え方が難しいですが、setuidは「一般ユーザーがroot権限で動かすことができる仕組み」です。setgidはそのグループ版です。詳細なメカニズムを解説します。

4 Replies to “MacとLinux(Debian)の間でNFSによるファイル共有をしようとしたときの備忘録”

  1. 私はWinとMacのファイル共有に、「FreeNAS」を使用しようと思っています。
    先日、テストをしたらうまくいったので。

  2. ほぅ、FreeBSDベースですか。こんなディストリビューションがあるなんて知らなかったです。便利そうですね。

  3. JMAX、値段も8000円?くらいだしお手軽なNASを作るには使い勝手よさそうですね。
    僕は、このエントリで紹介したようにLinuxのWebサーバ兼ファイルサーバとしてATXのマシンが1台ありますが、古くなってきたので新しいマシンを組もうかどうか考え中です…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です