Para oferecer suporte ao True SSO em áreas de trabalho Ubuntu/Debian, você pode integrar a máquina virtual (VM) base a um domínio Active Directory (AD) usando as soluções Samba e Winbind.

Observação: Como alternativa, você pode configurar o True SSO usando a solução de ingresso no domínio do SSSD, conforme descrito em Configurar o True SSO com SSSD em desktops Ubuntu/Debian.

Para integrar uma VM Ubuntu/Debian a um domínio do AD usando o Samba e o Winbind, use o procedimento a seguir.

Alguns exemplos no procedimento usam valores de espaço reservado para representar entidades em sua configuração de rede, como o nome do host da sua VM. Substitua os valores do espaço reservado por informações específicas para sua configuração, conforme descrito na tabela a seguir.

Valor do espaço reservado Descrição
dns_IP_ADDRESS Endereço IP do seu servidor de nomes DNS
meudomínio.com Nome DNS do seu domínio do AD
MEUDOMÍNIO.COM Nome DNS do seu domínio do AD, em letras maiúsculas
meuhost Nome do host da sua VM Ubuntu/Debian
MEUDOMÍNIO Nome DNS do grupo de trabalho ou domínio NT que inclui o servidor Samba, em letras maiúsculas
ads-hostname Nome do host do seu servidor AD
usuário-administrador Nome de usuário do administrador de domínio do AD

Pré-requisitos

Verifique se:
  • O servidor AD pode ser resolvido pelo DNS na VM.
  • O Network Time Protocol (NTP) está configurado na VM.

Procedimento

  1. Na VM Ubuntu/Debian, instale os pacotes samba e winbind.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. Defina as configurações de Autenticação Kerberos.
    1. Se a janela para configurações de Autenticação Kerberos não aparecer no seu sistema, execute o seguinte comando para exibi-la.
      sudo dpkg-reconfigure krb5-config
    2. Em Realm Kerberos versão 5 padrão (Default Kerberos version 5 realm), digite o nome DNS do seu domínio do AD usando todas as letras maiúsculas.
      Por exemplo, se o nome de domínio do AD for meudominio.com, digite MEUDOMAIN.COM.
    3. Para servidores Kerberos para seu domínio (Kerberos servers for your realm), digite o nome do host do seu servidor AD (representado como ads_hostname nos exemplos ao longo deste procedimento).
    4. Em Servidor administrativo para seu domínio Kerberos (Administrative server for your Kerberos realm), digite o nome do host do seu servidor AD novamente.
  3. Atualize a configuração do PAM.
    1. Abra a página de configuração do PAM.
      pam-auth-update
    2. Selecione Criar diretório pessoal ao fazer login (Create home directory on login) e, em seguida, selecione Ok.
  4. Edite o arquivo de configuração /etc/nsswitch.conf, conforme mostrado no exemplo a seguir.
    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
  5. (Opcional) Se o sistema detectar automaticamente o servidor DNS correto, ignore esta etapa e prossiga para a próxima. Se o sistema não conseguir detectar o servidor DNS correto, conclua esta etapa para definir o servidor DNS manualmente.
    Para garantir que o arquivo resolv.conf gerado automaticamente se refira ao seu domínio do AD como um domínio de pesquisa, edite as configurações do NetworkManager para a conexão do sistema. As subetapas a seguir fornecem as instruções de exemplo para um sistema Ubuntu 20.04.
    1. Abra o painel de controle do NetworkManager e navegue até as Configurações de IPv4 (IPv4 Settings) para a conexão do sistema. Em Método, selecione Somente endereços automáticos (DHCP). Na caixa de texto Servidores DNS (DNS servers), digite o endereço IP do seu servidor de nomes DNS (representado como dns_IP_ADDRESS nos exemplos ao longo deste procedimento). Em seguida, clique em Salvar (Save).
    2. Edite o arquivo /etc/dhcp/dhclient.conf conforme mostrado no exemplo a seguir.
      supersede domain-name "mydomain.com";
      prepend domain-name-servers dns_IP_ADDRESS;
    3. Edite o arquivo /etc/systemd/resolved.conf conforme mostrado no exemplo a seguir.
      DNS=dns_IP_ADDRESS
      Domains="mydomain.com"
      Observação: Um novo adaptador de rede virtual é adicionado quando uma nova área de trabalho virtual de clonagem instantânea é criada. Quando você adiciona o adaptador de rede a uma área de trabalho virtual clonada, o modelo de área de trabalho virtual limpa as configurações do adaptador de rede, como o servidor DNS. Para manter a configuração do servidor DNS ao adicionar um novo adaptador de rede, você deve especificar um servidor DNS para sua VM.
    4. Especifique o servidor DNS editando o arquivo de configuração /etc/resolv.conf, conforme mostrado no exemplo a seguir. Se um aviso for exibido, você poderá desconsiderar e continuar com as alterações.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    5. Reinicie a VM e faça login novamente.
  6. Edite o arquivo de configuração /etc/hosts, conforme mostrado no exemplo a seguir.
    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
  7. Edite o arquivo de configuração /etc/samba/smb.conf, conforme mostrado no exemplo a seguir.
    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
  8. Reinicie o serviço smbd.
    sudo systemctl restart smbd.service
  9. Edite o arquivo de configuração /etc/krb5.conf para que ele tenha conteúdo semelhante ao exemplo a seguir.
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  10. Ingresse a VM Ubuntu/Debian no domínio AD.
    1. Inicie um tíquete Kerberos.
       sudo kinit admin-user
      Quando solicitado, digite sua senha de administrador.
    2. Verifique se o tíquete foi criado com êxito.
      sudo klist
      Esse comando retorna informações sobre o tíquete, incluindo a hora de início e a hora de expiração válidas.
    3. Crie um arquivo keytab Kerberos.
      sudo net ads keytab create -U admin-user
    4. Ingresse no domínio do AD.
      sudo net ads join -U admin-user
  11. Reinicie e verifique o serviço Winbind.
    1. Reinicie o serviço Winbind.
      sudo systemctl restart winbind.service 
    2. Para verificar o serviço Winbind, execute os comandos a seguir e verifique se eles retornam a saída correta.
      • sudo wbinfo -u
      • sudo wbinfo -g
      • sudo getent passwd
      • sudo getent group
  12. Reinicie a VM e faça login novamente.

O que Fazer Depois

Configurar o True SSO com o Samba em desktops Ubuntu/Debian