Unir manualmente uma instância Amazon EC2 Linux ao seu Microsoft AD Active Directory AWS gerenciado usando o Winbind - AWS Directory Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Unir manualmente uma instância Amazon EC2 Linux ao seu Microsoft AD Active Directory AWS gerenciado usando o Winbind

Você pode usar o serviço Winbind para unir manualmente suas instâncias Amazon EC2 Linux a um domínio gerenciado AWS do Microsoft AD Active Directory. Isso permite que seus usuários locais existentes do Active Directory usem suas credenciais do Active Directory ao acessar as instâncias Linux associadas ao seu AWS Microsoft AD Active Directory gerenciado. As seguintes distribuições e versões de instância do Linux são suportadas:

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64 bits x86)

  • Amazon Linux 2023 AMI

  • Red Hat Enterprise Linux 8 (HVM) (64 bits x86)

  • Servidor Ubuntu 18.04 LTS e Servidor Ubuntu 16.04 LTS

  • CentOS 7 x86-64

  • SUSEServidor corporativo Linux 15 SP1

nota

Outras distribuições e versões do Linux podem funcionar, mas não foram testadas.

Associe uma instância Linux ao seu Microsoft AD Active Directory AWS gerenciado

Importante

Alguns dos procedimentos a seguir, se não forem executados corretamente, podem tornar sua instância inacessível ou não utilizável. Portanto, nós sugerimos enfaticamente que você faça um backup ou tire um snapshot da sua instância antes de executar esses procedimentos.

Para associar uma instância do Linux ao seu diretório

Siga as etapas para a sua instância do Linux específica usando uma das seguintes guias:

Amazon Linux/CENTOS/REDHAT
  1. Conecte-se à instância usando qualquer SSH cliente.

  2. Configure a instância Linux para usar os DNS endereços IP dos AWS Directory Service DNS servidores fornecidos. Você pode fazer isso configurando-o no conjunto de DHCP Opções anexado ao VPC ou configurando-o manualmente na instância. Se você quiser configurá-lo manualmente, consulte Como atribuo um DNS servidor estático a uma EC2 instância privada da Amazon no Centro de AWS Conhecimento para obter orientação sobre como configurar o DNS servidor persistente para sua distribuição e versão específicas do Linux.

  3. Verifique se sua instância do Linux está atualizada.

    sudo yum -y update
  4. Instale os pacotes do Samba/Winbind necessários na sua instância do Linux.

    sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
  5. Faça um backup do arquivo smb.conf principal para que você possa voltar a ele em caso de falha:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Abra o arquivo de configuração original [/etc/samba/smb.conf] em um editor de texto.

    sudo vim /etc/samba/smb.conf

    Preencha as informações do ambiente de domínio do Active Directory conforme mostrado no exemplo abaixo:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Abra o arquivo de hosts [/etc/hosts ]em um editor de texto.

    sudo vim /etc/hosts

    Adicione o endereço IP privado da sua instância Linux da seguinte forma:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    nota

    Se você não especificou seu endereço IP no /etc/hosts arquivo, talvez receba o seguinte DNS erro ao associar a instância ao domínio. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Esse erro significa que a junção foi bem-sucedida, mas o comando [net ads] não conseguiu registrar o DNS registro emDNS.

  8. Associe a instância do Linux ao Active Directory usando o utilitário net.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Uma conta no example.com domínio que tem privilégios de associação de domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegando privilégios de associação de diretórios para o Managed AWS Microsoft AD.

    example.com

    O DNS nome totalmente qualificado do seu diretório.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifique o arquivo de PAM configuração, use o comando abaixo para adicionar as entradas necessárias para a autenticação winbind:

    sudo authconfig --enablewinbind --enablewinbindauth --enablemkhomedir --update
  10. Configure o SSH serviço para permitir a autenticação por senha editando o /etc/ssh/sshd_config arquivo.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  11. Depois que a instância for reiniciada, conecte-se a ela com qualquer SSH cliente e adicione os privilégios root de um usuário ou grupo de domínio à lista de sudoers executando as seguintes etapas:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione os grupos ou usuários necessários do seu domínio confiante ou confiável conforme descrito a seguir e salve-os.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

SUSE
  1. Conecte-se à instância usando qualquer SSH cliente.

  2. Configure a instância Linux para usar os DNS endereços IP dos AWS Directory Service DNS servidores fornecidos. Você pode fazer isso configurando-o no conjunto de DHCP Opções anexado ao VPC ou configurando-o manualmente na instância. Se você quiser configurá-lo manualmente, consulte Como atribuo um DNS servidor estático a uma EC2 instância privada da Amazon no Centro de AWS Conhecimento para obter orientação sobre como configurar o DNS servidor persistente para sua distribuição e versão específicas do Linux.

  3. Certifique-se de que sua instância do SUSE Linux 15 esteja atualizada.

    1. Conecte o repositório de pacotes.

      sudo SUSEConnect -p PackageHub/15.1/x86_64
    2. AtualizarSUSE.

      sudo zypper update -y
  4. Instale os pacotes do Samba/Winbind necessários na sua instância do Linux.

    sudo zypper in -y samba samba-winbind
  5. Faça um backup do arquivo smb.conf principal para que você possa voltar a ele em caso de falha:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Abra o arquivo de configuração original [/etc/samba/smb.conf] em um editor de texto.

    sudo vim /etc/samba/smb.conf

    Preencha as informações do ambiente de domínio do Active Directory conforme mostrado no exemplo abaixo:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Abra o arquivo de hosts [/etc/hosts ]em um editor de texto.

    sudo vim /etc/hosts

    Adicione o endereço IP privado da sua instância Linux da seguinte forma:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    nota

    Se você não especificou seu endereço IP no /etc/hosts arquivo, talvez receba o seguinte DNS erro ao associar a instância ao domínio. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Esse erro significa que a junção foi bem-sucedida, mas o comando [net ads] não conseguiu registrar o DNS registro emDNS.

  8. Associe a instância do Linux ao diretório com o comando a seguir.

    sudo net ads join -U join_account@example.com
    join_account

    O sAMAccount nome no example.com domínio que tem privilégios de associação de domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegando privilégios de associação de diretórios para o Managed AWS Microsoft AD.

    example.com

    O DNS nome totalmente qualificado do seu diretório.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifique o arquivo de PAM configuração, use o comando abaixo para adicionar as entradas necessárias para a autenticação do Winbind:

    sudo pam-config --add --winbind --mkhomedir
  10. Abra o arquivo de configuração do Name Service Switch [/etc/nsswitch.conf] em um editor de texto.

    vim /etc/nsswitch.conf

    Adicione a diretiva Winbind conforme mostrado abaixo.

    passwd: files winbind shadow: files winbind group: files winbind
  11. Configure o SSH serviço para permitir a autenticação por senha editando o /etc/ssh/sshd_config arquivo.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vim /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  12. Depois que a instância for reiniciada, conecte-se a ela com qualquer SSH cliente e adicione privilégios de root para um usuário ou grupo de domínio à lista de sudoers executando as seguintes etapas:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione os grupos ou usuários necessários do seu domínio confiante ou confiável conforme descrito a seguir e salve-os.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

Ubuntu
  1. Conecte-se à instância usando qualquer SSH cliente.

  2. Configure a instância Linux para usar os DNS endereços IP dos AWS Directory Service DNS servidores fornecidos. Você pode fazer isso configurando-o no conjunto de DHCP Opções anexado ao VPC ou configurando-o manualmente na instância. Se você quiser configurá-lo manualmente, consulte Como atribuo um DNS servidor estático a uma EC2 instância privada da Amazon no Centro de AWS Conhecimento para obter orientação sobre como configurar o DNS servidor persistente para sua distribuição e versão específicas do Linux.

  3. Verifique se sua instância do Linux está atualizada.

    sudo apt-get -y upgrade
  4. Instale os pacotes do Samba/Winbind necessários na sua instância do Linux.

    sudo apt -y install samba winbind libnss-winbind libpam-winbind
  5. Faça um backup do arquivo smb.conf principal para que você possa voltar a ele em caso de falha.

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Abra o arquivo de configuração original [/etc/samba/smb.conf] em um editor de texto.

    sudo vim /etc/samba/smb.conf

    Preencha as informações do ambiente de domínio do Active Directory conforme mostrado no exemplo abaixo:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Abra o arquivo de hosts [/etc/hosts ]em um editor de texto.

    sudo vim /etc/hosts

    Adicione o endereço IP privado da sua instância Linux da seguinte forma:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    nota

    Se você não especificou seu endereço IP no /etc/hosts arquivo, talvez receba o seguinte DNS erro ao associar a instância ao domínio. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Esse erro significa que a junção foi bem-sucedida, mas o comando [net ads] não conseguiu registrar o DNS registro emDNS.

  8. Associe a instância do Linux ao Active Directory usando o utilitário net.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Uma conta no example.com domínio que tem privilégios de associação de domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegando privilégios de associação de diretórios para o Managed AWS Microsoft AD.

    example.com

    O DNS nome totalmente qualificado do seu diretório.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifique o arquivo de PAM configuração, use o comando abaixo para adicionar as entradas necessárias para a autenticação do Winbind:

    sudo pam-auth-update --add --winbind --enable mkhomedir
  10. Abra o arquivo de configuração do Name Service Switch [/etc/nsswitch.conf] em um editor de texto.

    vim /etc/nsswitch.conf

    Adicione a diretiva Winbind conforme mostrado abaixo.

    passwd: compat winbind group: compat winbind shadow: compat winbind
  11. Configure o SSH serviço para permitir a autenticação por senha editando o /etc/ssh/sshd_config arquivo.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vim /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  12. Depois que a instância for reiniciada, conecte-se a ela com qualquer SSH cliente e adicione privilégios de root para um usuário ou grupo de domínio à lista de sudoers executando as seguintes etapas:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione os grupos ou usuários necessários do seu domínio confiante ou confiável conforme descrito a seguir e salve-os.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

Conecte-se à instância Linux

Quando um usuário se conecta à instância usando um SSH cliente, ele é solicitado a fornecer seu nome de usuário. O usuário pode informar o nome de usuário no formato username@example.com ou EXAMPLE\username. A resposta será semelhante à seguinte, dependendo da distribuição Linux que você estiver usando:

Amazon Linux, Red Hat Enterprise Linux e CentOS Linux

login as: johndoe@example.com johndoe@example.com's password: Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX

SUSELinux

SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit) As "root" (sudo or sudo -i) use the: - zypper command for package management - yast command for configuration management Management and Config: https://www.suse.com/suse-in-the-cloud-basics Documentation: https://www.suse.com/documentation/sles-15/ Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud Have a lot of fun...

Ubuntu Linux

login as: admin@example.com admin@example.com@10.24.34.0's password: Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Apr 18 22:03:35 UTC 2020 System load: 0.01 Processes: 102 Usage of /: 18.6% of 7.69GB Users logged in: 2 Memory usage: 16% IP address for eth0: 10.24.34.1 Swap usage: 0%