Curiosidades, dicas e notícias de Linux, Windows e muito mais!



Ubuntu 8.04 autenticando no AD do Windows Server 2003

Publicado em 25/7/2008 | Autor Vicente


Este é um tutorial para fazer o Ubuntu autenticar em um domínio Windows 2000/2003.
Logo Ubuntu, linux, distribuição, fácil, distribution, easy, linux, installPara instalar o Ubuntu baixe o iso e queime o CD. Recomendo que você faça os testes em uma máquina dedicada. Dá azar instalar um Linux na mesma máquina que você usa com o Windows. E digo mais: segundo as leis de Murphy, instalar Linux em sua máquina sem fazer backup aumenta em 1500% as chances de algo errado acontecer. Se mesmo assim você quiser corre o risco, não xingue a minha mãe, ela não gosta de Linux…

Abra uma console e edite os arquivos de configuração utilizando seu editor favorito. Lembre-se que as alterações devem ser realizadas utilizando-se do comando sudo. Por exemplo: para alterar o arquivo /etc/nsswitch.conf execute: sudo vim /etc/nsswitch.conf.

Faça a atualização do seu Ubuntu usando o Synaptics e instale os pacotes krb5-user, winbind, samba e ssh.

Tenha certeza que o horário e fuso da sua máquina esteja de acordo com o do servidor. Caso contrário o você não poderá logar. O Windows Server 2003 é muito chato com relação ao logon de máquinas com diferenças de horário.

Altere o /etc/resolv.conf conforme abaixo:

search dominio.seu
nameserver ip_dns_primario
nameserver ip_dns_secundario_se_houver

Altere o /etc/hosts conforme abaixo, delete todas as outras entradas:

ip_maquina    nome_maquina.dominio.seu    nome_maquina

Altere o arquivo /etc/nsswitch.conf conforme abaixo:

passwd: compat winbind
group: compat winbind
shadow: compat

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

Altere o arquivo /etc/krb5.conf conforme abaixo:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMINIO.SEU
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes
[realms]
DOMINIO.SEU = {
kdc = servidor.dominio.seu
admin_server = servidor.dominio.seu
default_domain = DOMINIO.SEU
}
[domain_realm]
.dominio.seu = DOMINIO.SEU
dominio.seu = DOMINIO.SEU
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Para verificar que você consegue se autenticar via kerberos execute o comando:

kinit usuario@DOMINIO.SEU

Será solicitada a senha do usuário. Se não der nenhuma mensagem de erro, execute o comando klist. Se for mostrada uma mensagem parecida com a abaixo, você se autenticou com sucesso:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: usuario@DOMINIO.SEU
Valid starting   Expires                      Service pricipal

07/24/08 18:12:30  07/25/08 04:12:34  krbtgt/DOMINIO.SEU@DOMINIO.SEU
RENEW UNTIL 07/25/08 16:12:30

Altere o arquivo /etc/samba/smb.conf conforme abaixo:

[global]
workgroup = dominio
security = ads
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = no
password server = servidor.dominio.seu
realm = DOMINIO.SEU
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
winbind use default domain = true
winbind enum users = yes
winbind enum groups = yes

Edite os arquivos de configuração do PAM:

O arquivo /etc/pam.d/common-account deve conter somente as linhas:

account sufficient pam_winbind.so
account required pam_unix.so

O arquivo /etc/pam.d/common-auth deve conter somente as linhas:

auth    required        pam_listfile.so item=user sense=allow file=/etc/system_users onerr=fail
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

Inclua no arquivo /etc/pam.d/common-session a linha:

session required pam_mkhomedir.so umask=0022 skel=/etc/skel

Crie o arquivo /etc/system_users e coloque os usuários, um em cada linha, que deseja permitir logon no computador. NÃO ESQUEÇA DE SEUS USUÁRIOS LOCAIS!

Crie o diretório que conterá o home dos usuários do domínio:

mkdir /home/DOMINIO

Adicione o computador ao domínio com o comando:

net ads join -U usuario_com_permissao_adicionar@DOMINIO.SEU

Reinicie os serviços abaixo nesta ordem:

/etc/init.d/samba stop
/etc/init.d/winbind stop
/etc/init.d/samba start
/etc/init.d/winbind start

Inicie o SSH com o comando:

/etc/init.d/ssh restart

Teste com o comando:

ssh usuario_do_dominio@seu_computador

Por algum motivo macabro, se você logar direto na interface gráfica, não é criado o home. É necessário o primeiro logon ser feito via SSH para criar o diretório do usuário no caminho /home/DOMINIO/usuario. Depois disso funciona o logon via interface gráfica, sem problemas.

Pronto! Você já consegue logar no seu Ubuntu, usando sua conta de domínio.

Oportunidades de melhoria:
- Colocar a montagem automática de unidades de rede neste procedimento.
- Colocar como configurar o NTP para manter o horário de seu computador sincronizado com o do seu controlador de domínio.
- Algumas coisas estranhas acontecem de vez em quando. Por exemplo, quando clico para bloquear a estação demora quase 1 minuto para bloquear. Ainda não entedi por que mas se achar a causa, posto a solução.
- Criar via root no logon da interface gráfica.
- Eliminar as referências ao controlador de domínio e IP do computador local dos arquivos de configuração. Estes dados podem ser voláteis e quando alterados, podem impedir o logon.

Este procedimento não seria possível sem as fontes abaixo:
http://wiki.ubuntubrasil.org/AutenticandoAD
http://anothersysadmin.wordpress.com/2007/08/03/active-directoy-authentication-with-ubuntu/

Comments

28 Responses to “Ubuntu 8.04 autenticando no AD do Windows Server 2003”

  1. Usu?rio vicentesloboda no diHITT
    July 25th, 2008 @ 22:15
    Ubuntu 8.04 autenticando no AD do Windows Server 2003…

    leia mais……

  2. Vicente via Rec6
    July 25th, 2008 @ 22:16
    Ubuntu 8.04 autenticando no AD do Windows Server 2003…

    leia mais……

  3. Flamarion Jorge
    July 25th, 2008 @ 22:25
    Bacana o artigo, eu vi seu link no twitter :D , depois faz uma visita no meu blog e comenta la..
    Abra?os
  4. Como trocar a senha de um usu?rio do AD usando o Linux - Blog do Vicente
    August 5th, 2008 @ 13:37
    [...] voc? executou o procedimento para logar no Ubuntu usando usu?rios do AD, deve ter sentido falta de um modo de trocar a senha. Se sua empresa tem uma pol?tica implantada [...]
  5. Cleverson
    August 20th, 2008 @ 12:07
    Vicente e os motivos desconhecidos, macabros e estranhos hehe

    Muito bom o Artigo

  6. Fernandes
    November 12th, 2008 @ 17:27
    Kra não tem problema algum em instalar o linux no msm PC que tem o linux. É óbvio q vc deve criar uma nova partição para instalá-lo ou utilizar uma máquina virtual.

    - Bom para se criar uma nova partição utilize o Partition Magic — antes desfragmente o seu HD.
    - Ou utilize a máquina virtual Microsoft Virtual PC — assim não é necessário criar uma nova partição.
    É lógico q sem conhecimento e sem procurar se informar do assunto de forma eficiente só sairá merda. Estude, se informe e faça sem medo.

  7. Fernandes
    November 12th, 2008 @ 17:28
    Correção:
    Kra não tem problema algum em instalar o linux no msm PC que tem o windows…
  8. jackson vilela
    November 25th, 2008 @ 16:46
    Kra não consegui botar para funcionar legal… eu instalei a versão do ubuntu 8.04 e fiz todo o procedimento e dá um erro cabuloso…hehe
    do kinit pra frente nada rola…

    preciso muito colocar o ubuntu para logar no win 2003

    manda a força ai vicente abraço.

  9. Vicente
    November 25th, 2008 @ 19:04
    Que erro que deu no kinit? Dê uma revisada no seu arquivo /etc/krb5.conf, o problema deve estar lá.

    Outra coisa, seu Ubuntu está apontando para o servidor DNS do domínio?

  10. jackson vilela
    November 26th, 2008 @ 11:44
    Vicente o erro que dá é que não consegue resolver acho que o nome do domínio… no campo realms se não me engano. o servidor AD e DNS é o mesmo eu aponto o mesmo servidor.

    escuta se eu criar o arquivo apenas com as configurações que estão no tuto rola? é que estou deixando as configurações default do arquivo e modificando e acresentando as que vc criou…
    vou começar novamente a configuração ai te aviso o que deu.
    outra coisa o usuário que usu no kinit e um usuário do ubuntu ou do domínio?

    Obrigadão por me ajudar ai..

  11. Vicente
    November 26th, 2008 @ 12:21
    Faça assim:

    Me mande o IP, nome do servidor de domínio, nome completo do domínio que eu monto o krb5.conf para você.

    O usuário do kinit é usuário do domínio.

    Abraços.

  12. jackson vilela
    November 27th, 2008 @ 8:53
    192.168.0.10 esse é o IP
    SRVAD é o nome do Servidor
    CONJUNTONACIONA é o nome do domínio local

    há outra coisa, configuramos o domínio para que interno seja CONJUNTONACIONAL.LOCAL, quando eu acrescento uma máquina windows na rede eu uso o nome CONJUNTONACIONA, mas o nome do PC muda para PC.CONJUNTONACIONAL.LOCAL, inclusive quando eu instalo o Ubuntu ele pega esse nome CONJUNTONACIONAL.LOCAL

    não sei qual dos dois eu uso…

    vou adicionar um usuário do dominío no Ubuntu.

    abraço.
    thk

  13. jackson vilela
    November 28th, 2008 @ 14:20
    Vicente o erro é o seguinte quando executo o kinit: kinit (v5) : Cannot resolve network address for kdc in real conjuntonacional.local 1 while gerring initial credenctials

    eu estou logado no ubuntu com um usuário linux e testo o kinit com um usuário do domínio.

  14. Eduardo Carneiro
    December 2nd, 2008 @ 13:55
    Vicente, muito bom o artigo. Fiz os procedimentos e funcionou perfeitamente. Parabéns! Porém, quando tento acessar os compartilhamentos de uma máquina Windows sempre me pede usuário/ senha.

    Como resolver isso?

    Abraço!

  15. wellinton silva
    December 27th, 2008 @ 18:35
    amigo estou com problemas grave aqui viu, ja não sei mais o que faço sou novo no ubuntu e tal, eu tenho um servidor windows server 2003, e to querendo colocar o ubuntu nele, mais não consigo de jeito nenhum por exemplo em todos os lugares que eu vi manda mexer em /etc/resolv.conf ou /etc/hosts tudo bem vo e mexo mais depois que faça a alteração eu não sei salvar essa alteração dai quando mando entrar de novo esta como era nao como eu programei ja to ate cansado de mexer aqui e nada sera que vc pode me ajudar como salvar as alterações.

    att

    wellinton silva

    qualquer coisa vc pode me mandar um email te+

  16. Wallisson Narciso
    February 3rd, 2009 @ 10:08
    Obrigado pela dica cara.
    Está me ajudando bastante.

    Wallisson Narcisos last blog post..Derrotado – # 28

  17. Leandro
    February 18th, 2009 @ 17:35
    E ai mano, parabéns pelo artigo.

    O meu deu o mesmo erro do Jacson, vou te passar os dados se puder me ajudar agradeço:
    10.169.2.1
    servidorpdc
    MFTTO.LOCAL

    leandro330i@gmail.com

    Valew, até mais.

  18. jackson vilela
    April 7th, 2009 @ 12:33
    Fala Vicente..rsr kara tirei umas férias e voltei para o logar no AD..hehe. andei estudando e aprendi um bando de coisa, mas preciso de sua ajuda num lance aqui, eu fiz todas as configurações do tutorial, consegui inclusive listar todos os usuários do domínio através do ubuntu com o wbinfo -u, mas rolou um lance estranho aqui, fiz logoff e fui tentar logar com o usuário do domínio iiiiiii….. bomba crexou tudo…rsr
    não consigo logar com nenhum usuário, e não sei a sintaxe certa pra logar com o usuário do domínio, me ajuda ai se puder…

    valew…

  19. jackson vilela
    April 7th, 2009 @ 12:36
    E GALERA, PARA RESOLVER OS PROBLEMAS DE RESOLV, KINIT E TALS, É SÓ FICAR LIGADO NO ARQUIVO KRB5.CONF EM RELAÇÃO À PALAVRAS MAISCULAS E MINUSCULAS, SE COLOCAR DIFERENTE NÃO ROLA…
    INCLUSIVE NO KINIT O DOMÍNIO É MAIÚSCULO…
  20. Montagem automática de compartilhamentos Windows no Ubuntu - Blog do Vicente
    August 27th, 2009 @ 17:10
    [...] on August 27th, 2009 by Vicente No procedimento publicado aqui no blog sobre como integrar a autenticação do Ubuntu com um domínio Windows Server 2003 faltou a montagem automática de compartilhamentos Windows. Eu e o Diogo conseguimos criar um [...]
  21. Everton Moreira
    September 23rd, 2009 @ 12:23
    O meu erro e esse aqui

    [2009/09/23 12:21:00, 0] libads/kerberos.c:ads_kinit_password(362)
    kerberos_kinit_password elm@WEST.LOCA@WEST.LOCAL failed: Malformed representation of principal
    Failed to join domain: failed to connect to AD: Malformed representation of principal

    alguem pode ajudar por favor

  22. Everton Moreira
    September 23rd, 2009 @ 13:05
    tenho esse erro tambem no kinit

    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: administrator@WEST.LOCAL

    Valid starting Expires Service principal
    09/23/09 13:05:26 09/23/09 23:05:33 krbtgt/WEST.LOCAL@WEST.LOCAL
    renew until 09/24/09 13:05:26

  23. Luis Alberto Silva Costa
    September 25th, 2009 @ 15:35
    Kra, o meu funcionou perfeitamente! \o/

    Valeu Vicente! ;-)
    Luis Alberto Silva Costa´s last blog ..Encontrado! Guilherme Miranda Gomes My ComLuv Profile

  24. Tarcisio
    October 5th, 2009 @ 13:47
    Olá amigo, fiz tudo certinho como manda o script, mais estou com um problema. A pasta do usuario do dominio não é criada. Já fiz o ssh como vc manda lá em cima, e nada. Me ajude!
  25. Miguel
    October 9th, 2009 @ 11:18
    Fiz tudo como o indicado, antes de reiniciar consegui acessar a rede tudo bleza….mas depois que reiniciei, não consigo logar na primeira tela…da “Falha Logon Server”…o que fazer??
    Grato!
  26. Maron
    November 5th, 2009 @ 17:53
    fiz tudo copiando e colando, porem, quando chegou na parte de logar via ssh, não funcionou.
    Reiniciei a máquina, quando tento fazer login diz que não há servidor de logon.
    O que pode está errado?

    Maron

  27. Teste
    April 21st, 2010 @ 18:48
    Olá,

    Se realmente alguém já conseguio fazer tudo, pq não disponibiliza um exemplo para nós vermos, com o nome do servidor, IP, DNS, AD, etc…. Axo que seria bem melhor do que kontinuar à prokura de um monte de respostas k iram fikar sem solução, OK……Eu tb ainda não konsegui!

  28. Linux, BSD, AIX, Solaris, Mac OS e HP-UX logando em domínio Windows : Blog do Vicente
    August 3rd, 2010 @ 19:58
    [...] logar no domínio pela primeira vez foi uma batalha. Aqui no blog já divulguei como colocar o Ubuntu e o CentOS em domínio Windows. A quantidade de configurações é enorme e normalmente cada [...]

Deixe um comentário!





CommentLuv Enabled
  • Assine nossa lista: