2009年12月28日月曜日

Snow Leopard Server:sambaがsambaじゃない

Snow Leopard ServerでWindowsファイル共有(Samba)を使用する際、POSIXのアクセス権限が何をどう頑張っても共有ディレクトリ配下に上手く引き継げない。例を挙げると、

share1 というディレクトリを作成し、こいつを所有者:admin、グループ:share1とかでsamba共有する。アクセス権限はオーナー(admin)、グループ(share1に所属するユーザ達)は読み書き実行可能、他はアクセス不可。

で、UNIX標準(POSIX)の場合、権限で770をディレクトリに与え、smb.confの共有ディレクトリ設定に
directory mask 0770
create mask 0770
とか入れてやれば、Linux上でSamba共有を稼働中の場合は上手く行くのだが、Snow Leopard Server(多分10.5以降)では、これを設定してもまるっきり無視してくれる。実際にはSnow Leopard Serverの動作の場合、Windowsから上記の共有ディレクトリにアクセスしてファイルやディレクトリを作成すると、directoryやcreate maskの770を無視して、標準の744でファイルを作る。これをされると、作った人以外がそのファイルを閲覧は出来るけど、編集出来ない。


ACL(アクセス制御リスト)を使えと

10.4くらいまでは、この辺の設定が問題なく行えていたのだが、10.5以降で同様のことをやろうとすると、それはACLで設定を追加しないと行けないようだ。ACLで読み書きをさせたいグループを追加し、そこに権限を割り振れば問題なく下位ディレクトリにもアクセス権限が引き継がれる。設定方法についてはこの辺参照。

http://docs.info.apple.com/article.html?path=ServerAdmin/10.4/jp/c3wn38.html

UNIX標準(POSIX)のアクセス権限を引き継がないようになってから、LinuxとかでSamba使ってきた人には余計な混乱を与えるような気がするのだが。個人的にはLinuxでsmb.confに書き込みをしていた設定方法が、OS X Serverになると使えないのがショックだった。でもって、ACL設定しないでWindowsのファイル共有実行しているディレクトリは、本来のアクセス可能なユーザに余計な読み込み/書き込みエラーを発生させる恐れがあるので、それらのディレクトリにACL設定を追加して動作確認をしなきゃならんな〜、と思わされた次第。年末の仕事が出来てしまった。


Mac OS X 10.6 Snow Leopard Server Unlimited クライアント

0 件のコメント: