

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á.

# Associação manual de uma instância do Amazon EC2 para Linux ao Simple AD Active Directory
<a name="simple_ad_join_linux_instance"></a>

Além das instâncias do Amazon EC2 para Windows, também é possível associar determinadas instâncias do Amazon EC2 para Linux ao diretório do Simple AD. 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)
+ AMI do Amazon Linux 2023
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ Servidor SUSE Linux Enterprise 15 SP1

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

## Pré-requisitos
<a name="simple_ad_join_linux_prereq"></a>

Antes de associar uma instância do Amazon Linux, CentOS, Red Hat ou Ubuntu ao seu diretório, a instância deve primeiro ser iniciada conforme especificado em [Associação direta de uma instância do Amazon EC2 para Linux ao Simple AD Active Directory](simple_ad_seamlessly_join_linux_instance.md).

**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 ]<a name="amazonlinux"></a>

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

1. Configure a instância Linux para usar os endereços IP do servidor DNS dos Directory Service servidores DNS fornecidos. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se desejar defini-lo manualmente, consulte [Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) no Centro de Conhecimentos da AWS para obter orientação sobre a definição do servidor de DNS persistente para sua distribuição e versão específicas do Linux.

1. Verifique se sua instância do Amazon Linux de 64 bits está atualizada.

   ```
   sudo yum -y update
   ```

1. Instale os pacotes do Amazon Linux necessários em sua instância do Linux.
**nota**  
Alguns desses pacotes já podem estar instalados.   
Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.  
Amazon Linux  

   ```
   sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
   ```
**nota**  
Para obter ajuda para determinar a versão do Amazon Linux que você está usando, consulte [Como identificar imagens do Amazon Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#amazon-linux-image-id) no *Guia do usuário do Amazon EC2 para instâncias do Linux.*

1. Junte a instância ao diretório com o comando a seguir. 

   ```
   sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
   ```  
*join\$1account@EXAMPLE.COM*  
Uma conta no *example.com* domínio que tem privilégios de associação ao 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](directory_join_privileges.md).  
*example.com*  
O nome de DNS totalmente qualificado do seu diretório.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Ajuste o serviço SSH para permitir autenticação de senha.

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

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Defina a configuração `PasswordAuthentication` como `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie o serviço SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Alternativa:

      ```
      sudo service sshd restart
      ```

1. Após a instância reiniciar, conecte-a com qualquer cliente SSH e adicione o grupo de administradores de domínio à lista de sudoers executando as seguintes etapas:

   1. Abra o arquivo `sudoers` com o seguinte comando:

      ```
      sudo visudo
      ```

   1. Adicione o seguinte ao final do arquivo `sudoers` e salve-o.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

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

------
#### [ CentOS ]<a name="centos"></a>

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

1. Configure a instância Linux para usar os endereços IP do servidor DNS dos Directory Service servidores DNS fornecidos. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se desejar defini-lo manualmente, consulte [Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) no Centro de Conhecimentos da AWS para obter orientação sobre a definição do servidor de DNS persistente para sua distribuição e versão específicas do Linux.

1. Verifique se sua instância do CentOS 7 está atualizada.

   ```
   sudo yum -y update
   ```

1. Instale os pacotes do CentOS 7 necessários na sua instância do Linux.
**nota**  
Alguns desses pacotes já podem estar instalados.   
Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. Junte a instância ao diretório com o comando a seguir. 

   ```
   sudo realm join -U join_account@example.com example.com --verbose
   ```  
*join\$1account@example.com*  
Uma conta no *example.com* domínio que tem privilégios de associação ao 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](directory_join_privileges.md).  
*example.com*  
O nome de DNS totalmente qualificado do seu diretório.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Ajuste o serviço SSH para permitir autenticação de senha.

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

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Defina a configuração `PasswordAuthentication` como `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie o serviço SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Alternativa:

      ```
      sudo service sshd restart
      ```

1. Após a instância reiniciar, conecte-a com qualquer cliente SSH e adicione o grupo de administradores de domínio à lista de sudoers executando as seguintes etapas:

   1. Abra o arquivo `sudoers` com o seguinte comando:

      ```
      sudo visudo
      ```

   1. Adicione o seguinte ao final do arquivo `sudoers` e salve-o.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

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

------
#### [ Red hat ]<a name="redhat"></a>

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

1. Configure a instância Linux para usar os endereços IP do servidor DNS dos Directory Service servidores DNS fornecidos. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se desejar defini-lo manualmente, consulte [Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) no Centro de Conhecimentos da AWS para obter orientação sobre a definição do servidor de DNS persistente para sua distribuição e versão específicas do Linux.

1. Certifique-se de que a instância do Red Hat - 64 bits está atualizada.

   ```
   sudo yum -y update
   ```

1. Instale os pacotes do Red Hat necessários na sua instância do Linux.
**nota**  
Alguns desses pacotes já podem estar instalados.   
Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. Junte a instância ao diretório com o comando a seguir. 

   ```
   sudo realm join -v -U join_account example.com --install=/
   ```  
*join\$1account*  
O **AMAccountnome s** de uma conta no *example.com* domínio que tem privilégios de associação ao 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](directory_join_privileges.md).  
*example.com*  
O nome de DNS totalmente qualificado do seu diretório.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Ajuste o serviço SSH para permitir autenticação de senha.

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

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Defina a configuração `PasswordAuthentication` como `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie o serviço SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Alternativa:

      ```
      sudo service sshd restart
      ```

1. Após a instância reiniciar, conecte-a com qualquer cliente SSH e adicione o grupo de administradores de domínio à lista de sudoers executando as seguintes etapas:

   1. Abra o arquivo `sudoers` com o seguinte comando:

      ```
      sudo visudo
      ```

   1. Adicione o seguinte ao final do arquivo `sudoers` e salve-o.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

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

------
#### [ Ubuntu ]<a name="ubuntu"></a>

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

1. Configure a instância Linux para usar os endereços IP do servidor DNS dos Directory Service servidores DNS fornecidos. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se desejar defini-lo manualmente, consulte [Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) no Centro de Conhecimentos da AWS para obter orientação sobre a definição do servidor de DNS persistente para sua distribuição e versão específicas do Linux.

1. Certifique-se de que a instância do Ubuntu - 64 bits está atualizada.

   ```
   sudo apt-get update
   sudo apt-get -y upgrade
   ```

1. Instale os pacotes do Ubuntu necessários na sua instância do Linux.
**nota**  
Alguns desses pacotes já podem estar instalados.   
Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

   ```
   sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
   ```

1. Desabilite a resolução de DNS reverso e defina o realm padrão para o FQDN do domínio. Instâncias do Ubuntu **devem** ser capazes de fazer a resolução inversa no DNS para que um realm possa funcionar. Caso contrário, você precisa desabilitar DNS reverso no /etc/krb5.conf, como a seguir:

   ```
   sudo vi /etc/krb5.conf
   ```

   ```
   [libdefaults]
   default_realm = EXAMPLE.COM
   rdns = false
   ```

1. Junte a instância ao diretório com o comando a seguir. 

   ```
   sudo realm join -U join_account example.com --verbose
   ```  
*join\$1account@example.com*  
O **AMAccountnome s** de uma conta no *example.com* domínio que tem privilégios de associação ao 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](directory_join_privileges.md).  
*example.com*  
O nome de DNS totalmente qualificado do seu diretório.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Ajuste o serviço SSH para permitir autenticação de senha.

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

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Defina a configuração `PasswordAuthentication` como `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie o serviço SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Alternativa:

      ```
      sudo service sshd restart
      ```

1. Após a instância reiniciar, conecte-a com qualquer cliente SSH e adicione o grupo de administradores de domínio à lista de sudoers executando as seguintes etapas:

   1. Abra o arquivo `sudoers` com o seguinte comando:

      ```
      sudo visudo
      ```

   1. Adicione o seguinte ao final do arquivo `sudoers` e salve-o.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

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

------

**nota**  
Ao usar o Simple AD, se você criar uma conta de usuário em uma instância do Linux com a opção "Forçar usuário a alterar a senha no primeiro login", esse usuário não poderá alterar inicialmente sua senha usando o comando **kpasswd**. Para alterar a senha pela primeira vez, um administrador de domínio deverá atualizar a senha de usuário usando as ferramentas de gerenciamento do Active Directory.

## Gerenciar contas de uma instância do Linux
<a name="simple_ad_manage_accounts"></a>

Para gerenciar contas no Simple AD de uma instância do Linux, você deve atualizar arquivos de configuração específicos na sua instância do Linux da seguinte maneira:

1. ****Defina **krb5\$1use\$1kdcinfo** como False no arquivo/.conf. etc/sssd/sssd**** Por exemplo:

   ```
   [domain/example.com]
       krb5_use_kdcinfo = False
   ```

1. Para que a configuração seja aplicada, você precisa reiniciar o serviço sssd:

   ```
   $ sudo systemctl restart sssd.service
   ```

   Você também poderia usar o:

   ```
   $ sudo service sssd start
   ```

1. Se você pretende gerenciar usuários de uma instância do CentOS Linux, também deverá editar o arquivo **/etc/smb.conf** para incluir: 

   ```
   [global] 
     workgroup = EXAMPLE.COM
     realm = EXAMPLE.COM 
     netbios name = EXAMPLE
     security = ads
   ```

## Restringir o acesso de login da conta
<a name="simple_ad_linux_filter"></a>

Como todas as contas estão definidas no Active Directory, por padrão, todos os usuários no diretório podem fazer login na instância. Você pode permitir que somente usuários específicos façam login na instância com **ad\$1access\$1filter** em **sssd.conf**. Por exemplo:

```
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

*memberOf*  
Indica que os usuários só podem ter acesso à instância se participarem de um grupo específico.

*cn*  
O nome comum do grupo que deve ter acesso. Neste exemplo, o nome do grupo é*admins*.

*ou*  
Essa é a unidade organizacional na qual o grupo acima está localizado. Neste exemplo, a OU é*Testou*.

*dc*  
Este é o componente de domínio do seu domínio. Neste exemplo, *example*.

*dc*  
Este é um componente adicional de domínio. Neste exemplo, *com*.

Você deve adicionar manualmente **ad\$1access\$1filter** ao **/etc/sssd/sssd.conf**.

Abra o arquivo **/etc/sssd/sssd.conf** em um editor de textos.

```
sudo vi /etc/sssd/sssd.conf
```

Depois disso, seu **sssd.conf** pode ficar da seguinte forma:

```
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam

[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

Para que a configuração entre em vigor, é necessário reiniciar o serviço sssd:

```
sudo systemctl restart sssd.service
```

Você também poderia usar o:

```
sudo service sssd restart
```

## Mapeamento de ID
<a name="simple-ad-id-mapping"></a>

O mapeamento de ID pode ser realizado por dois métodos para manter uma experiência unificada entre as identidades User Identifier (UID) e Group Identifier (GID) do UNIX/Linux e as identidades Security Identifier (SID) do Windows e do Active Directory. Esses métodos são:

1. Centralizado

1. Distribuído

**nota**  
O mapeamento centralizado da identidade do usuário no Active Directory requer uma interface de sistema operacional portátil ou POSIX.

**Mapeamento centralizado da identidade do usuário**  
O Active Directory ou outro serviço do Lightweight Directory Access Protocol (LDAP) fornece UID e GID aos usuários do Linux. No Active Directory, esses identificadores serão armazenados nos atributos dos usuários se a extensão POSIX estiver configurada:
+ UID: o nome de usuário do Linux (string)
+ Número UID: o número de ID do usuário Linux (inteiro)
+ Número GID: o número de ID do grupo Linux (inteiro)

Para configurar uma instância do Linux para usar o UID e o GID no Active Directory, defina `ldap_id_mapping = False` no arquivo sssd.conf. Antes de definir esse valor, verifique se você adicionou um UID, um número UID e um número GID aos usuários e grupos no Active Directory.

**Mapeamento distribuído de identidade de usuário**  
Se o Active Directory não tiver a extensão POSIX ou se você optar por não gerenciar centralmente o mapeamento de identidade, o Linux poderá calcular os valores de UID e GID. O Linux usa o identificador de segurança (SID) exclusivo do usuário para manter a consistência.

Para configurar o mapeamento distribuído de ID do usuário, defina `ldap_id_mapping = True` no arquivo sssd.conf.

**Problemas comuns**  
Se você definir como `ldap_id_mapping = False`, às vezes a inicialização do serviço SSSD falha. O motivo dessa falha é devido a alterações UIDs não suportadas. Recomendamos excluir o cache SSSD sempre que mudar do mapeamento de ID para atributos POSIX ou vice-versa. Para obter mais detalhes sobre o mapeamento de ID e os parâmetros ldap\$1id\$1mapping, consulte a página sssd-ldap(8) man na linha de comando do Linux.

## Conectar-se à instância do Linux
<a name="simple_ad_linux_connect"></a>

Quando um usuário se conectar à instância usando um cliente SSH, será solicitado 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 do 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
```

**SUSE Linux**

```
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%
```