У меня есть сервер разработки Ubuntu и рабочая станция Windows 7. Я использую Windows Gvim для редактирования файлов на сервере linux через соединение samba.
Сохранение файлов из Windows меняет права доступа в Linux странным образом в зависимости от используемого приложения Windows, а также от того, есть расширение файла или нет.
Вот несколько тестов
Без расширения; Блокнот 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
Без расширения; Гвим: от 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
Расширение; Блокнот2: от 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
Расширение; Гвим: от 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. Как я могу это сделать?