Em um sistema recém-instalado do CentOS 6 eu tenho o seguinte simples smb.conf copiado de outro sistema onde ele está funcionando como esperado:
workgroup = MYDOMAIN
browseable = yes
[homes]
guest ok = no
read only = no
[tmp]
path = /tmp
read only = no
guest ok = yes
[backups]
path = /backups
read only = no
guest ok = no
Desativei o SELinux e permiti que as portas do Samba passassem pelo firewall. Eu defini a senha do samba de joe com smbpasswd -a joe . /home/joe e /home têm 755 permissões e /home/joe tem usuário / grupo joe . /backups tem raiz de usuário / grupo e 777 permissões.
Isso deve permitir que um usuário joe com permissão para acessar / backups se conecte a read / write \ hostname \ backups no Windows ou por meio do cliente samba no mesmo host Linux. Ele também deve permitir o acesso a \ hostname \ joe (diretório inicial), dado que joe pode acessar seu diretório home /home/joe .
Usando o cliente Linux no host local:
$ smbclient --user joe '\hostname\joe'
Enter joe's password:
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
62359 blocks of size 33553920. 59182 blocks available
smb: \> cd Documents
smb: \Documents\> ls
NT_STATUS_ACCESS_DENIED listing \Documents\*
62359 blocks of size 33553920. 59182 blocks available
smb: \Documents\>
Então, aqui eu posso me conectar ao compartilhamento, mas não consigo ver o conteúdo, mas posso fazer o cd para um diretório que eu sei que está lá. Observe que /home/joe/Documents também é 755 e pertence a joe .
Agora vou tentar acessar backups :
$ smbclient --user joe '\hostname\backups\'
Enter joe's password:
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
Então, neste caso, não consigo nem mesmo me conectar ao compartilhamento. Além disso, vejo de tail -f /var/log/samba/log.smbd :
[2013/02/22 11:09:49.734263, 0] smbd/service.c:988(make_connection_snum)
canonicalize_connect_path failed for service backups, path /backups
Esta mensagem não aparece no caso em que estou me conectando ao meu compartilhamento de casa. /backups definitivamente existe, tem o modo 777 e é o ponto de montagem para um dispositivo RAID externo que está funcionando bem.
Eu tenho outro sistema com configuração essencialmente idêntica, exceto que é o CentOS 5 e o Samba 3.0.33 ao invés do 3.5.10. Tudo funciona como esperado lá.
No Windows, tentar acessar \hostname\backups ou \hostname\joe (com as credenciais corretas, é claro) fornece uma caixa de diálogo inútil 'você não tem permissões ...' com "Detalhes": 'O nome da rede não pôde ser encontrado '.
Por favor me ajude a chegar ao fundo disso!