Ubuntu 12.04 autenticando no Active Directory com Samba/Kerberos/Winbind

Estou utilizando para a confecção deste tutorial, a necessidade que surgiu em ter um servidor de autenticação para as máquinas clientes de nossa rede
interna. Para tanto, estamos usando como servidor central, o Windows Server 2008 e o Active Directory como gerenciador de domínio.

[ Hits: 59.816 ]

Por: Humberto Júnior em 29/05/2013 | Blog: http://mundonix.wordpress.com


Introdução / Instalação / Configuração



Introdução

Estou utilizando, para a confecção deste tutorial, a necessidade que surgiu em ter um servidor de autenticação para as máquinas clientes da nossa rede interna.

Para tanto, estamos usando como servidor central, o Windows Server 2008 e o Active Directory como gerenciador de domínio.

Vale salientar, que não iremos aqui abordar a instalação ou configuração do servidor de AD, considerando que o mesmo já existe na rede e está configurado com seus usuários, grupos e permissões.

Todas as configurações feitas nesse tutorial foram testadas no Ubuntu 12.04 - Precise.

Inicialmente, iremos instalar os pacotes necessários para o desenvolvimento desse projeto:
  • Samba
  • Winbind
  • Kerberos

Instalando e configurando os pacotes necessários

# apt-get install samba winbind krb5-clients krb5-user

Após as instalações, iremos editar os arquivos de configuração do Kerberos e do Samba:

# vim /etc/samba/smb.conf

[global]
workgroup = NOME_DO_WORKGROUP  // Pode ser o nome do workgroup da rede
server string = Servidor AD
netbios name = nome_da_maquina  // Será o nome desse desktop que você está configurando
realm = DOMINIO.LOCAL  // Nome do domínio local
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 = IP_DO_SERVIDOR_AD  // Ex.: 192.168.0.1
allow trusted domains = yes
idmap uid = 1000-20000
idmap gid = 1000-20000
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
#winbind refresh tickets = yes
template shell = /bin/bash
template homedir = /home/%D/%U
client use spnego = yes
domain master = no
restrict anonymous = 2


Uma vez configurado o arquivo do Samba, vamos aproveitar para configurar o arquivo do Kerberos:

# 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 = DOMINIO.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24000

[realms]
DOMINIO.LOCAL = {
kdc = IP_DO_SERVIDOR_AD  // FQDN do servidor de autenticação
admin_server = IP_DO_SERVIDOR_AD:749  // FQDN do servidor de autenticação
default_domain = IP_DO_SERVIDOR_AD //
}

[domain_realm]
.dominio.local = DOMINIO.LOCAL  // Domínio completo
dominio.local = DOMINIO.LOCAL |  // Domínio completo

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


    Próxima página

Páginas do artigo
   1. Introdução / Instalação / Configuração
   2. Adicionando máquinas ao domínio (AD)
Outros artigos deste autor

CoreOS no VirtualBox

Bloqueando e desbloqueando falhas de login em SSH usando o pam_tally2

Leitura recomendada

Solução para Samba e Fedora 5 com HD serial ATA

Resara Server Configuration

Minimizando o delay de logon do Samba

Samba e as "vulnerabilidades" encontradas

Samba PDC no KUbuntu

  
Comentários
[1] Comentário enviado por mebelin em 29/05/2013 - 08:40h

Conhece alguma forma do usuário comum alterar sua senha do domínio?

[2] Comentário enviado por halencarjunior em 29/05/2013 - 08:49h

usando o smbpasswd

# smbpassword -r <DOMINIO> -U <login_do_usuario>

[3] Comentário enviado por dannyalisson em 31/05/2013 - 09:26h

Uma pergunta. Tenho um Dominio Samba com Openldap já tentei de tudo até reza braba fazer com que minhas maquinas linux se autentiquem no Dominio Samba. Consigo enchergar os usuarios da rede e consigo autenticar o usuario Root, mais um usuario comum não consigo logar. Você conhece alguma forma de fazer com que meus usuarios se autentiquem?



[4] Comentário enviado por halencarjunior em 31/05/2013 - 10:11h

Eu precisaria ver todas as confs que você fez no samba e no ldap para dizer alguma coisa.

[5] Comentário enviado por dannyalisson em 31/05/2013 - 11:28h

Se quiseres posso enviar para o seu email!

[6] Comentário enviado por halencarjunior em 31/05/2013 - 11:31h

Pode enviar clicando no meu nick ali.

[7] Comentário enviado por dannyalisson em 31/05/2013 - 11:54h

Já enviei agradeço a ajuda.

[8] Comentário enviado por jorgetrc em 11/06/2013 - 11:33h

Olá, amigo, segui o seu tutorial, mas quando coloco os dados de acesso dos usuário do AD

para acessar algum diretório compartilhado pelo samba eu recebo a informação de "acesso negado",

pode me ajudar?


att...

[9] Comentário enviado por halencarjunior em 11/06/2013 - 11:37h

Preciso saber das permissões do Diretório, e preciso ver sua configuração do SAMBA.

[10] Comentário enviado por jorgetrc em 11/06/2013 - 11:43h

ok, posso te enviar por aqui mesmo?

[11] Comentário enviado por halencarjunior em 11/06/2013 - 11:45h

Pode sim. Pelo e-mail que aparece no meu cadastro

[12] Comentário enviado por jorgetrc em 11/06/2013 - 11:49h

enviei o email...

[13] Comentário enviado por tiagor7 em 25/06/2013 - 16:24h

amigo, fiz os procedimento certinho
mais quando coloco o comando wbinfo -u só lista os usuários do linux, nao aparece pra mim os users do AD
verifiquei todas as configurações mais nao achei o erro
poderia me ajudar

valeu !

[14] Comentário enviado por halencarjunior em 25/06/2013 - 16:26h

1 - Verificar se o ticket gerado pelo keberos está ativo
2 - Você tem que verificar se o computador está adiconado normalmente no domínio.
3 - verificar se o nsswitch está configurado corretamente

[15] Comentário enviado por dionyruaro em 04/07/2013 - 17:41h

Realizei todo o passo a passo e esta apresentando a msg de Failed to join domain: failed to lookup DC info for domain 'TORRE.GALPAO' over rpc: NT_STATUS_CONNECTION_RESET
Já li muitos tutoriais sobre este erro e não esta resolvendo, o kinit faz certo e o certificado do kerberos tbm esta valido. mas na hora de ingressar a estação no ad apresenta este erro. Tem alguma dica que possa me ajudar.

Valew!

[16] Comentário enviado por henmigue em 12/09/2013 - 08:36h

Olá,

Fiz tudo com sucesso até ao comando de entrada no domínio: # net ads join DOMINIO.LOCAL -U <usuario_admin>

Coloquei: # net ads join COMPELMADA.LOCAL -U administrator@COMPELMADA.LOCAL , e recebi a seguinte mensagem:

"Kinit succeeded but ads_sasl_spnego_krb5_bind failed: Invalid credencials
Failed to join domain: failed to connect to AD: Invalid credencials"

Tenho a certeza de que o utilizador e a password estão corretos. Tem alguma ideia do que poderá estar a acontecer?

PS:
durante a instalação do pacote, fui alertado que não era possivel concluir a instalação por estar ligado ao dominio com o likewise (dado que já tinha tentado este procedimento com o likewise, sem sucesso), no entanto, desconectei-me dele e voltei a fazer tudo de novo e consegui concluir a instalação.

Abraço
Henrique

[17] Comentário enviado por halencarjunior em 12/09/2013 - 08:57h

Olá henmique,

acredito que houve um equívoco na hora de postar o comando.

por favor teste dessa forma:

# net ads join -r COMPELMADA.LOCAL -U administrator@COMPELMADA.LOCAL

A sintaxe poderia ser assim:

# net ads join -r <DOMINIO> -U <USUARIO>@<DOMINIO> -S <SERVIDOR_AD>

[18] Comentário enviado por henmigue em 12/09/2013 - 10:09h

andrauz,

repeti o comando nas duas formas apresentadas e o erro é o mesmo.

para testtar, repeti o 2º comando, e atribui ao campo <SERVIDOR.AD> o IP da maquina em questão em vez do nome (FILESERVER) e o erro é o seguinte:

"Kinit succeeded but ads_sasl_spnego_krb5_bind failed: Server not found in kerberos database
Failed to join domain: failed to connect to AD: Server not found in kerberos database"

Abraço,
Henrique

[19] Comentário enviado por alexoliveira em 11/03/2014 - 21:29h

Caro Andrauz,

Otimo artigo.

Eu segui todos os passos, mas quando executo o getent passwd so aparecem para mim os usuarios locais.
Por conta disso, a autenticacao no lightdm falha, mesmo que o winbind e o krb5 validem e autentiquem o usuario.

Saberia me dizer o que pode estar errado?

Estou ha uns dois dias pesquisando sobre o tema e nao consigo fazer funcionar de forma alguma.

Grato!
Alexandre

[20] Comentário enviado por hugo.dias em 13/02/2015 - 17:48h


Olá amigo! Sou meio iniciante com Linux e estou tentando resolver uma missão que me foi dada...rs
Preciso compartilhar alguns diretórios no servidor ,Ubuntu 14.04 já integrado ao AD, usando este procedimento: http://community.spiceworks.com/how_to/80336-join-ubuntu-14-04lts-to-a-windows-domain-using-pbis-ope.... Esta etapa está Ok.

Agora preciso configurar o SAMBA para compartilhar os diretórios localizados em: /dev/Sda1/DADOS e /dev/Sdb1/DATABASE para os grupos Domain Users do meu domínio: EXEMPLO.LOCAL.

Preciso repetir todos os procedimentos que você descreveu no tutorial ou posso começar apartir de algum ponto específico (ex. config. do arquivo smb.conf)?

Desde já agradeço a ajuda!

Hugo

[21] Comentário enviado por fabiocereto em 13/10/2016 - 14:38h

Olá amigo boa tarde, sou meio novato no Linux entrei em uma empresa em que existem 3 servidores Linux Ubuntu 16.04 LTS e um controlador de domínio AD Windows Server 2012 solicitaram que eu ingresse estes servidores no domínio do AD segui o passo-a-passo porém não obtive sucesso, quando tento inserir a máquina no domínio é retornado o seguinte erro: erro de sintaxe próximo do 'token' não esperado 'newline' , quando executo o teste com o kinit e o usuário ele pede a senha porém é retornado erro: Preauthentication filed while getting initial credentials, caso possa me ajudar fico grato.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts