Autenticando Linux (Ubuntu 9.04) no AD (Windows Server 2003)

Neste artigo você verá como autenticar a distribuição Linux Ubuntu 9.04 no AD (Active Directory) utilizando o Samba e Kerberos.

[ Hits: 35.174 ]

Por: Vicente Santos em 25/11/2009


Introdução



Algum tempo atrás precisei autenticar o Linux no AD no trabalho, foi onde começou o meu problema, procurei tutoriais na internet mas não conseguia de maneira nenhuma logar o Ubuntu 9.04 no Active Directory. Depois de muitas pesquisas e de muitos testes consegui e venho aqui compartilhar com alguém que esteja na mesma situação.

Nesta situação foi usado como cliente o Ubuntu 9.04 e como servidor o Windows 2003 Server.

Para começar são necessários alguns dados sobre sua rede e seu domínio. Para este artigo assumi os seguintes dados:
  • Nome do grupo/domínio (nome o qual é reconhecido o domínio "workgroup") = dominio
  • Nome do domínio (nome utilizado para adicionar as máquinas Windows no domínio) = dominio.vov
  • Nome do kerberos "realm" (mesmo nome do domínio sendo maiúsculo) = DOMINIO.VOV
  • Nome da máquina com servidor (hostname da máquina com AD) = servidor
  • Nome da máquina cliente (hostname da máquina local) = cliente
  • IP do servidor AD = 192.168.0.2

Pacotes necessários são:
  • Kerberos (será usado como protocolo de autenticação)
  • Winbind (será usado para fazer relações de confiança entre domínios e os smbd e nmbd)
  • Samba (usado para fazer a comunicação entre Linux e Windows)

Vamos instalar as dependências usando apt-get:

# apt-get install krb5-user samba winbind

Alterando arquivos .conf

Os arquivos abaixo devem ser alterados de acordo com sua rede.

Adicione no arquivo /etc/resolv.conf:

search dominio.vov
nameserver 192.168.0.2

Adicionar ao arquivo /etc/hosts:

192.168.0.2   servidor.grupo.vov servidor

Modificar no arquivo /etc/nsswitch.conf:

	passwd:         compat winbind
	group:          compat winbind
	shadow:         compat winbind

Acrescentar algumas linhas e modificar outras já existentes em /etc/kbr5.conf:

[logging]
default=FILE:/var/log/krb5libs.log
kdc=FILE:/var/log/krb5kdc.log
admin_server=FILE:/var/log/kadmind.log

[libdefaults]
#As linhas abaixo devem ser adicionadas abaixo de [libdefaults]
default_realm = DOMINIO.VOV
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

[realms]
#As linhas abaixo devem ser adicionadas abaixo de [realms]
DOMINIO.VOV = {
kdc = servidor.dominio.vov
admin_server = servidor.dominio.vov
default_domain = DOMINIO.VOV
}

[domain_realm]
#As linhas abaixo devem ser adicionadas abaixo de [domain_realm]
.dominio.vov = DOMINIO.VOV
dominio.vov = DOMINIO.VOV

Após fazer as configurações acima, executar os seguintes comandos para testar o Kerberos.

Sincronizando horário:

# ntpdate 192.168.0.2

Testando o Kerberos:

# kinit Usuário_do_Dominio@DOMINIO.VOV

Se não aparecer nenhuma mensagem de erro, funcionou! Digite o próximo:

# klist

Deve aparecer o texto abaixo:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: usuário@DOMINIO.SEU
Valid starting   Expires              Service 

16/10/09 14:12:30  16/10/09 13:12:34  krbtgt/DOMINIO.VOV@DOMINIO.VOV
RENEW UNTIL 16/10/09  13:35:22

Principais erros possíveis:
  • Hora do cliente não está sincronizada com a hora do servidor;
  • Nome do domínio não está maiúsculo.

De acordo com o Kerberos, são o únicos erros que relatei.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando Samba, mudando autenticação e reiniciando serviços
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Autenticando Linux num PDC Samba com auto-montagem de unidade por usuários (sem usar LDAP)

Instalando o Swat

Resolução de Nomes (e não IP) no Gerenciador de Arquivos - Linux x Linux

Samba + DHCP + Webmin em 3 distribuições Linux

Scripts no SAMBA

  
Comentários
[1] Comentário enviado por danielrsj em 25/11/2009 - 10:13h

olá amigo..

legal seu artigo.

Também passei por isso pra autenticar uma máquina linux no AD windows e achei um parto isso tudo.

DICA: tem um jeito muuuuuuito mais fácil de se fazer isso.
E se chama LIKEWISE OPEN http://www.likewise.com/products/likewise_open/

Com apenas uma linha de comando o programa faz tudo isso que teríamos que fazer na mão e ainda cria a conta de máquina no AD.

Abraço!

[2] Comentário enviado por Fayruel em 25/11/2009 - 11:37h

Legal mesmo.
Pena que não achei essa alternativa, mas foi um bom aprendizado.
Valeu Abraço!

[3] Comentário enviado por removido em 26/11/2009 - 11:24h

Muito bom tutorial...Porem utilizo o ubuntu(des 8.04) e sempre usei nos clientes o LIKEWISE-OPEN.
é bm simples a instalação....
sudo apt-get install likewise-open
Depois disso: O Likewise-Open possui um comando para ingressar a máquina no domínio chamado domainjoin-cli e é através que se põe a máquina no domínio:

sudo domainjoin-cli join linux.local Administrator

linux.local = dominio
Administrator = Usuario do Windows 2003 EN, se o Windows 2003 for em portugues utilize Administrador

Abraço



[4] Comentário enviado por grandmaster em 28/11/2009 - 10:18h

legal o artigo.

Boa dica do likewise.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br



[5] Comentário enviado por pedroseno em 03/08/2010 - 17:31h

Sim, o Likewise é muito bom, porém estou com problemas com ele ao logar na estação com o usuário de domínio.
O login funciona, porém o usuário não pega o perfil que está em /etc/skel.
Alguém sabe onde o usuário pega o perfil?!
Seria dentro de algum dos arquivos localizados em /etc/pam.d?!

Se alguem souber a solução do problema, agradeço!
Abraços a todos!

[6] Comentário enviado por pedroseno em 05/08/2010 - 14:19h

Senhores, consegui resolver meu problema utilizando a versão 6 do Likewise-open e trabalhando com o seu registro.
Nesta versão da aplicação, os usuários do domínio já pegam por padrão o perfil do diretório /etc/skel. E há muitas outras opções que podem ser alteradas através do arquivo lsassd.reg.
Após baixarem a versão 6 do Likewise-open através do site (como no meu caso), instalarem a aplicação e por fim e aderirem a um domínio qualquer, digitem:

# vim /opt/likewise/share/config/lsassd.reg

Verifiquem as várias opções disponíveis, como a citada:

"SkeletonDirs"="/etc/skel"

Após fazerem as alterações que julgarem necessárias, acessem o diretório /opt/likewise/bin/ e importem o arquivo na aplicação através do seguinte comando:

# ./lwregshell import /opt/likewise/share/config/lsassd.reg

Não sei se me expressei bem, mas o processo é este!

Dúvidas, estou a disposição.
Abraços a todos!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts