Samba, FreeBSD, ZFS: permissões de grupo são ignoradas

1

Estou executando o Samba 4.6 no FreeBSD 11 com o ZFS. Cada usuário pertence ao grupo do servidor de arquivos . Além disso, existem grupos adicionais para cada departamento, como grupo de vendas .

E aqui vem o meu problema. No servidor, há uma pasta chamada vendas . Qual é o proprietário do servidor de arquivos e as vendas do grupo. Por que os membros do meu grupo de vendas não podem sobrescrever arquivos pelo Windows dentro dessa pasta? Usando um shell, a edição funciona sem problemas.

No Windows aparece a mensagem O acesso à pasta de destino foi negado quando tento substituir um arquivo. Novos arquivos podem ser criados dentro da pasta de vendas sem nenhum problema. Renomear também funciona

folder sales
chmod 770 sales
chown fileserver:sales

# file: sales
# owner: fileserver
# group: sales
owner@:rwxp--aARWcCos:-------:allow
group@:rwxp--a-R-c--s:-------:allow
everyone@:r-x---a-R-c--s:-------:allow

Dentro da pasta de vendas é um arquivo test.txt

chmod 770 test.txt
chown fileserver:sales

# file: test.txt
# owner: fileserver
# group: sales
owner@:rwxp--aARWcCos:-------:allow
group@:rwxp--a-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow

Alterar a permissão da pasta para vendas chmod 2770 também não tem efeito

Somente se eu der ao arquivo os mesmos direitos de ACL do proprietário que o salvamento funciona. Por que é que? Eu fiz um cenário errado? Os direitos de permissão de grupo rwx devem sobrepor os direitos da ACL? Não?

smb4.conf
[global]
# Logging
log level = 3
log file = /var/log/samba4/log.%m
max log size = 50
utmp = 0

# Domain & controller & workgroups
server string = NAS Server
workgroup = COMPANY
server string = NAS
netbios name = NAS

# Network restriction
bind interfaces only = yes
interfaces = lo0 igb0

# Security model
security = user
encrypt passwords = true
map to guest = bad user

# Time server
time server = yes

map hidden = no
map system = no
map archive = no
map readonly = no

store dos attributes = yes

ea support = yes
access based share enum = yes
load printers = no

template homedir = /fileserver/users/%U
allow insecure wide links = yes

[data]
comment = Data
path = /fileserver/data
valid users = +fileserver

browsable = yes
writable = yes
read only = no
guest ok = no
public = no
follow symlinks = yes
wide links = yes

create mask = 0770
force create mode = 0760
directory mask = 2770
force directory mode = 2770

hide unreadable = yes

vfs objects = shadow_copy2 zfsacl recycle crossrename
shadow: snapdir = .zfs/snapshot
shadow: sort = desc
shadow: format = %Y-%m-%d-%H%M

recycle:directory_mode = 0750
recycle:subdir_mode = 0750
recycle:exclude = *.tmp *.temp *.swp
recycle:keeptree = yes
recycle:repository = Trash/%U
recycle:versions = yes
recycle:touch = yes
recycle:touch_mtime = yes

nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = yes

crossrename:sizelimit = 50
    
por Paul Atreides 04.11.2017 / 19:02

1 resposta

0

Assim, você espera que o acesso de leitura / gravação funcione sem delete , delete_child e write_owner ? Isso é errado, você não está dentro do sistema legado de permissões 3x3 POSIX, são as ACLs do NFSv4. Eles não são adicionais para o POSIX 3x3, eles são normalizados. Basicamente, você precisa do full_set ACL, no qual você precisa de um controle mais refinado para experimentar.

E não se esqueça de que você precisa do aclmode e aclinherit definido como passthrough neste conjunto de dados.

    
por 05.11.2017 / 07:44