Eu tenho um servidor ubuntu compartilhando algumas pastas usando o samba. Quando um cliente cria uma nova pasta ou arquivo, as permissões não são definidas de acordo com as configurações no smb.conf.
Minhas configurações atuais para um compartilhamento específico:
[share]
path = /mnt/share
browsable = yes
guest ok = no
writable = yes
read only = no
create mask = 0774
directory mask = 0774
write list = netuser
Quando um cliente samba (uma caixa do Windows 7) usa a conta 'netuser' para criar um arquivo ou diretório, as permissões se tornam
drwxr-sr-- 2 netuser sambashare 4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare 0 2012-01-22 21:07 New Text Document.txt
O diretório pai possui o sinalizador de identificação do grupo definido, portanto, o proprietário do grupo sambashare. A idéia é que usuários do samba e usuários do servidor pertençam ao grupo sambashare e, portanto, possam editar, excluir e criar arquivos e diretórios. No entanto, como as pastas criadas não possuem o sinalizador de gravação para o grupo, os usuários do servidor não podem criar novos arquivos ou pastas nessas pastas sem o sudo.
Eu testei a adição e remoção da máscara de diretório, modo de diretório forçado, modo de segurança de diretório e modo de segurança de diretório de força, mas os comportamentos ainda permanecem. Arquivos e pastas recém-criados não recebem a permissão 774, mas sim 764 e 754, respectivamente.
o que estou perdendo? Por que o samba não define as permissões corretas?
Após várias tentativas e erros, este é o código correto para compartilhar o samba dir usando grupos SGID e unix. Se o usuário se conectar anonimamente, ele recebe R / O, se ele efetua login e é membro do grupo designado, ele recebe R / W.
Eu tenho o grupo 'admin' definido como grupo principal para usuários com privilégios de gravação, todos os outros obtêm direitos somente leitura.
Eu forço o usuário a ninguém, para que pessoas diferentes trabalhando nos mesmos arquivos não interfiram entre si.
Defino o chmod 2755 no diretório compartilhado, para que ele herda os diretórios criados com o mesmo grupo 'admin'
Verificando se está tudo bem:
Parte relevante do /etc/samba/smb.conf:
Este post me colocou no caminho certo, mas o testparm revelou 4 diretivas incorretas, então estou compartilhando configurações fixas aqui. No samba, quanto menos diretivas você especificar, melhor funcionará.
fonte
Eu tive o mesmo problema, mas tudo, como diretivas de máscara , não funcionou para mim (Samba 4.3.11):
A única opção que funcionou estava na seção [global] ou compartilhamento:
Basta alterar todas as permissões de pasta e arquivo conforme sua necessidade, para que futuras pastas e arquivos herdem as mesmas permissões.
fonte
4.8.11
onfreebsd
, também :)Há um problema muito semelhante ao conectar-se a outros dispositivos Unix / Linux / OSX / MacOS: todas as configurações são ignoradas, a menos que você especifique
E conecte-se com em
smb://<serverhost>
vez decifs://<serverhost>
.fonte
fonte