
BeyondTrust/pbis-open foi arquivado em novembro de 2021; não instale isso em máquina nova. O caminho oficial no Ubuntu 24.04/26.04 é realmd + sssd + adcli. O vídeo do ODT permanece abaixo, como registro do jeito antigo.Juntar o Ubuntu ao Active Directory é o jeito de o desktop ou o servidor Linux autenticar com a mesma conta do Windows, sem usuário local por máquina. O domínio continua sendo o AD DS on-premises (ou o Entra Domain Services, que emula AD). Não confundir com Microsoft Entra ID (o ex-Azure AD): nuvem de identidade, sem realm join.
O que mudou desde o PBIS
Likewise Open → PowerBroker Open → PBIS Open foi o atalho de 2007–2019: um agente próprio, UID estável, join em um comando. BeyondTrust arquivou o código aberto; o produto comercial (AD Bridge) segue à parte. No Ubuntu o empilhamento da distro ganhou o lugar:
realmddescobre o domínio e orquestra o join.adclicria a conta de computador no AD e grava o keytab.sssd(providerad) responde NSS/PAM: login, grupo, cache offline.
Winbind/Samba ainda serve se o nó também for file server CIFS. Para “só autenticar usuário do AD”, SSSD é o default da Canonical. Se o AD for um Samba 4 no Linux, o setup do DC está em Samba4 Setup OpenSUSE — o join do Ubuntu é o mesmo.
Antes do join: DNS, hora e nome
Kerberos não perdoa. Se o relógio atrasar mais de ~5 minutos ou o DNS não achar _ldap._tcp, o join falha com mensagem inútil.
- DNS do Ubuntu aponta para o domain controller (ele precisa ser autoritativo do domínio).
- Hora sincronizada —
chronyosystemd-timesyncd, de preferência contra o próprio DC. - Hostname curto (conta de computador no AD tem teto NetBIOS de 15 caracteres) e FQDN em
/etc/hosts.
sudo hostnamectl set-hostname ubuntu-lab.ad1.example.com
# /etc/hosts: 10.51.0.11 ubuntu-lab.ad1.example.com ubuntu-lab
# DNS via netplan (ajuste o arquivo da interface)
# nameservers:
# addresses: [10.51.0.5]
sudo netplan apply
timedatectl status
resolvectl status
Pacotes e o realm join
No Ubuntu 24.04 e 26.04 os pacotes oficiais bastam. Não baixe .deb de site de terceiro.
sudo apt update
sudo apt install sssd-ad sssd-tools realmd adcli
sudo realm -v discover ad1.example.com
sudo realm join -v ad1.example.com
# ou conta de join dedicada, não o Administrator do dia a dia:
# sudo realm join -v -U joiner ad1.example.com
realm discover tem que listar server-software: active-directory e client-software: sssd. Se não descobrir, o problema é DNS — não é o SSSD. O join pede a senha, chama o adcli, escreve /etc/sssd/sssd.conf, liga PAM/NSS e sobe o serviço.
realm list
sudo adcli testjoin
getent passwd joao@ad1.example.com
id joao@ad1.example.com
A conta de computador aparece no container Computers do ADUC. OTP de join existe (--one-time-password) se a política da empresa não deixar senha de admin no notebook.
sssd.conf: o que importa
O realm já gerou o arquivo. Ele precisa ser 0600 root:root — senão o SSSD recusa subir.
[sssd]
domains = ad1.example.com
config_file_version = 2
[domain/ad1.example.com]
id_provider = ad
access_provider = ad
ad_domain = ad1.example.com
krb5_realm = AD1.EXAMPLE.COM
cache_credentials = True
krb5_store_password_if_offline = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
ldap_id_mapping = True
default_shell = /bin/bash
cache_credentials— notebook fora da rede ainda autentica (com a senha já vista).use_fully_qualified_names = True— loginjoao@ad1.example.com. Só mude paraFalsese tiver un domínio e tiver certeza de que não vai entrar floresta com confiança.ldap_id_mapping— UID/GID derivados do SID. Estável entre máquinas com o mesmo domínio; não é o UID que o PBIS gravava no AD. Se o parque antigo depende de UID fixo no atributo POSIX, isso é outro desenho (SFU /ldap_idmap_range/ idmap no Samba).
Home automático (o realm não liga isso sozinho):
sudo pam-auth-update --enable mkhomedir
Login, SSH, sudo e quem pode entrar
No Desktop, o GDM não lista usuário de AD na primeira vez: clique em “Não está na lista?” e digite joao@ad1.example.com. Nas seguintes, aparece como local.
No servidor, o OpenSSH costuma vir com senha desligada. Sem chave, o login de AD não entra até você decidir isso de propósito:
# /etc/ssh/sshd_config.d/ad.conf (só se a política permitir senha)
PasswordAuthentication yes
KbdInteractiveAuthentication yes
sudo systemctl reload ssh
Restringir quem loga — não deixe o domínio inteiro no SSH do jump host:
sudo realm deny --all
sudo realm permit -g 'linux-admins@ad1.example.com'
Sudo para um grupo do AD (o espaço no nome vira barra invertida):
%linux-admins@ad1.example.com ALL=(ALL:ALL) ALL
SSH com FQDN fica com dois @: ssh joao@ad1.example.com@ubuntu-lab. Ticket Kerberos depois do login: apt install krb5-user e klist. GPO de verdade no Ubuntu é outro pacote — o ADSys da Canonical, não o SSSD sozinho.
AD on-prem, Entra e Samba
- AD DS (Windows Server 2022/2025) — este howto.
- Entra Domain Services — AD gerenciado na Azure; o join é o mesmo stack, realm em MAIÚSCULAS.
- Entra ID — SSO/OIDC/SAML. Não gera conta de computador Kerberos. Ferramenta errada para “colocar o Ubuntu no domínio”.
- Samba 4 como DC — o Ubuntu junta igual; o DC é outro post.
Há um irmão deste artigo, focado no desktop: Ubuntu no Windows Active Directory. Para repetir o join em dezenas de nós, o playbook mora melhor no Ansible do que num gist de 2017.
Sair do domínio:
sudo realm leave ad1.example.com
O vídeo de 2017 (PBIS no 16.04)
O passo a passo gravado para o Canal ODT usa Ubuntu 16.04 e o agente BeyondTrust. Serve de contexto histórico; os comandos do script não são o que você roda hoje.
Docs atuais: Ubuntu Server — SSSD with Active Directory. Código do SSSD: github.com/SSSD/sssd.