Como faço para montar uma pasta do Windows no Linux (com o Samba) e ver as permissões corretas?

2

Eu tenho uma caixa do Windows 7 e uma máquina Linux. Eu posso acessar corretamente os arquivos na máquina Windows a partir da máquina Linux. no entanto, quando olho para as permissões do Linux e do Cygwin na minha caixa do Windows, elas não são as mesmas.

Meu entendimento é que nativamente as permissões do sistema de arquivos são gerenciadas por listas de controle de acesso (ACLs) que são mapeadas para as permissões POSIX (que são um subconjunto de ACLs) tanto pelo Cygwin quanto pelo Samba quando ele se conecta, correto? Preciso ativar algo no meu samba.conf para fazer isso?

# Linux machine (incorrect file permissions)
» ll .gitignore
-rwx------ 1 michael users 57 Oct 28 10:41 .gitignore
# Windows machine (via cygwin, correct file permissions)
$ ll .gitignore
-rw-r--r-- 1 hauserra Domain Users 57 Oct 28 10:41 .gitignore

Existe alguma maneira de fazer com que essas duas caixas estejam falando a mesma linguagem de permissões de arquivos para que eu possa modificar os arquivos na caixa do Windows do Linux sem quebrar as coisas horrivelmente?

    
por Mike H-R 28.10.2014 / 16:34

1 resposta

1

Então eu estava muito perto de uma resposta usando o SMB mas ao voltar para o meu computador, ele parou de reconhecer o outro computador, vou descrever essa solução e então a solução (na minha opinião mais simples) que usei mencionando as vantagens e desvantagens de ambos.

Minha primeira solução foi tentar fazer com que o SMB reconhecesse as ACLs do Windows para que elas convertessem as permissões para suas permissões corretas, isso funcionou até o ponto em que o usuário que criou o arquivo não apareceria (cf < href="https://serverfault.com/questions/549440/mounting-windows-shares-on-linux-while-keeping-windows-permissions"> esta questão ). Isso produziu um resultado bastante aceitável (permissões de arquivos foram transferidas corretamente entre os dois computadores e modificar o arquivo no lado do Linux não modificaria nenhuma permissão, que era o meu objetivo desejado). Isso funcionou corretamente através de reinicializações, mas chegando no dia seguinte tinha parado de funcionar (problema de rede eu acho). Para obter a automontagem do diretório, fiz o seguinte:

#smb.conf
[global]
...
inherit acls = Yes
map acl inherit = Yes
acl group control = yes

no smb.conf

#/etc/fstab
//YourServerName/YourSharedFile /mnt/host cifs cifsacl,user=bar,password=foo,workgroup=WorkGroup,ip=your_ip_address_of_server 0 0

você também pode adicionar um arquivo de autenticação para que sua senha e nome de usuário sejam pelo menos protegidos.

No entanto, esta não foi a melhor solução, por isso, a conselho de @barrycarter nos comentários, decidi usar o sshfs (que é maravilhosamente simples).

As instruções detalhadas para configurá-lo estão localizadas aqui , mas o comando principal relevante é

sshfs USERNAME@HOSTNAME_OR_IP:/PATH LOCAL_MOUNT_POINT SSH_OPTIONS

Agora vamos para a comparação entre eles. Esse benchmark na verdade parece sugerir que o sshfs é realmente mais rápido que o samba, mas parece que ser um monte de opiniões diferentes sobre isso. É definitivamente muito mais simples de configurar.

    
por 29.10.2014 / 12:06