Eu tenho um servidor de desenvolvimento Ubuntu e uma estação de trabalho do Windows 7. Eu uso o Windows Gvim para editar arquivos no servidor linux, através de uma conexão samba.
Salvar arquivos do Windows altera as permissões do Linux de maneira estranha, dependendo do aplicativo do Windows que estou usando, e também dependendo se há uma extensão de arquivo ou não.
Aqui estão alguns testes
Sem extensão; Notepad2: 644 a 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
Sem extensão; Gvim: 644 a 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
Extensão; Notepad2: 644 to 644 (bom!)
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
Extensão; Gvim: 644 a 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
Aqui está a parte relevante do meu 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
Eu quero que as permissões não sejam afetadas quando salvar a conexão do samba. Como eu faço isso?