Возможно ли в Samba настроить наследование ACL-прав на файлы в rw-? При правах на родительскую директорию, соответственно, rwx.Перепробовал уже, наверное, все опции в smb.conf и связанные и не связанные с правами, включая create/security mode/mask, map archive/system/hidden, unix extensions и многие другие. Самое большее, чего удалось добиться (благодаря map archive) — rw для владельца и группы (но rwx для acl-юзеров):
$ getfacl dir/file
# file: dir/file
# owner: user
# group: user
user::rw-
user:ivanov:rwx
group::rw-
group:sambashare:r-x
mask::rwx
other::---$ getfacl dir
# file: dir
# owner: user
# group: user
user::rwx
user:ivanov:rwx
group::rwx
group:sambashare:r-x
mask::rwx
other::---smb.conf
[share]
path = /home/user/share
read only = No
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
hide unreadable = Yes
map archive = No
browseable = No
vfs objects = recycle full_audit
full_audit:priority = NOTICE
full_audit:facility = local7
full_audit:failure = none
full_audit:success = connect disconnect open mkdir rename link unlink rmdir pwrite
full_audit:prefix = %u|%I|%m|%S
recycle:exclude_dir = tmp,temp,cache
recycle:exclude = ?~$*, ~$*, ~*, *.bak, *.iso, *.lnk, *.temp, *.tmp, *.TMP, *.vib, *.vb?
recycle:maxsize = 1048576000
recycle:touch = yes
recycle:versions = Yes
recycle:directory_mode = 0770
recycle:repository = .recycle/%U
В шаре Самбы пользователи работают под учётными записями, созданными через smbpasswd (для совместимости с правами созданы одноимённые учётки без возможности локального логина). umask в /etc/login.defs: 022.В манах про inherit permissions сказано, что
«New files inherit their read/write bits from the parent directory. Their execute bits continue to be determined by map archive, map hidden and map system as usual».
(https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)
И здесь же про inherit acls —
«Enabling this option sets the unix mode to 0777, thus guaranteeing that default directory acls are propagated».
(https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)То есть при наследовании ACL принудительно выставляются в rwx и изменить это нельзя?
>[оверквотинг удален]
> «New files inherit their read/write bits from the parent directory. Their execute
> bits continue to be determined by map archive, map hidden and
> map system as usual».
> (https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)
> И здесь же про inherit acls —
> «Enabling this option sets the unix mode to 0777, thus guaranteeing that
> default directory acls are propagated».
> (https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)
> То есть при наследовании ACL принудительно выставляются в rwx и изменить это
> нельзя?Насколько я помню, наследуются default acl родительского каталога. Я не вижу в Вашем getfacl ни одного default acl.
>[оверквотинг удален]
>> map system as usual».[/I]
>> (https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)
>> И здесь же про inherit acls —
>> [I]«Enabling this option sets the unix mode to 0777, thus guaranteeing that
>> default directory acls are propagated».[/I]
>> (https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.h...)
>> То есть при наследовании ACL принудительно выставляются в rwx и изменить это
>> нельзя?
> Насколько я помню, наследуются default acl родительского каталога. Я не вижу в
> Вашем getfacl ни одного default acl.Наследуются default acl родителя:
pavel@voshka:~/parent$ umask 000
pavel@voshka:~/parent$ touch file
pavel@voshka:~/parent$ mkdir dir
pavel@voshka:~/parent$ getfacl ./
# file: .
# owner: pavel
# group: pavel
user::rwx
group::rw-
other::---
default:user::rw-
default:group::r--
default:other::---pavel@voshka:~/parent$ getfacl *
# file: dir
# owner: pavel
# group: pavel
user::rw-
group::r--
other::---
default:user::rw-
default:group::r--
default:other::---# file: file
# owner: pavel
# group: pavel
user::rw-
group::r--
other::---А для выставить 750 на каталог а на файл 640 например, лучше использовать в описании шары
create mask = 0640
directory mask = 0750
Спасибо. Направление вроде и правильное, но:create mask и directory mask при включённом в samba наследовании (inherit permissions), увы, игнорируются, о чём прямо сказано в мане; права rw- из default при работе через samba наследуются как-то странно, та же маска на файл зачем-то устанавливается в rwx. (А учитывая, что добавлять default нужно на каждого пользователя, в моём случае проще оставить как есть.)
$ getfacl .
# file: .
# owner: user
# group: user
user::rwx
user:ivanov:rwx
group::rwx
mask::rwx
other::---
default:user::rw-
default:user:ivanov:rw-
default:group::rw-
default:mask::rw-
default:other::---$ getfacl ./dir
# file: dir
# owner: user
# group: user
user::rwx
user:user:rwx
user:ivanov:rw-
group::rw-
group:user:rw-
mask::rwx
other::---
default:user::rwx
default:user:user:rwx
default:user:ivanov:rw-
default:group::rw-
default:group:user:rw-
default:mask::rwx
default:other::---$ getfacl ./file
# file: file
# owner: user
# group: user
user::rw-
user:user:rw-
user:ivanov:rw-
group::rw-
group:user:rw-
mask::rwx
other::---
>[оверквотинг удален]
> create mask = 0640
> directory mask = 0750Ты путаешь ACL и Unix permissions. Это разные вещи и управляются по-разному. Перечитай ещё раз маны Samba, обращая внимание на разницу между ACL и permissions.