4

У меня есть сервер разработки 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. Как я могу это сделать?

2 ответа2

4

Вы можете попробовать установить в smb.conf поддержку NT ACL "no":

Этот логический параметр определяет, будет ли smbd пытаться отобразить разрешения UNIX в списки контроля доступа Windows NT.

По умолчанию: nt acl support = yes
Пример: nt acl support = no

Еще одно, что может помочь:

архив карт = нет

0

Я обнаружил, что ни 'nt acl support = no', ни 'map map = no' не решили проблему. Мой опыт показывает, что Samba всегда применяет права доступа к файлам, определенные в «маске создания» и «маске каталога», независимо от того, сохраняется ли новый или существующий файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .