Ingressando Desktop Linux no AD (Active Directory)
Prezados Colegas,
Primeiramente Saudações Pinguianas a todos.
Estou agora trabalhando em uma empresa como SysAdmin onde os servidores (a grande maioria) são Linux e todas as estações de trabalho (inclusive a minha) são Windows.
Conversei com o responsável e ele concordou que eu utilizasse Linux em minha estação de trabalho desde que fosse uma versão LTS (Optei pelo Ubuntu 14.04LTS) e que estivesse no dóminio da empresa, um Windows Server 2008 R2 com Active Directory.
Depois de “muito bater cabeça”, resolvi escrever esse artigo para documentar como eu fiz para integrar o meu Desktop Linux no domínio.
Primeiro, vou passar uma visão do cenário:
Domínio → EMPRESA.INTRA
Servidor DNS primário → 192.168.0.2
Servidor DNS Secundário → 192.168.0.1
Servidor DHCP → 192.168.0.2
Servidor controlador de domínio → 192.168.0.2 (ad.empresa.intra)
Desktop Cliente → 192.168.0.80 (ubuntu-desktop)
Agora, vamos instalar os pacotes necessários para essa integração:
apt-get install krb5-user krb5-config winbind samba samba-common smbclient cifs-utils libpam-krb5 libpam-winbind libnss-winbind ntp
Agora, precisamos ajustar o arquivo “/etc/hosts”, deixando-o assim:
127.0.0.1 ubuntu-desktop.empresa.intra localhost ubuntu-desktop 192.168.0.2 ad
Para que não haja nenhum problema na hora da integração, é necessário que o horário do Desktop esteja devidamente sincronizado com o do AD. Para isso, edite o arquivo de configuração do serviço NTP usando o Vim:
vim /etc/ntp.conf
Nas linhas do arquivo onde o conteúdo começa com a palavra “server”, comente estas linhas com uma tralha (#), e adicione essas entradas:
server 192.168.0.2 restrict 192.168.0.2
Agora reinicie o serviço:
/etc/init.d/ntp restart
Vamos ajustar agora o /etc/resolv.conf:
vim /etc/resolv.conf
Deixe-o com esse conteúdo:
search empresa.intra domain empresa.intra nameserver 192.168.0.2 nameserver 192.168.0.1
Agora, precisamos ajustar o KERBEROS:
vim /etc/krb5.conf
Deixe-o com esse contéudo:
[libdefaults] default_realm = EMPRESA.INTRA [realms] EMPRESA.INTRA = { kdc = ad.empresa.intra default_domain = EMPRESA.INTRA admin_server = ad.empresa.intra kpasswd_server = ad.empresa.intra } [domain_realm] .empresa.intra = EMPRESA.INTRA empresa.intra = EMPRESA.INTRA
Salve e saia.
Agora vamos fazer um teste… Execute o comando abaixo. Eu estou usando o nome “henrique”, que é o meu usuário criado no domínio, mas substitua pelo nome do usuário que estiver cadastrado no servidor.
kinit henrique
Se o comando não retornar nenhuma saída, é porque a comunicação está sendo realizada com sucesso. Agora vamos listar o ticket obtido nessa comunicação usando o comando:
klist
O comando klist deverá retornar uma saída como a que está abaixo:
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: [email protected] Valid starting Expires Service principal 05-03-2016 15:48:35 14-11-2016 01:49:08 krbtgt/[email protected] renew until 16-11-2016 15:48:35
Agora vamos ajustar o samba:
vim /etc/samba/smb.conf
Deixe o arquivo desse jeito:
[global] security = ads realm = EMPRESA.INTRA workgroup = EMPRESA idmap uid = 10000-15000 idmap gid = 10000-15000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%U template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes winbind use default domain = yes restrict anonymous = 2 winbind refresh tickets = yes
Vamos agora restartar os serviços:
/etc/init.d/samba restart /etc/init.d/winbind restart
Agora finalmente é hora de ingressar a máquina no domínio com o comando net. Execute o comando abaixo como root:
net ads join -U Administrador
Digite a senha do usuário “Administrador”. A saída do comando deverá ser algo parecido com isso:
Using short domain name - EMPRESA Joined 'UBUNTU-DESTKOP' to realm 'EMPRESA.INTRA'
Agora, precisamos alterar o arquivo “/etc/nsswitch.conf”:
vim /etc/nsswitch.conf
Altere apenas as linhas que começam com “passwd”, “group”, “hosts” e deixe dessa maneira:
passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns wins
Agora, edite o arquivo “/etc/pam.d/common-session”, e abaixo da linha que contém “session required pam_unix.so“, insira o seguinte conteúdo:
session required pam_mkhomedir.so umask=0022 skel=/etc/skel[/sourcecode]
ATENÇÃO NESSA PARTE:
Edite o arquivo “/etc/pam.d/common-account” e edite as primeiras linhas, deixando-as assim:
account [success=2 new_authtok_reqd=done default=ignore] pam_winbind.so account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
Repare que somente inverti a ordem dos módulos, colocando o módulo “pam_winbind.so” antes do módulo “pam_unix.so”.
Agora, pra finalizar, edite o arquivo “/etc/lightdm/lightdm.conf” e deixe-o assim:
[SeatDefaults] allow-guest=false greeter-show-manual-login=true greeter-hide-users=true
Salve, saia, reinicie a máquina e logue com um usuário do domínio.
Isso é tudo!
Espero ter colaborado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes