Caso de uso: Estou tentando configurar um único compartilhamento do Samba em um sistema ( A ) que deve ser acessível gratuitamente de outro sistema ( B ) no mesma rede.
Eu configurei o compartilhamento em A com estes parâmetros:
path = /home/MYUSER/dir
force user = MYUSER
force group = MYUSER
read only = No
create mask = 0644
force creater mode = 0644
force directory mode = 0755
guest ok = Yes
E mapeie para guest = user ruim. Eu adicionei o contexto correto do SELinux (ou desativei o SELinux, não importa).
Agora, no caminho de compartilhamento, somente MYUSER tem permissões de gravação, e essa também é a máscara de permissão desejada para todos os subdiretórios, conforme configurado. Mas como estou forçando os arquivos a serem escritos como MYUSER: MYUSER pelo samba (mesmo que estaremos acessando como convidados), isso não deve ser um problema, certo?
Errado. Quando montei o compartilhamento em B , não tenho problemas em visualizá-lo, navegá-lo ou ler os arquivos nele. No entanto, todas as operações de gravação são recusadas, pois não são permitidas.
Se eu chmod o + w o caminho do compartilhamento, então de repente o samba pode gravar nele ... E todos os arquivos / diretórios que eu crio nele são de propriedade correta de MYUSER: MYUSER ! (Apesar de diretórios, sendo criados com permissões 0755, por sua vez, não será gravável).
Por que isso acontece? O samba está criando primeiro os arquivos e diretórios como ninguém (ou algum outro usuário) antes de adicioná-los ao MYUSER ?
Posso configurar o samba de uma maneira que funcione em torno desse problema sem exigir que meu compartilhamento e todos os subdiretórios sejam graváveis por "outro"?