У меня есть сервер Samba с несколькими папками, но когда пользователь пытается создать папку или файл, права группы устанавливаются только на «r» (чтение), я что-то делаю не так?
Моя версия Samba - 4.3.11-Ubuntu
Это smb.conf
[COMPANY]
browsable = yes
path = /PATH/OTHERPATH
guest ok = no
guest only = no
create mask = 0770
force create mode = 0770
directory mask = 0770
force directory mode = 0770
write list = @GROUP1, @GROUP2
read list =
valid users = @GROUP1, @GROUP2
read only = no
Это разрешения, которые samba дает для файлов и папок, которые создают мои пользователи.
-rw-r--r-- 1 user GROUP1 0 jul 12 17:43 file
drwxr-xr-x 2 user GROUP1 4096 jul 12 17:43 folder/
заранее спасибо
Как я уже говорил в комментариях под вашим вопросом, чтобы правильно установить разрешения через Samba, вам необходимо установить системную umask на 0007.
Я не уверен, что это «правильный способ» установки Samba. Я заметил, что разрешения, которые я давал отдельным общим ресурсам в файле конфигурации Samba, не были такими же, как разрешения, созданные при создании файла в общей папке samba. По сути, из системной umask самба удаляла биты разрешений и фактически создавала файл с другими разрешениями.
Что я сделал (давным-давно), так это настроил системную маску.
В / etc / profile я добавил
umask 0007
мой файл конфигурации samba выглядит примерно так:
#
# Samba config file
#
# To use with umask 0007
[global]
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
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* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
deadtime = 45
socket options = TCP_NODELAY IPTOS_THROUGHPUT
dns proxy = No
panic action = /usr/share/samba/panic-action %d
idmap config * : range =
idmap config * : backend = tdb
map acl inherit = Yes
csc policy = documents
# interfaces = 10.8.0.0/24 tun0 # do you want to serve your Samba over a dedicated network?
# hosts allow = 10.8.0.0/24 # these rows are what I'd use in the OpenVPN
[User]
path = /home/samba/user
valid users = user
force group = user
read only = No
directory mask = 0770
force directory mode = 0770
create mask = 0660
force create mode = 0660
write cache size = 2621440
veto oplock files = /*.tmp/
# in this case, only the user User can r/w his own share.
# What if we have a group with more users?
[Group]
path = /home/samba/group
valid users = @group
force group = group
read only = No
directory mask = 0770
force directory mode = 0770
create mask = 0660
force create mode = 0660
write cache size = 2621440
veto oplock files = /*.tmp/
Если в общих папках есть файл с документами, выберите csc policy = документы Я использовал это в ГЛОБАЛЬНОЙ конфигурации.
Возможен случай, когда общая папка содержит исполняемый файл (в основном в системах Windows, например, в переносном приложении). В этом случае вы можете использовать политика csc = программы в конфигурации общего ресурса.