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.
Para 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: compathosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: filesprotocols: db files
services: db files
ethers: db files
rpc: db filesnetgroup: 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 pricipal07/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/
Filed under: Linux, Redes, Todos, Windows
Enviar por e-mail




Ubuntu 8.04 autenticando no AD do Windows Server 2003…
leia mais……
Ubuntu 8.04 autenticando no AD do Windows Server 2003…
leia mais……
Bacana o artigo, eu vi seu link no twitter :D, depois faz uma visita no meu blog e comenta la..
Abra?os
[…] 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 […]
Vicente e os motivos desconhecidos, macabros e estranhos hehe
Muito bom o Artigo
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.
Correção:
Kra não tem problema algum em instalar o linux no msm PC que tem o windows…
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.
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?
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..
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.
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
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.