As configurações apresentadas foram testadas no
CentOS 5.6 e no
Ubuntu 8.04.
1. Pacotes necessários:
- Samba
- Kerberos (krb5-clients, krb5-users)
- Winbind
2. Instalação e configuração dos pacotes
2.1. Samba
Instalação no CentOS:
# yum install samba3x.x86_64
Instalação no Ubuntu:
# apt-get install samba
Segue arquivo de configuração do Samba apenas para integração ao domínio, neste caso não foi configurado um servidor de
arquivos, mas caso seja necessário basta adicionar os compartilhamentos ao final do mesmo. Os parâmetros que precisam ser
alterados possuem comentários ao final da linha identificando o que é necessário, os demais recebem as configurações padrão do
serviço.
# vim /etc/samba/smb.conf
[global]
workgroup = teste // nome do grupo de
trabalho/domínio
server string = Teste de integração com domínio
netbios name = linux
realm = TESTE.COM.BR // domínio
completo
log file = /var/log/samba/samba.log
os level = 2
preferred master = no
max log size = 50
debug level = 1
security = ads
encrypt passwords = yes
socket options = SO_KEEPALIVE TCP_NODELAY
password server = 192.168.1.1 // ip do servidor
de autenticação
allow trusted domains = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
hosts allow = 192.168. // faixa de
ips liberados para acesso ao servidor
Após a configuração do smb.conf, é necessário associar a máquina ao domínio. Dependendo da versão do SO pode ser necessário
um comando mais "completo", segue dois exemplos com a mesma finalidade, em ambos os casos será solicitada a senha do
usuário:
net join -w <domínio> -S<nome_do_servidor_do_AD> -U <usuário>
Ex.:
# net join -w teste -SPDC -U master
net rpc join <domínio> -U <usuario>
Ex.:
# net rpc join TESTE -U master
2.2. Kerberos
Instalação no CentOS:
# yum install krb5-clients krb5-users
Instalação no Ubuntu:
# apt-get install krb5-clients krb5-users
Segue arquivo de configuração do kerberos. Os parâmetros que precisam ser alterados possuem comentários ao final da linha
identificando o que é necessário, os demais recebem as configurações padrão do serviço.
# vim /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = TESTE.COM.BR // domínio completo
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
TESTE.COM.BR = { //domínio completo
kdc = kerberos.teste.com.br:88 // FQDN do servidor de
autenticacao
admin_server = kerberos.teste.com.br:749 // FQDN do
servidor de autenticacao
default_domain = teste.com.br //domínio completo
}
[domain_realm]
.teste.com.br = TESTE.COM.BR //domínio completo
teste.com.br = TESTE.COM.BR // domínio completo
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
2.3. Winbind
Instalação no CentOS:
# yum install winbind
Instalação no Ubuntu:
# apt-get install winbind
No winbind só precisamos alterar as três linhas seguintes, as demais devem permanecer com os parâmetros originais.
# vim /etc/nsswitch.conf
passwd: files winbind
group: files winbind
shadow: files winbind
2.4. Configurar os serviços para iniciar automaticamente
CentOS:
# chkconfig smb on
# chkconfig winbind on
Ubuntu:
# update-rc.d samba multiuser
# update-rc.d winbind multiuser
2.5. Iniciar/reiniciar os serviços para iniciar automaticamente
CentOS:
# service smb {start|stop|restart|reload|status|condrestart}
# service winbind {start|stop|restart|reload|status|condrestart}
Ubuntu:
# /etc/init.d/samba {start|stop|reload|restart|force-reload|status}
# /etc/init.d/winbind {start|stop|restart|force-reload}
Isso mesmo cesar, a configuração é para integração do Linux ao domínio AD.
As instalações que fiz foram para integração de servidores, que hospedam alguns serviços na rede como: Proxy, Servidor de arquivos e Repositórios de dados. Neste cenário a autenticação e a integração foram bem sucedidas, os usuários cadastrados no AD, conseguem acesso a todos os serviços sem que seja necessário efetuar configurações extras nos servidores.
Em relação a estações de trabalho, fiz alguns testes, a máquina integra ao domínio, consegue acessar grupos de trabalho, ver os usuários mas o login não é bem sucedido. Não tive como ainda verificar mais a fundo essa questão, mas recebi uma indicação desta dica
http://www.ubuntugeek.com/how-to-add-ubuntu-804-to-win-server-2003-active-directory-domain.html para fazer esta integração e parece resolver o problema.