У меня есть общий сервер Samba с Ubuntu. После обновления до 14.04 у меня была обновлена Samba с 3 до 4. С тех пор я не могу получить права на запись группы в свой новый каталог или файлы.
Что ранее работало в Samba3, использовалось эти настройки :
security mask = 000
force security mode = 660
directory security mask = 000
force directory security mode = 770
force user = nobody
force group = Domain Users
Эти настройки были удалены в Samba 4 (см. https://wiki.samba.org/index.php/Samba_4.0_Features_added/changed#smb.conf_changes).
Но теперь мои каталоги создаются «drwxr-x --- 2 nobody Users Users» и мои новые файлы «-rwxr-x --- 1 nobody Users Users».
Итак, что такое в Samba 4, чтобы мои пользователи могли создавать и совместно использовать разрешения для записи новых каталогов и файлов?
Вот моя полная конфигурация samba:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
interfaces = 127.0.0.0/8, eth0
map to guest = Bad User
obey pam restrictions = Yes
passdb backend = ldapsam:ldap://ldap
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
load printers = No
domain master = Yes
dns proxy = No
ldap admin dn = cn=root,dc=example,dc=com
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap passwd sync = yes
ldap suffix = dc=example,dc=com
ldap ssl = no
ldap user suffix = ou=People
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[CommonShare]
comment = Common share
path = /srv/samba/common
valid users = @myusers
read only = No
create mask = 0660
force create mode = 0770
directory mask = 0770
force directory mode = 0770
inherit permissions = Yes
inherit owner = Yes
Эта же проблема со мной.
Мне пришлось обновить списки управления доступом всех каталогов с помощью групповых разрешений по умолчанию:
sudo setfacl -R -m d:g:family:rwx /mnt/backup
-R = recursive
-m = modify
d: = defaults
g: = group name ("family" in my case) or gid number
rwx = default permissions read write execute for all in group
/mnt/backup - это каталог (и подкаталоги) для изменения. [!d2 ]
Я знаю, что это старый поток, но это может помочь кому-то. Я решил это, установив бит setgid равным 2 (вместо 0), поэтому каталоги / файлы создаются с разрешениями на запись группы, например
force create mode = 2777 force directory mode = 2777 [!d1 ]
От: https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits#h7-the-setgid-bit
Первые четыре параметра были удалены, а не последние два (см. https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#FORCEUSER).[!d0 ]
Итак, просто верните их в файл конфигурации, и это должно решить проблему. Если вы хотите, чтобы права на запись были зарегистрированы в определенной группе, добавьте параметр write list. Он предоставляет возможность предоставления разрешений на запись определенным пользователям или группам.
Ниже приведен пример конфигурации, которую я использую, чтобы разрешить создание / изменение файлов всем пользователям, принадлежащим к определенной группе (и только этим пользователям) :
[Myshare] writeable = yes path = /shares/office force directory mode = 770 force create mode = 770 force group = bureau valid users = @bureau write list = @bureau.