Como posso obter gravações em compartilhamentos do samba para serem tratadas como um usuário específico para fins de permissão?

2

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.

  • Um está rodando o CentOS 7 com daemons do Samba 4.
  • B executa o Windows 7 Professional.

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"?

    
por Protected 03.08.2016 / 17:29

0 respostas