Há muito tempo que não instalava um Squid e eis que surgiu a necessidade de fazê-lo.
Esta instalação, diferente das anteriores que havia realizado, precisava autenticar no Windows Active Directory 2012, mas como tratava-se de uma autenticação simples, ao invés de Kerberos, Winbind e afins, optei por utilizar a autenticação básica, com os comandos squid_ldap_group e o smb_auth.
Depois da instalação e da configuração finalizadas, iniciei os testes dos mecanismos de comunicação com o AD. Primeiro o squid_ldap_group, que comportou-se como o esperado e depois o smb_auth, que acabou falhando.
Mesmo após vários testes e verificações me deparava sempre com o mesmo problema:

/usr/lib/squid3/smb_auth -d -W MEUDOMINIO -U 192.168.1.2
meu_usuario minha_senha
Domain name: MEUDOMINIO
Pass-through authentication: no
Query address options: -U 192.168.1.2 -R
Domain controller IP address: 192.168.1.2
Domain controller NETBIOS name: MEUDOMINIODC1
Contents of //MEUDOMINIODC1/NETLOGON/proxyauth:
ERR

Como eu tinha certeza de que estava tudo correto, decidi debugar os softwares. Já que o smb_auth era um binário, iniciei a investigação pelo script /usr/lib/squid3/smb_auth.sh
Aparentemente não havia nada de errado com o mesmo, mas ele também falhava nos testes. Resolvi então testar o script passo a passo e acabei  me depararando com um erro lamentável. O comando que verificava o conteúdo do arquivo proxyauth no compartilhamento netlogon não estava enviando os dados de autenticação, como podemos ver abaixo:

authinfo=`smbclient “//$dcname/$AUTHSHARE” -I $dcip -d 0 -E -W “$DOMAINNAME” -c “get $authfilebs -” 2>/dev/null`

Corrigi então o código, que ficou da seguinte maneira:

authinfo=`smbclient “//$dcname/$AUTHSHARE” -I $dcip -d 0 -E -W “$DOMAINNAME” -c “get $authfilebs -” -U $USER 2>/dev/null`

Voilà, problema resolvido:  

/usr/lib/squid3/smb_auth -d -W MEUDOMINIO -U 192.168.1.2
meu_usuario minha_senha
Domain name: MEUDOMINIO
Pass-through authentication: no
Query address options: -U 192.168.1.2 -R
Domain controller IP address: 192.168.1.2
Domain controller NETBIOS name: MEUDOMINIODC1
Contents of //MEUDOMINIODC1/NETLOGON/proxyauth: allow
OK

Espero que este post seja útil e evite que você perca tanto tempo quanto eu perdi numa tarefa tão corriqueira.
Bug com smb_auth no Squid3 do Ubuntu 12.04
Plugin for Social Media by Acurax Wordpress Design Studio
Optimization WordPress Plugins & Solutions by W3 EDGE
%d blogueiros gostam disto: