4

У меня есть общий каталог в моей Ubuntu VM. Это мой smb.conf:

...
[share]
comment = Ubuntu File Server Share
path = /home/foo/share
browsable = yes
guest ok = yes
read only = no
create mask = 0644

Почти все работает нормально, т. Е. Когда создается новый файл, он маскируется 0644 . Но также всякий раз, когда я открываю (в Windows) и сохраняю существующий файл, права доступа к этому файлу также устанавливаются на 0644 . Это довольно раздражает при редактировании скриптов, которые ранее были маскированы 0755 или 777 .

Есть ли способ заставить Samba сохранять существующие маски разрешений при перезаписи файлов?
[править] ... при создании новых файлов с разрешениями 0644

4 ответа4

9

добавлять:

map archive = no

на [Поделиться]. По умолчанию (да) бит выполнения будет установлен практически на все, что вы сохраняете. Если установлено значение no, вы можете оставить маску создания на 755 или что-то еще.

Я считаю это необходимым, если вы редактируете много системных файлов, таких как /etc /mail /aliases, которые не смогут скомпилироваться с установленным битом выполнения.

; о) Кор

2

Чтобы Samba не сбрасывала права доступа к файлу при сохранении файла через Samba, установите следующий параметр в smb.conf:

nt acl support = no

Это останавливает Samba от попытки сопоставить разрешения UNIX со списком контроля доступа Windows.

1

Я думаю, что если вы настроите свою гостевую учетную запись samba как учетную запись, которая обычно будет записывать файлы с разрешениями 775, вам будет хорошо.

[global]
guest account = [unix user]

Или вы можете создать пользователя Samba, такого же, как ваш пользователь в Ubuntu, который имеет права доступа 755 (каждому пользователю Samba должен соответствовать пользователь UNIX), а затем получить доступ к общему ресурсу Samba, войдя в систему как этот пользователь.

user@ubuntu$ ~ sudo smbpasswd -a [username]
0

Я использую samba для обмена между Windows и Kubuntu, за исключением того, что в моей системе Linux - это хост, а не виртуальная машина. Для моей настройки я сделал имена пользователей в обеих системах одинаковыми, а затем установил valid users в smb.conf для моего имени пользователя. У меня нет настройки create mask , и разрешения работают нормально.

[shared]
comment = My Shared Partition
path = /mnt/shared/
browseable = yes
available = yes
read only = no
guest ok = no
valid users = my_user_name

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