sexta-feira, 22 de agosto de 2008

Erro em autenticação smb_auth do squid

Eu acho incrível como as coisa "fáceis" sempre se complicam e dão um trabalhão quando eu resolvo fazer. rsrs
A algum tempo eu tentei fazer um squid com autenticação em um servidor Windows 2003, não consegui, apareceram os problemas mais estranho, mesmo eu seguindo um monte de tutoriais e manuais diferentes, tentei até utilizar o Samba para autenticar usuários e não consegui, dava um erro no momento que o sistema tentava achar o conteúdo do arquivo proxyauth que fica no compartilhamento netlogon do Samba.
Procurei por horas na net, mas ninguém teve um problema como esse.
Hoje enquanto montava um servidor para um cliente, tentei fazer a autenticação em um pdc com samba (esse pdc foi montado pelo colega Lindomar Martins) eu não conseguia me logar no domínio utilizando o smb_auth por não conseguir achar o conteúdo desse bendito proxyauth, quando eu executava o comando smb_auth aparecia o seguinte erro:

Domain name: DOMINIO
Pass-through authentication: no
Query address options: -R 192.168.1.100 -R
Domain controller IP address: 255.255.255.255
Domain controller NETBIOS name: IQS
Contents of //IQS/NETLOGON/proxyauth:
ERR

Observe na linha em destaque que não existe nada depois dos dois pontos, isso é porque ele não achou o arquivo.

Então resolvi pesquisar um pouco e depois de quase 3 horas revirando a net achei uma dica que dizia para eu fazer uma auteração no arquivo smb_auth.sh da máquina cliente. Não achei que poderia ser isso, pois eu havia instalado o samba e o squid seguindo orienteções de seus próprios manuais, mas resolvi tentar.
A dica era a seguinte:

Editar o arquivo /usr/lib/squid/smb_auth.sh e inserir a linha

export SAMBAPREFIX=/usr

antes das linhas

read DOMAIN
read PASSTHROUGH
read NMBADDR
read NMBCAST
read AUTHSHARE

Detalhe é que esse arquivo pode estar em outro local, então o ideal é localiza-lo, que pode ser feito pelo comando

find / -name smb_auth.sh

No meu caso estava em /usr/libexec/.

Depois dessa alteração foi só executar o comando

/usr/libexec/smb_auth -W DOMINIO -U 192.168.0.100 -d

A resposta foi:

Domain name: DOMINIO
Pass-through authentication: no
Query address options: -R 192.168.1.100 -R
Domain controller IP address: 255.255.255.255
Domain controller NETBIOS name: IQS
Contents of //IQS/NETLOGON/proxyauth:allow
OK

Observe a palavra allow no final da linha em destaque.
Mais um problema misterioso resolvido.

Ah, Meu linux é o Slackware 12, squid 3 e samba 3.0.25.

Nenhum comentário: