Eu tenho um pequeno problema com o samba que não consigo resolver, mas sinceramente espero que não haja solução. Ao copiar arquivos com permissões restritivas de um diretório no compartilhamento para outro, as permissões também são copiadas e não definidas para as do diretório pai.
Em detalhes, temos um compartilhamento de samba com os seguintes direitos:
[Global]
comment = Global Space
path = /home/global
valid users = @users
read only = No
create mask = 0760
directory mask = 0770
force directory mode = 0770
inherit permissions = Yes
Acabei de ler que inherit permissions = Yes
desativa create mask
e directory mask
, mas vamos ignorar isso por um segundo.
Quando os usuários criam um arquivo no compartilhamento, as permissões são definidas corretamente para que todos possam ler e modificar todos os arquivos, graças a inherit permissions
. Também funciona na cópia de arquivos do Windows para o samba.
No entanto, para complicar as coisas, suponha que tenhamos algumas pastas restritas "priv" em algumas subpastas, como
+ customers
| + customer1
| | + priv
| | | + restricted stuff ...
| | + source
| | | + files etc.
| + customer2
| + source
| + files again
+ other
+ priv
+ doc
+ who cares
que não são legíveis por usuários normais, mas aqueles que estão no grupo priv
. Como as permissões são herdadas e estão definidas corretamente nos diretórios "priv", os arquivos criados lá pertencem ao grupo priv
e não ao users
. Como os direitos são 760 e 770 (para arquivos e diretórios, resp.), Os usuários normais não podem lê-los. Além disso, temos um cron job que garante esses direitos de forma recursiva todas as noites, o que é aceitável para nós.
Se agora copiarmos um arquivo do diretório "priv" para outro, diretório aberto, os usuários normais não poderão modificá-lo, pois os direitos do linux também serão copiados. Copiar o arquivo para o cliente Windows e voltar para o compartilhamento funciona conforme o esperado.
Existe uma maneira de ativar esse comportamento no samba? Meu sistema é um Ubuntu 14.04.2 com samba versão 4.1.6-Ubuntu.
Tags samba4