LeopardでWindows共有(Samba)

MacOSX10.5″Leopard”でWindowsファイル共有を行うと問題が色々発生する。

**************************
以下内容はMacOSX10.5.7クライアント版、
MacOSXServer10.5.7Unlimitedで検証していますが、
以下内容を実行したことによる一切の責は負いません。
**************************

●書き込んだファイルが読めない。
LeopardよりSambaのバージョンが変わり、共有ディレクトリ毎にファイルが作られるようになった。
/var/samba/shares/内に共有名でファイルがある。
推奨設定は(ゲストである)
#VERSION 3
path=/Volumes/共有ディレクトリ
comment=共有に対するコメント
usershare_acl=S-1-1-0:F
inherit permissions=yes
map archive = no
guest ok=yes
directory mask=775
create mask=774

●共有内でフォルダを作ってそのフォルダにファイルを移動すると開けなくなる。
ファイルのプロパティーの「アーカイブ」を外すと読める。
この問題はSamba的には/etc/smb.confに
map archive = no
を追加し、ファイルに実行権限を与えないことで解決できるが、Leopardより採用されているACL(Access Control List)の絡みもありこれだけでは解決しない。
なお、この問題はMacOSXServer10.5でも存在する。
いいのかサーバー版がこの程度の実装で!と怒りを感じつつ。淡々と弄る。

ACLは/etc/smb.confの
vfs objects = darwinacl,darwin_streams
により適用されている。
他サイトでは共有ボリュームのみACLをOFFにする
/usr/sbin/fsaclctl -p /Volumes/共有ディレクトリ/ -d
が対応として紹介されているが、このvfs objectsを変えることによりACLは関係なくなる。
かわりに以下のオプションを提案したい。

;vfs objects = darwinacl,darwin_streams
vfs objects = recycle,darwin_streams
recycle:repository = /Volumes/ゴミ箱フォルダ
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0

vfs objects = darwinaclはコメントアウトし、
darwin_streamsはMacから書き込みの際リソースを処理するために残しておく・・・

ゴミ箱の作成は別に書きました→こちら

●バックアップフォルダ(読み込みのみ)
#VERSION 3
path=/Volumes/バックアップフォルダ
comment=backup
usershare_acl=S-1-1-0:F
guest ok=yes
directory mask=444
read only=yes

●画像ファイルをフォルダ毎コピーしようとすると
Thumbsがコピーできなく、コピーに失敗する。
Thumbs.dbはWindowsの画像サムネイルファイル。隠し権限だ。
/etc/smb.confに
delete veto files = yes
veto files = /Thumbs.db/
があるとコピーに失敗する。

.DS_StoreはWindowsから邪魔だけど、無いとMacOSXからのフォルダごとのファイルコピーでフォルダしかコピーされない問題が起きる。
.vbt5はロングファイルネームに問題が出る模様。

上記変更で良いファイルサーバーが出来たら良いなと思う。
MacOSXServerユーザーはsmb.conf.templateにも同様の記述をお勧めする。
単にsmb.confに記述し、
その後、サーバー管理を使って編集するとこの辺の設定が吹き飛ぶので・・・

カテゴリー: mac パーマリンク 拍手する

コメントを残す

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