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