{"id":148,"date":"2017-04-06T10:05:03","date_gmt":"2017-04-06T13:05:03","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/04\/ubuntu-no-microsoft-active-directory\/"},"modified":"2026-09-08T01:59:43","modified_gmt":"2026-09-08T04:59:43","slug":"ubuntu-no-microsoft-active-directory","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2017\/04\/ubuntu-no-microsoft-active-directory\/","title":{"rendered":"Integrando o Ubuntu no Active Directory"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro apontando para o rack e ligando o cabo da esta\u00e7\u00e3o Ubuntu ao controlador de dom\u00ednio, com os logos do Ubuntu e do Windows na parede\" src=\"\/wp-content\/uploads\/2026\/09\/ubuntu-ad-v3.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Nota (2026):<\/strong> Howto de abril de 2017 \u2014 Ubuntu 16.04 + <strong>PBIS Open<\/strong> (Likewise \/ PowerBroker) e um script no Gist. O reposit\u00f3rio <code>BeyondTrust\/pbis-open<\/code> foi arquivado em novembro de 2021; n\u00e3o instale isso em m\u00e1quina nova. O caminho oficial no Ubuntu 24.04\/26.04 \u00e9 <code>realmd<\/code> + <code>sssd<\/code> + <code>adcli<\/code>. O v\u00eddeo do ODT permanece abaixo, como registro do jeito antigo.<\/div>\n<p>Juntar o Ubuntu ao Active Directory \u00e9 o jeito de o desktop ou o servidor Linux autenticar com a <strong>mesma conta do Windows<\/strong>, sem usu\u00e1rio local por m\u00e1quina. O dom\u00ednio continua sendo o AD DS on-premises (ou o Entra Domain Services, que emula AD). N\u00e3o confundir com <strong>Microsoft Entra ID<\/strong> (o ex-Azure AD): nuvem de identidade, sem <code>realm join<\/code>.<\/p>\n<p><!-- more --><\/p>\n<h2>O que mudou desde o PBIS<\/h2>\n<p>Likewise Open \u2192 PowerBroker Open \u2192 PBIS Open foi o atalho de 2007\u20132019: um agente pr\u00f3prio, UID est\u00e1vel, join em um comando. BeyondTrust arquivou o c\u00f3digo aberto; o produto comercial (AD Bridge) segue \u00e0 parte. No Ubuntu o empilhamento da distro ganhou o lugar:<\/p>\n<ul>\n<li><code>realmd<\/code> descobre o dom\u00ednio e orquestra o join.<\/li>\n<li><code>adcli<\/code> cria a conta de computador no AD e grava o keytab.<\/li>\n<li><code>sssd<\/code> (provider <code>ad<\/code>) responde NSS\/PAM: login, grupo, cache offline.<\/li>\n<\/ul>\n<p>Winbind\/Samba ainda serve se o n\u00f3 tamb\u00e9m for <em>file server<\/em> CIFS. Para \u201cs\u00f3 autenticar usu\u00e1rio do AD\u201d, SSSD \u00e9 o default da Canonical. Se o AD for um Samba 4 no Linux, o setup do DC est\u00e1 em <a href=\"\/2017\/04\/samba4-setup-opensuse\/\">Samba4 Setup OpenSUSE<\/a> \u2014 o join do Ubuntu \u00e9 o mesmo.<\/p>\n<h2>Antes do join: DNS, hora e nome<\/h2>\n<p>Kerberos n\u00e3o perdoa. Se o rel\u00f3gio atrasar mais de ~5 minutos ou o DNS n\u00e3o achar <code>_ldap._tcp<\/code>, o join falha com mensagem in\u00fatil.<\/p>\n<ol>\n<li>DNS do Ubuntu aponta para o <strong>domain controller<\/strong> (ele precisa ser autoritativo do dom\u00ednio).<\/li>\n<li>Hora sincronizada \u2014 <code>chrony<\/code> ou <code>systemd-timesyncd<\/code>, de prefer\u00eancia contra o pr\u00f3prio DC.<\/li>\n<li>Hostname curto (conta de computador no AD tem teto NetBIOS de 15 caracteres) e FQDN em <code>\/etc\/hosts<\/code>.<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">sudo hostnamectl set-hostname ubuntu-lab.ad1.example.com\n# \/etc\/hosts:  10.51.0.11  ubuntu-lab.ad1.example.com ubuntu-lab\n\n# DNS via netplan (ajuste o arquivo da interface)\n# nameservers:\n#   addresses: [10.51.0.5]\nsudo netplan apply\n\ntimedatectl status\nresolvectl status\n<\/code><\/pre>\n<h2>Pacotes e o realm join<\/h2>\n<p>No Ubuntu 24.04 e 26.04 os pacotes oficiais bastam. N\u00e3o baixe .deb de site de terceiro.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install sssd-ad sssd-tools realmd adcli\n\nsudo realm -v discover ad1.example.com\nsudo realm join -v ad1.example.com\n# ou conta de join dedicada, n\u00e3o o Administrator do dia a dia:\n# sudo realm join -v -U joiner ad1.example.com\n<\/code><\/pre>\n<p><code>realm discover<\/code> tem que listar <code>server-software: active-directory<\/code> e <code>client-software: sssd<\/code>. Se n\u00e3o descobrir, o problema \u00e9 DNS \u2014 n\u00e3o \u00e9 o SSSD. O join pede a senha, chama o <code>adcli<\/code>, escreve <code>\/etc\/sssd\/sssd.conf<\/code>, liga PAM\/NSS e sobe o servi\u00e7o.<\/p>\n<pre><code class=\"language-bash\">realm list\nsudo adcli testjoin\ngetent passwd joao@ad1.example.com\nid joao@ad1.example.com\n<\/code><\/pre>\n<p>A conta de computador aparece no container <em>Computers<\/em> do ADUC. OTP de join existe (<code>--one-time-password<\/code>) se a pol\u00edtica da empresa n\u00e3o deixar senha de admin no notebook.<\/p>\n<h2>sssd.conf: o que importa<\/h2>\n<p>O <code>realm<\/code> j\u00e1 gerou o arquivo. Ele <strong>precisa<\/strong> ser <code>0600 root:root<\/code> \u2014 sen\u00e3o o SSSD recusa subir.<\/p>\n<pre><code class=\"language-ini\">[sssd]\ndomains = ad1.example.com\nconfig_file_version = 2\n\n[domain\/ad1.example.com]\nid_provider = ad\naccess_provider = ad\nad_domain = ad1.example.com\nkrb5_realm = AD1.EXAMPLE.COM\ncache_credentials = True\nkrb5_store_password_if_offline = True\nuse_fully_qualified_names = True\nfallback_homedir = \/home\/%u@%d\nldap_id_mapping = True\ndefault_shell = \/bin\/bash\n<\/code><\/pre>\n<ul>\n<li><code>cache_credentials<\/code> \u2014 notebook fora da rede ainda autentica (com a senha j\u00e1 vista).<\/li>\n<li><code>use_fully_qualified_names = True<\/code> \u2014 login <code>joao@ad1.example.com<\/code>. S\u00f3 mude para <code>False<\/code> se tiver <em>um<\/em> dom\u00ednio e tiver certeza de que n\u00e3o vai entrar floresta com confian\u00e7a.<\/li>\n<li><code>ldap_id_mapping<\/code> \u2014 UID\/GID derivados do SID. Est\u00e1vel entre m\u00e1quinas com o mesmo dom\u00ednio; n\u00e3o \u00e9 o UID que o PBIS gravava no AD. Se o parque antigo depende de UID fixo no atributo POSIX, isso \u00e9 outro desenho (SFU \/ <code>ldap_idmap_range<\/code> \/ idmap no Samba).<\/li>\n<\/ul>\n<p>Home autom\u00e1tico (o <code>realm<\/code> n\u00e3o liga isso sozinho):<\/p>\n<pre><code class=\"language-bash\">sudo pam-auth-update --enable mkhomedir\n<\/code><\/pre>\n<h2>Login, SSH, sudo e quem pode entrar<\/h2>\n<p>No Desktop, o GDM n\u00e3o lista usu\u00e1rio de AD na primeira vez: clique em \u201cN\u00e3o est\u00e1 na lista?\u201d e digite <code>joao@ad1.example.com<\/code>. Nas seguintes, aparece como local.<\/p>\n<p>No servidor, o OpenSSH costuma vir com senha desligada. Sem chave, o login de AD n\u00e3o entra at\u00e9 voc\u00ea decidir isso de prop\u00f3sito:<\/p>\n<pre><code class=\"language-bash\"># \/etc\/ssh\/sshd_config.d\/ad.conf  (s\u00f3 se a pol\u00edtica permitir senha)\nPasswordAuthentication yes\nKbdInteractiveAuthentication yes\nsudo systemctl reload ssh\n<\/code><\/pre>\n<p>Restringir quem loga \u2014 n\u00e3o deixe o dom\u00ednio inteiro no SSH do jump host:<\/p>\n<pre><code class=\"language-bash\">sudo realm deny --all\nsudo realm permit -g 'linux-admins@ad1.example.com'\n<\/code><\/pre>\n<p>Sudo para um grupo do AD (o espa\u00e7o no nome vira barra invertida):<\/p>\n<pre><code class=\"language-text\">%linux-admins@ad1.example.com ALL=(ALL:ALL) ALL\n<\/code><\/pre>\n<p>SSH com FQDN fica com dois <code>@<\/code>: <code>ssh joao@ad1.example.com@ubuntu-lab<\/code>. Ticket Kerberos depois do login: <code>apt install krb5-user<\/code> e <code>klist<\/code>. GPO de verdade no Ubuntu \u00e9 outro pacote \u2014 o <a href=\"https:\/\/documentation.ubuntu.com\/adsys\/stable\/\">ADSys<\/a> da Canonical, n\u00e3o o SSSD sozinho.<\/p>\n<h2>AD on-prem, Entra e Samba<\/h2>\n<ul>\n<li><strong>AD DS<\/strong> (Windows Server 2022\/2025) \u2014 este howto.<\/li>\n<li><strong>Entra Domain Services<\/strong> \u2014 AD gerenciado na Azure; o join \u00e9 o mesmo stack, realm em MAI\u00daSCULAS.<\/li>\n<li><strong>Entra ID<\/strong> \u2014 SSO\/OIDC\/SAML. N\u00e3o gera conta de computador Kerberos. Ferramenta errada para \u201ccolocar o Ubuntu no dom\u00ednio\u201d.<\/li>\n<li><strong>Samba 4 como DC<\/strong> \u2014 o Ubuntu junta igual; o DC \u00e9 outro post.<\/li>\n<\/ul>\n<p>H\u00e1 um irm\u00e3o deste artigo, focado no desktop: <a href=\"\/2017\/04\/ubuntu-no-windows-active-directory\/\">Ubuntu no Windows Active Directory<\/a>. Para repetir o join em dezenas de n\u00f3s, o playbook mora melhor no <a href=\"\/2026\/09\/automatizando-servidores-linux-com-ansible\/\">Ansible<\/a> do que num gist de 2017.<\/p>\n<p>Sair do dom\u00ednio:<\/p>\n<pre><code class=\"language-bash\">sudo realm leave ad1.example.com\n<\/code><\/pre>\n<h2>O v\u00eddeo de 2017 (PBIS no 16.04)<\/h2>\n<p>O passo a passo gravado para o Canal ODT usa Ubuntu 16.04 e o agente BeyondTrust. Serve de contexto hist\u00f3rico; os comandos do script <em>n\u00e3o<\/em> s\u00e3o o que voc\u00ea roda hoje.<\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/d6sB2ZuvWKY\" title=\"Integrando o Ubuntu no Active Directory (2017, PBIS)\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div>\n<p>Docs atuais: <a href=\"https:\/\/ubuntu.com\/server\/docs\/how-to\/sssd\/with-active-directory\/\">Ubuntu Server \u2014 SSSD with Active Directory<\/a>. C\u00f3digo do SSSD: <a href=\"https:\/\/github.com\/SSSD\/sssd\">github.com\/SSSD\/sssd<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Juntar o Ubuntu ao Active Directory \u00e9 o jeito de o desktop ou o servidor Linux autenticar com a mesma conta do Windows, sem usu\u00e1rio local por m\u00e1quina. O dom\u00ednio continua sendo o AD DS on-premises (ou o Entra Domain &#8230; <a title=\"Integrando o Ubuntu no Active Directory\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2017\/04\/ubuntu-no-microsoft-active-directory\/\" aria-label=\"Read more about Integrando o Ubuntu no Active Directory\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,84,3],"tags":[86,14,4,87,176,5],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-linux","category-samba4","category-ubuntu","tag-ad","tag-howto","tag-linux","tag-samba4","tag-sssd","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":5,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":1063,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/148\/revisions\/1063"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}