web-dev-qa-db-ja.com

Samba接続を介して保存するときにファイルのLinuxパーミッションを変更しないようにするにはどうすればよいですか?

Ubuntu開発サーバーとWindows7ワークステーションがあります。私はWindowsGvimを使用して、Samba接続を介してLinuxサーバー上のファイルを編集しています。

Windowsからファイルを保存すると、使用しているWindowsアプリに応じて、またファイル拡張子があるかどうかに応じて、Linuxのアクセス許可が奇妙な方法で変更されます。

ここにいくつかのテストがあります

拡張子なし。メモ帳2:644〜764

matt@mattserver ~ % ls -l testfile
-rw-r--r-- 1 matt matt 0 2011-05-28 07:09 testfile
--- Save from Windows Notepad2 over network ---
matt@mattserver ~ % ls -l testfile
-rwxrw-r-- 1 matt matt 1 2011-05-28 07:09 testfile

拡張子なし。 Gvim:644〜760

matt@mattserver ~ % ls -l testfile
-rw-r--r-- 1 matt matt 0 2011-05-28 07:10 testfile
--- Save from Windows Gvim over network ---
matt@mattserver ~ % ls -l testfile
-rwxrw---- 1 matt matt 0 2011-05-28 07:11 testfile

拡張; Notepad2:644から644(良い!)

matt@mattserver ~ % ls -l testfile.txt
-rw-r--r-- 1 matt matt 0 2011-05-28 07:13 testfile.txt
--- Save from Windows Notepad2 over network ---
matt@mattserver ~ % ls -l testfile.txt
-rw-r--r-- 1 matt matt 0 2011-05-28 07:13 testfile.txt

拡張; Gvim:644〜760

matt@mattserver ~ % ls -l testfile.txt
-rw-r--r-- 1 matt matt 0 2011-05-28 07:14 testfile.txt
--- Save from Windows Gvim over network ---
matt@mattserver ~ % ls -l testfile.txt
-rwxrw---- 1 matt matt 0 2011-05-28 07:14 testfile.txt

これが私のsmb.confの関連部分です

[matt]
comment = Matt
path = /home/matt
public = yes
writable = yes
valid users = matt
create mask = 0771
directory mask = 0771
force user = matt
force group = matt

Samba接続を介して保存するときに、アクセス許可がまったく影響を受けないようにしたい。それ、どうやったら出来るの?

4
Matt Alexander

Smb.confで nt acl support を "no"に設定してみてください。

このブールパラメータは、smbdがUNIXのアクセス許可をWindowsNTアクセス制御リストにマップしようとするかどうかを制御します。

デフォルト: nt acl support = yes
例:nt acl support = no

役立つかもしれないもう一つは:

マップアーカイブ =いいえ

4
harrymc

'nt acl support = no'も 'map archive = no'も問題を解決していないことがわかりました。私の経験では、Sambaは、新しいファイルを保存するか既存のファイルを保存するかに関係なく、「マスクの作成」と「ディレクトリマスク」で定義されたファイル権限を常に適用します。

0
tcdaly