Eu li muitas perguntas e blogs de usuários 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, há um usuário chamado "myuser" que compartilha um diretório (777) e é registrado no banco de dados de usuários do Samba. Este usuário não tem restrição de senha. A smb.conf
aparência é 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 arquivos e impressoras habilitado, Microsoft Client habilitado, conjunto de grupos de trabalho que corresponde ao grupo de trabalho Samba e usa uma rede privada.
No explorer, posso ver o host Linux que, de fato, contém a pasta compartilhada ("pública"). Mas quando uma tentativa de acessar esta pasta compartilhada, um alerta de erro aparece: Você não tem permissão para acessar ...
Na internet, li coisas como "O Windows 10 usa SMBv3, mas o Samba ainda não suporta" e como desativar o SMBv3 - mas não ajudou.
Mesmo a modificação das diretivas de segurança local no Windows não funcionou: https://superuser.com/a/916835/408191
Como posso corrigir esse problema estranho?
/samba/exampleshare
funciona bem. Mas eu quero que esta pasta esteja localizada em um diretório inicial do usuário, por exemplo:/home/myuser/exampleshare
Respostas:
Algumas distribuições Linux têm a chamada implementação SELinux em seu kernel. Ele significa "Linux com segurança aprimorada" e, além de outras coisas, restringe os compartilhamentos do Samba. Se você deseja criar uma pasta de compartilhamento, não basta especificar permissões de acesso convenientes e uma definição
samba.conf
. Você também precisa definir o "Contexto de segurança" correto da pasta de compartilhamento.A máscara de permissão a seguir e o contexto de segurança devem executar o truque:
Todas as condições que já são conhecidas de wikis diferentes também devem ser respeitadas:
smbpasswd -a youruser
samba.conf
pode ficar assim:samba.conf
(todas as partes maiúsculas devem ser personalizadas para o seu ambiente específico):Editar: observe que as alterações via
chcon
não são permanentes. Para fazer alterações permanentes no contexto de segurança, use o seguinte comando:... e para torná-lo eficaz:
fonte