Este procedimento mostra como ingressar uma VM Ubuntu em um domínio Samba Active Directory (AD) disponibilizado pelo NethServer.
Após o ingresso, usuários do domínio poderão ser utilizados para autenticação na VM Ubuntu.
Fluxo do procedimento
Configurar DNS ↓ Instalar pacotes necessários ↓ Validar descoberta do domínio ↓ Ingressar no domínio ↓ Validar ingresso ↓ Permitir usuários do domínio ↓ Habilitar criação automática do /home ↓ Testar login
—
Antes de iniciar, confirme:
| Item | Esperado |
|---|---|
| NethServer funcionando | Sim |
| Samba AD funcionando | Sim |
| Ubuntu com acesso à rede | Sim |
| Ubuntu resolvendo o DNS do domínio | Sim |
| Usuário administrador do domínio | Disponível |
| IP do NethServer | Conhecido |
| Nome do domínio | Conhecido |
O DNS é fundamental para o ingresso no domínio. A Ubuntu deve utilizar o DNS responsável pelo domínio Samba/AD.
—
Substitua os valores abaixo pelos dados do seu ambiente.
DOMINIO.LOCAL IP_DO_NETHSERVER usuario
Exemplo:
empresa.local 192.168.10.10 administrator
—
Antes de tentar ingressar no domínio, confirme se a Ubuntu consegue resolver o domínio.
Teste:
nslookup empresa.local
Também teste o servidor:
nslookup nethserver.empresa.local
Se a resolução DNS não funcionar, não prossiga com o ingresso no domínio.
Corrija o DNS primeiro.
—
Execute na Ubuntu:
sudo apt update sudo apt install realmd sssd sssd-ad adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -y
Os principais componentes utilizados são:
* realmd — gerenciamento do ingresso no domínio * sssd — autenticação dos usuários do domínio * adcli — comunicação com o Active Directory * samba-common-bin — ferramentas Samba * oddjob / mkhomedir — criação automática do diretório `/home`
—
Execute:
realm discover empresa.local
Substitua:
empresa.local
pelo domínio utilizado no NethServer.
Se estiver funcionando, serão apresentadas informações sobre o domínio encontrado.
Exemplo:
empresa.local type: kerberos realm-name: EMPRESA.LOCAL domain-name: empresa.local configured: no server-software: active-directory client-software: sssd
Se o comando não encontrar o domínio, verifique principalmente o DNS da Ubuntu.
—
Execute:
sudo realm join --user=administrator empresa.local
Será solicitada a senha do usuário administrador do domínio.
Exemplo:
sudo realm join --user=administrator empresa.local
Informe a senha quando solicitado.
O usuário utilizado precisa ter permissão para adicionar computadores ao domínio.
—
Execute:
realm list
O domínio deverá aparecer na lista.
Exemplo:
empresa.local type: kerberos realm-name: EMPRESA.LOCAL domain-name: empresa.local configured: kerberos-member server-software: active-directory client-software: sssd
—
Verifique se a Ubuntu consegue localizar um usuário do domínio:
id usuario@empresa.local
Exemplo:
id joao@empresa.local
Se funcionar, deverão aparecer informações semelhantes a:
uid=123456789(joao@empresa.local) gid=123456789(domain users@empresa.local) groups=...
Esse teste confirma que o Ubuntu consegue consultar os usuários do domínio através do SSSD.
—
Para permitir o acesso dos usuários do domínio:
sudo realm permit --all
O comando permite todos os usuários do domínio.
Em ambientes de produção, recomenda-se posteriormente restringir o acesso a grupos específicos.
—
Para que o Ubuntu crie automaticamente o diretório pessoal do usuário no primeiro login:
sudo pam-auth-update --enable mkhomedir
Assim, quando um usuário do domínio acessar a máquina pela primeira vez, seu diretório será criado automaticamente.
Exemplo:
/home/joao@empresa.local
—
Após as configurações:
sudo systemctl restart sssd
Verificar o serviço:
sudo systemctl status sssd
Esperado:
Active: active (running)
—
Teste o usuário do domínio:
su - usuario@empresa.local
Exemplo:
su - joao@empresa.local
Digite a senha do usuário do domínio.
Também é possível testar:
id usuario@empresa.local
—
| Validação | Resultado esperado |
|---|---|
| DNS do domínio funcionando | ✅ |
realm discover encontra o domínio | ✅ |
realm join executado com sucesso | ✅ |
realm list mostra o domínio | ✅ |
id usuario@dominio funciona | ✅ |
| Usuários permitidos | ✅ |
mkhomedir habilitado | ✅ |
| SSSD ativo | ✅ |
| Login com usuário do domínio funcionando | ✅ |
—
Execute:
realm discover empresa.local
Se não encontrar o domínio, verifique:
resolvectl status
Teste:
nslookup empresa.local
A primeira coisa a verificar é o DNS. O Ubuntu precisa conseguir localizar os serviços do Active Directory.
—
Teste:
id usuario@empresa.local
Verifique o SSSD:
sudo systemctl status sssd
Reinicie:
sudo systemctl restart sssd
—
sudo journalctl -u sssd -xe
—
Para facilitar a execução, os principais comandos são:
sudo apt update sudo apt install realmd sssd sssd-ad adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -y realm discover empresa.local sudo realm join --user=administrator empresa.local realm list id usuario@empresa.local sudo realm permit --all sudo pam-auth-update --enable mkhomedir sudo systemctl restart sssd
—
Ao finalizar o procedimento:
Ubuntu │ │ Autenticação ▼ SSSD │ │ Kerberos / LDAP ▼ Samba AD │ ▼ NethServer
A VM Ubuntu estará integrada ao domínio e poderá autenticar usuários do Samba Active Directory do NethServer.
—
Documentação do projeto:
https://www.samba.org/