hero_picture

MACクライアントがSambaサーバーのcreate mask等を無視

2013/01/21

表題どうり。

結構前から問題として認識はあったのですが、社内にもMACユーザーが半数近くになっていて問題が大きくなってきましたので対応。

問題点のおさらい

Linuxで作ったsambaサーバーへMACをクライアントとして接続した時。

新規ファイル/ディレクトリの作成を行うと、

・所有者がsambaへの接続ユーザー

パーミッションが700とか600とかになる

という問題。

当然他のユーザーから見れず、この問題が起こる度にサーバーにログインしてchmod やchownしてました。

sambaの設定としては

1create mask = 0777
2directory mask = 0777
3

といった設定を入れているのにMacからのみどうやら無視されている様子。

ちなみにWindowsではこんな事はありませんでした。

解決策

ぐぐると同様の原因で困っている人がたくさんいました。

解決策は以下の通り。samba設定の[global]内に以下を記述

vi /etc/samba/smb.conf

1unix extensions = no
2

続いて再起動を行うと問題は解決しました。

unix extensions?

sambaのmanには以下の記述

http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smb.conf.5.html

1この真偽値パラメーターは、Samba が HP 社によって定義された CIFS のUNIX拡張を利用するかどうかを制御する。 これらの拡張は、UNIX クライアントからUNIX サーバーに対して接続する際に有用な CIFS を有効にし、シンボリックリンクやハードリンクなどを利用可能にする。 これらの拡張により、Samba はUNIX の CIFS クライアントに対して、シンボリックリンクやハードリンクといった機能を提供することが可能となる。
2既定値:unix extensions = yes
3

つまりクライアントがUNIX系のクライアントの場合は拡張機能が使えるようになる、というオプションみたいです。

ただ同時にバグか仕様かはわかりませんが、create maskとかが無視される様子です。

(Windowsの場合はこの項目は無視されていたのだと思います。)

特にシンボリックリンクなどの使用は考えてませんし、現状maskが無視される方が問題なのでnoに設定しました。