31.01.2025

Integração de uma máquina Linux ao domínio do Active Directory do Windows

Este artigo descreverá o processo de adição de uma máquina Linux (Ubuntu 20.04) em um domínio do Active Directory do Windows.

Passo 1. Instalar pacotes e preparação.

Vamos atualizar os pacotes primeiro.

sudo apt update
sudo apt upgrade

Depois disso, instale os pacotes necessários.

sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit

Em seguida, configuraremos todas essas ferramentas para trabalhar com o domínio. Tudo o que precisamos saber é:

  • Nome do domínio: office.local
  • IP do servidor DNS: 192.168.0.1
  • Segundo IP do servidor DNS: 192.168.0.2

Etapa 2. Configurar o DNS.

Procure no arquivo de configuração do netplan.

sudo nano /etc/netplan/*.yaml

Se você vir lá 'dhcp4: true' e seu servidor DHCP estiver configurado corretamente, vá para a próxima etapa.
Se você configurar os parâmetros de conexão de rede manualmente, aqui está um exemplo de configuração de endereços estáticos:

network:
ethernets:
enp0s3:
addresses:
- 192.168.0.15/24
gateway4: 192.168.0.10
nameservers:
addresses: [192.168.0.1, 192.168.0.2]
search:
- office.local
optional: true
version: 2

Aplicar as alterações.

sudo netplan apply

Etapa 3. Descubra o domínio, junte-se a ele e verifique o resultado.

Primeiro, descubra o domínio.

realm discover office.local

Veremos algo parecido com isto. Isso significa que as configurações de rede estão corretas e que nossa máquina recebeu uma resposta do domínio. Caso contrário, você precisará verificar as configurações de rede, o domínio e a integridade do DNS.

office.local
type: kerberos
realm-name: OFFICE.LOCAL
domain-name: office.local
configured: no
...

Em seguida, entre no domínio do AD. Substitua "admin" pelo nome de usuário do administrador do domínio e digite a senha para ele, se solicitado.

realm join -U admin office.local
Password for admin:

Agora vamos verificar se podemos obter informações sobre o usuário do AD. Substitua "user" pelo nome da conta de usuário do domínio.

id user@office.local
uid=687821651(user@office.local) gid=687800512(user@office.local) groups=687800512(domain users@office.local)

Etapa 4. Últimas configurações e login.

Para evitar adicionar o nome de domínio ao nome de usuário todas as vezes, vamos configurar isso.

sudo nano /etc/sssd/sssd.conf

Altere o valor "use_fully_qualified_names" para False. Reinicie e verifique:

sudo systemctl restart sssd
id user
uid=687821651(user@office.local) gid=687800512(user@office.local) groups=687800512(domain users@office.local)

Agora precisamos configurar a criação de Home Dirs para os usuários do AD quando eles fizerem login.

sudo nano /etc/pam.d/common-session
#add this line in the end of file
session optional pam_mkhomedir.so skel=/etc/skel umask=077

Vamos tentar fazer login como um usuário do AD.

su – user
Password:
Creating directory '/home/user@office.local'.
user@ubuntu-server:~$

Isso significa que você fez login com sucesso como um usuário do AD.

Além disso, você pode permitir a autorização para alguns usuários ou grupos do AD e restringir outros. O exemplo abaixo está definido para negar todos e permitir o usuário, user2, grupo Domain Admins.

sudo realm deny –all
sudo realm permit user@office.local user2@office.local
sudo realm permit -g 'Domain Admins'

A configuração dos usuários do AD para obter privilégios de raiz é igual à dos usuários locais, mas em outro arquivo.

sudo nano /etc/sudoers.d/admins

Adicione as linhas necessárias a ele. Por exemplo:

user ALL=(ALL) ALL
%Domain Admins ALL=(ALL) ALL