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: 33.777 ]

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

Instalando um PDC Samba no Debian

Slackware como controlador de domínio

Evitando acúmulo de arquivos na lixeira do Samba

Servidor Samba como PDC

Samba 4 (Active Directory) no Debian/Ubuntu Server

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts