この問題の解として、2ちゃんねるの過去ログで以下を見つけた。
http://www.kp2.jp/cgi-bin/2chbbs/test/read.cgi/nono/990671952/421-520
UNIX と DOS(Windows) のファイルモードの違いを吸収する
ためにそういうことが起こる。
(1) DOS には実行権限なんていうモードは存在しないので、
UNIX 側でも当然記録しない。
(2) 逆に DOS のアーカイブ属性は UNIX に存在しないので
samba はこれを UNIX 側ではファイル所有者の実行権限に
マッピングすることで、違いを吸収しようとする。
(1)と(2)の合わせ技で、mask が 777 のとき 766 になる。
問答無用で 777 にしたいなら、 smb.conf に
force create mode
force directory mode
あたりを設定すればいい。
普通はセキュリティのことも考えて 777 にはしないけど、
そうしないと不便だと文句いう奴らもいるからなあ。
なるほど。
ただ、force create modeやらを使うと、Windowsのファイルプロパティなどで設定する
「読み取り専用」だったり「隠しファイル」だったりを設定できなくなるので、実行権限は諦めることにした。
0 件のコメント:
コメントを投稿