Всем доброго дня.
Стоит задача, но что-то с реализацией не получается.
Есть Шара, к примеру называется Сектор], в ней лежат 3 папки In, Out, Work.
Необходимо что бы при создании файлов в этих папках были разные права:
Для In – 0666
Для Out – 0664
Для Work – 0660
Соответственно, create mask – не подходит, т.к. будет одинаковая маска везде.
Inherit permissions – работает через Ж. т.к. наследует от папки права, а на папке 0777
Просьба помочь, кто сталкивался с похожей задачей.
это делается через acl на уровне фс
Так и делаю, есть шара Сектор] на ней стоят права 0777
В ней лежит папка IN, на ней стоят права 0777
при создании файла в папке IN файл создается с правами 0766 (хотя вроде должно 0777, т.к. включено наследование)
Конфиг:
Сектор]
path = /FileShare/Sec
browseable = yes
read only = yes
guest ok = no
nt acl support = yes
inherit owner = yes
inherit acls = yes
inherit permissions = yes
map acl inherit = yes
Спецы, выручайте! почему при default ACL:
getfacl /DISK_D/IT/Out
# file: DISK_D/IT/Out
# owner: IT
# group: IT
user::rwx
group::rwx
other::r--
default:user::rwx
default:group::rwx
default:other::---
создается файл с другими правами
getfacl /DISK_D/IT/Out/*
# file: DISK_D/IT/Out/1.bmp
# owner: IT
# group: IT
user::rwx
user:IT:rwx
group::r--
group:IT:r--
mask::rwx
other::r--
помогите, иначе потеряете пользователя (мозг лопнит)
файл создаете по самбе или локально?
по-моему (деталей сейчас не соберу) это выглядит так, что самба дает дефолтный доступ RW безо всяких наследований и force, а нужные права уже раздаются с помощью acl
Вроде что-то получилось, но не знаю правильно ли я сделал, но сделал так:
fstab
UUID=c77ed4f5-e799-4ef9-ae4c-067255693ac7 /DISK_D ext4 acl,user_xattr,defaults 0 2
smb.conf добавил
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2
map acl inherit = yes
inherit acls = yes
store dos attributes = yes
map archive = no
map system = no
map hidden = no
map read only = no
vfs objects = acl_xattr
........
[IT]
path = /DISK_D/IT
browseable = yes
read only = no
guest ok = no
locking = no
На папки применил acl
setfacl -m u::rwx,g::rwx,o::rwx /DISK_D/IT/In
setfacl -m u::rwx,g::rwx,o::rx /DISK_D/IT/Out
setfacl -m u::rwx,g::rwx,o::- /DISK_D/IT/Work
На выходе получилось. В папке In файл создается (Все Ок)
# file: DISK_D/IT/In/Архив WinRAR.rar
# owner: IT
# group: IT
user::rwx
user:IT:rwx
group::rwx
group:IT:rwx
mask::rwx
other::rwx
В папке Out файл создается (Все Ок)
# file: DISK_D/IT/Out/Документ Microsoft Publisher.pub
# owner: IT
# group: IT
user::rwx
user:IT:rwx
group::rwx
group:IT:rwx
mask::rwx
other::r-x
В папке Work файл создается (группа не с теми правами, но впринципе можно допустить)
# file: DISK_D/IT/Work/Архив WinRAR.rar
# owner: IT
# group: IT
user::rwx
user:IT:rwx
group::---
group:IT:---
mask::rwx
other::---
Буду очень благодарен, за исправления в моих действиях.