Integrando autenticação do Squid ao Active Directory
Implementar autenticação do Squid integrando-o ao Active Directory da Microsoft. Nesse artigo foi usada a versão 3 do Squid juntamente com a versão 2008 do Windows. Minha intenção com essa documentação é reunir todas as experiências que eu coletei e dicas a mim enviadas e que me levaram ao sucesso na implementação dessa solução.
Parte 3: Instalando e configurando o Samba
Vamos instalar o Samba usando os pacotes disponíveis nos repositórios oficiais do Debian Linux, conforme a seguir:
# apt-get install samba samba-common smbclient
Agora vamos configurá-lo, nesse caso como vai ser apenas compartilhamento de impressora a configuração é bem enxuta, mas primeiro vamos fazer uma copia de segurança do smb.conf.
# cd /etc/samba
# cp smb.conf smb.conf.default
Agora vamos esvaziar o smb.conf:
# echo "" > smb.conf
Para então colar o seguinte conteúdo:
# vi /etc/samba/smb.conf
Salve o arquivo e saia, em seguida vamos reiniciar o Samba e Winbind:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Agora vamos adicionar nosso servidor Linux ao domínio, para isso usaremos o comando abaixo:
# net ads join DOMINIO -U administrador%SENHA_DO_ADMINISTRADOR
Se ao rodar o comando acima obtiver a seguinte saída:
Using short domain name -- DOMINIO
Joined 'PROXYVM2' to realm 'Dominio.local'
DNS update failed!
Pode-se verificar que mesmo com o erro conseguimos listar os usuários/grupos do AD, mas para não ocorrer o erro acima, basta irmos ao arquivo /etc/hosts comentando as linhas correspondentes a loopback:
Em seguida vá ao servidor Windows > Ferramentas administrativas > Usuários e grupos do AD >> computadores.
Remova o servidor Linux e recoloque-o no domínio novamente:
# net ads join DOMINIO -U administrador%SENHA_DO_ADMINISTRADOR
Using short domain name -- DOMINIO
Joined 'PROXYVM2' to realm 'dominio.local'
Agora vamos realizar alguns testes, o primeiro é um teste de acesso ao domínio:
# wbinfo -t
checking the trust secret via RPC calls succeeded
Agora vamos listar usuários e grupos do domínio:
# wbinfo -u (lista usuários)
# wbinfo -g (lista grupos)
Podemos ainda coletar informações sobre o domínio:
# net ads info
# apt-get install samba samba-common smbclient
Agora vamos configurá-lo, nesse caso como vai ser apenas compartilhamento de impressora a configuração é bem enxuta, mas primeiro vamos fazer uma copia de segurança do smb.conf.
# cd /etc/samba
# cp smb.conf smb.conf.default
Agora vamos esvaziar o smb.conf:
# echo "" > smb.conf
Para então colar o seguinte conteúdo:
# vi /etc/samba/smb.conf
unix charset = ISO-8859-1
workgroup = DOMAIN # Domínio a qual o servidor pertence
netbios name = PROXYVM # Nome netbios do servidor
server string = proxyvm # Alias para o servidor
log level = 5
load printers = no
log file = /var/log/samba/log.%m
max log size = 500
realm = dominio.local # Domínio do servidor
security = ads
auth methods = winbind
#password server = win2003.dominio.local # Endereço do servidor de autenticação nome/ip
password server = 172.16.10.254 # Endereço do servidor de autenticação nome/ip
winbind separator = +
encrypt passwords = yes
printcap name = cups
winbind cache time = 15
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
os level = 233
domain master = no
preferred master = no
domain logons = no
#wins server = 172.16.20.150 # Só deve ser descomentado se o servidor Windows for um 2003
dns proxy = no
ldap ssl = no
printing = cups
disable spoolss = yes
show add printer wizard = no
template shell = /bin/bash
template homedir = /home/%U
workgroup = DOMAIN # Domínio a qual o servidor pertence
netbios name = PROXYVM # Nome netbios do servidor
server string = proxyvm # Alias para o servidor
log level = 5
load printers = no
log file = /var/log/samba/log.%m
max log size = 500
realm = dominio.local # Domínio do servidor
security = ads
auth methods = winbind
#password server = win2003.dominio.local # Endereço do servidor de autenticação nome/ip
password server = 172.16.10.254 # Endereço do servidor de autenticação nome/ip
winbind separator = +
encrypt passwords = yes
printcap name = cups
winbind cache time = 15
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
os level = 233
domain master = no
preferred master = no
domain logons = no
#wins server = 172.16.20.150 # Só deve ser descomentado se o servidor Windows for um 2003
dns proxy = no
ldap ssl = no
printing = cups
disable spoolss = yes
show add printer wizard = no
template shell = /bin/bash
template homedir = /home/%U
Salve o arquivo e saia, em seguida vamos reiniciar o Samba e Winbind:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Agora vamos adicionar nosso servidor Linux ao domínio, para isso usaremos o comando abaixo:
# net ads join DOMINIO -U administrador%SENHA_DO_ADMINISTRADOR
Se ao rodar o comando acima obtiver a seguinte saída:
Using short domain name -- DOMINIO
Joined 'PROXYVM2' to realm 'Dominio.local'
DNS update failed!
Pode-se verificar que mesmo com o erro conseguimos listar os usuários/grupos do AD, mas para não ocorrer o erro acima, basta irmos ao arquivo /etc/hosts comentando as linhas correspondentes a loopback:
# 127.0.0.1 localhost
# 127.0.1.1 proxyvm2.localhost proxyvm2
# 127.0.1.1 proxyvm2.localhost proxyvm2
Em seguida vá ao servidor Windows > Ferramentas administrativas > Usuários e grupos do AD >> computadores.
Remova o servidor Linux e recoloque-o no domínio novamente:
# net ads join DOMINIO -U administrador%SENHA_DO_ADMINISTRADOR
Using short domain name -- DOMINIO
Joined 'PROXYVM2' to realm 'dominio.local'
Agora vamos realizar alguns testes, o primeiro é um teste de acesso ao domínio:
# wbinfo -t
checking the trust secret via RPC calls succeeded
Agora vamos listar usuários e grupos do domínio:
# wbinfo -u (lista usuários)
# wbinfo -g (lista grupos)
Podemos ainda coletar informações sobre o domínio:
# net ads info