Acesse o compartilhamento Samba do Windows 10 no VirtualBox

0

Eu li muitas perguntas de usuários e blogs sobre essa preocupação, mas nada corrigiu meu problema.

Eu tenho um host Linux CENTOS com o convidado do Windows 10 instalado no VirtualBox. No Linux, existe um usuário chamado "myuser" que compartilha um diretório (777) e é registrado no banco de dados do usuário do Samba. Este usuário não possui restrição de senha. O smb.conf é assim:

[global]
workgroup = WORKSPACE_SHARE
security = user
map to guest = bad user

[public]
path = /home/myuser/public
public = yes
writeable = yes
comment = smb share
printable = no
guest ok = yes

O Windows tem um usuário local com o mesmo nome ("myuser", sem senha definida), compartilhamento de arquivo e impressora ativado, Microsoft Client ativado, grupo de trabalho que corresponde ao grupo de trabalho Samba e usa uma rede privada.

No explorer eu posso ver o host Linux que, de fato, contém a pasta compartilhada ("public"). Mas quando tentar acessar essa pasta compartilhada, um alerta de erro será exibido: Você não tem permissão para acessar ...

Na Internet, eu li coisas como "o Windows 10 usa o SMBv3, mas o Samba ainda não o suporta" e como desativar o SMBv3 - mas isso não ajudou.

Mesmo a modificação das Políticas de segurança local no Windows não funcionou: link

Como posso corrigir esse problema estranho?

    
por PAX 18.03.2017 / 18:40

1 resposta

0

Algumas distribuições do Linux possuem a chamada implementação do SELinux em seu kernel. Significa "Security-Enhanced Linux" e, além de outras coisas, restringe as ações do Samba. Se você deseja criar uma pasta de compartilhamento, não é suficiente especificar permissões de acesso convenientes e uma definição em samba.conf . Você também precisa definir o "Contexto de segurança" correto da pasta compartilhada.

Seguir a máscara de permissão e o contexto de segurança deve funcionar:

chmod -R 770 yoursharefolder
chcon -R -t samba_share_t yoursharefolder

Todas as condições que já são conhecidas de diferentes wikis também devem ser cumpridas:

  • O usuário Unix como proprietário do compartilhamento deve ser adicionado ao banco de dados do usuário do Samba: smbpasswd -a youruser
  • Sua máquina Windows deve ter um usuário com o mesmo nome e a mesma senha configurados no banco de dados Samba
  • Seu samba.conf pode ser assim:

samba.conf (todas as partes maiúsculas devem ser personalizadas para o seu ambiente específico):

[global]
workgroup = SAME_WORKGROUP_AS_CONFIGURED_IN_WINDOWS
server string = Samba Server %v
netbios name = HOST_NAME_OF_YOUR_LINUX_MACHINE_ON_NETWORK
security = user
map to guest = bad user
dns proxy = no

[yourshare]
path = /PATH/TO/YOURSHARE
valid users = YOUR_WINDOWS_USER_NAME
browsable = yes
writeable = yes
guest ok = no
read only = no
directory mask = 0770
create mask = 0770

Editar: observe que as alterações por meio de chcon não são permanentes. Para fazer mudanças permanentes no contexto de segurança, use o seguinte comando:

semanage fcontext -a -t samba_share_t /full/path/to/your/share/folder

... e para torná-lo eficaz:

restorecon -v /full/path/to/your/share/folder
    
por 31.03.2017 / 06:47