Mac OS X Server 10.6 の NFS Server の提供する home に Userdir を置けない?

これまで, Debian 5.0 の apache2 で, local な home directory に置いた public_html を UserDir として運用してきた. これを, Mac OS X Server 10.6 が NFS で提供する home directory を automount または static mount して同じことをやろうとするとうまくいかない. apache2 の error.log ではすべてのfile, directoryに対して (13)permission denied となっている.

もちろん file/directory のpermissionは, /からfileまで644,755であることを確認した. Web検索によれば SELinux 関係で似た症状が起きることが多く報告されているが, これはその場合ではないだろう.

問題は, MacDebianのuidが一致していないこと. MacNFS Server は, 知らない uid のprocess がaccessすると拒否する機構があるのか. あるとすれば,

  • 案1 mac:/etc/exports や debian:/etc/fstab の option で uid をmappingする
  • 案2 debian の www-data のuid=33 をmacに登録する(MacのWeb serverは _www,uid=70)

太古のPanther Server,
http://x.nest.jp/mac/050822_1034.htm

案1

mac:/etc/exports で, このdebian向けだけに -mapall=_www option を与えるというのが考えられる.

太古のPanther Serverだが勉強になる情報:
http://x.nest.jp/mac/050822_1034.htm

NFSプロトコルの設定は, Snow Leopard Serverでは, ワークグループマネージャからサーバ管理に分離されている. mac:exports(5)と比較すると, サーバ管理ユーティリティからは, exports(5)で許される設定のうちシンプルなものだけが可能であるよう. しかし, これをやってしまうと, debian 上で mysql を調整しながら html もちょっと書き直す, などはできなくなってしまう.のでこの案は却下した.

案2

最初, 1000未満のuidをMac OS X Serverにどうやって登録するのかわからなかった. mac:/etc/passwd はあるが single user mode でしか読まれないと書いてある.

少し前のLeopard Serverだが関係する情報
http://www.netmojo.ca/2008/04/24/integrating-leopard-server-with-unix-ldap-part-3/

を見てわかったが, ワークグループマネージャのメニューの小さな地球儀の小さな三角形をクリックし, メニューの表示から調整すると, 500未満のuidも表示, 変更できる. 将来他のプロセスで使うuidと衝突する危険はあるが, www-data, uid=33 を登録した.

結果

案2で成功.