• CO.CC:Free Domain
  • Nuvem de Tags

  • Assine nossa lista:

    Assine nosso Feed RSS
  • Archives

Ubuntu 8.04 autenticando no AD do Windows Server 2003

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

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/

Adicionar ao Rec 6 Adicionar ao Linkk Adicionar ao Technorati   Enviar por e-mail Enviar por e-mail

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

  1. Ubuntu 8.04 autenticando no AD do Windows Server 2003…

    leia mais……

  2. Ubuntu 8.04 autenticando no AD do Windows Server 2003…

    leia mais……

  3. Bacana o artigo, eu vi seu link no twitter :D, depois faz uma visita no meu blog e comenta la..
    Abra?os

  4. […] 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. Vicente e os motivos desconhecidos, macabros e estranhos hehe

    Muito bom o Artigo

  6. 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. Correção:
    Kra não tem problema algum em instalar o linux no msm PC que tem o windows…

  8. 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. 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. 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. 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. 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. 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.

Leave a Reply

CO.CC:Free Domain