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!