

# Gerenciar usuários do sistema na instância do Linux do Amazon EC2
<a name="managing-users"></a>

Cada tipo de instância do Linux é iniciada com um usuário padrão do sistema Linux. Você pode adicionar e excluir usuários da instância.

Para o usuário padrão, o [nome de usuário padrão](#ami-default-user-names) é determinado pela AMI especificada quando você executou a instância. 

**nota**  
Por padrão, a autenticação por senha e o login raiz estão desabilitados e o sudo está habilitado. Para fazer login na instância, você deve criar um par de chaves. Para obter mais informações sobre login, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).  
Você pode permitir a autenticação por senha e o login raiz na instância. Para obter mais informações, consulte a documentação do seu sistema operacional.

**nota**  
Os usuários do sistema Linux não devem ser confundidos com os usuários do IAM. Para obter mais informações, consulte [Usuários IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_iam-users) no *Manual do usuário IAM*.

**Topics**
+ [Nomes de usuário padrão](#ami-default-user-names)
+ [Considerações](#add-user-best-practice)
+ [Criar um usuário](#create-user-account)
+ [Remover um usuário](#delete-user-account)

## Nomes de usuário padrão
<a name="ami-default-user-names"></a>

O nome de usuário padrão para a instância do EC2 é determinado pela AMI especificada quando você executou a instância.

Os nomes de usuário padrão são:
+ Para uma AMI do Amazon Linux, o nome do usuário é `ec2-user`.
+ Para uma AMI do CentOS, o nome do usuário é `centos` ou `ec2-user`.
+ Para uma AMI do Debian, o nome do usuário é `admin`.
+ Para uma AMI do Fedora, o nome do usuário é `fedora` ou `ec2-user`.
+ Para uma AMI FreeBSD, o nome do usuário é `ec2-user`.
+ Para uma AMI do RHEL, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI do SUSE, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI Ubuntu, o nome de usuário é `ubuntu`.
+ Para uma AMI do Oracle, o nome do usuário é `ec2-user`.
+ Para uma AMI do Bitnami, o nome do usuário é `bitnami`.

**nota**  
Para encontrar o nome de usuário padrão para outras distribuições do Linux, verifique com o fornecedor da AMI.

## Considerações
<a name="add-user-best-practice"></a>

O uso do usuário padrão é adequado para muitas aplicações. Porém, você pode escolher adicionar usuários para que as pessoas possam ter seus próprios arquivos e espaços de trabalho. Além disso, a criação usuários para novos usuários é muito mais segura do que conceder a vários usuários (possivelmente inexperientes) acesso ao usuário padrão, pois essa conta pode causar muitos danos a um sistema quando usada de modo inadequado. Para obter mais informações, consulte [Dicas para proteger sua instância do EC2](https://aws.amazon.com/articles/tips-for-securing-your-ec2-instance/).

Para permitir aos usuários acesso SSH à sua instância do EC2 usando um usuário do sistema Linux, é necessário compartilhar a chave SSH com o usuário. Uma outra opção é usar o EC2 Instance Connect para fornecer acesso aos usuários sem precisar compartilhar e gerenciar as chaves SSH. Para obter mais informações, consulte [Conecte-se à sua instância Linux usando um endereço IP público e o EC2 Instance Connect](connect-linux-inst-eic.md).

## Criar um usuário
<a name="create-user-account"></a>

Primeiro crie o usuário e, depois, adicione a chave pública SSH que permitirá que ele se conecte e faça login na instância.

**Importante**  
Na Etapa 1 desse procedimento, você cria um novo par de chaves. Como o par de chaves funciona como uma senha, é fundamental lidar com ele de forma segura. Caso crie um par de chaves para um usuário, você deverá garantir que a chave privada seja enviada para ele com segurança. Como alternativa, o usuário pode concluir as Etapas 1 e 2 criando seu próprio par de chaves, mantendo a chave privada segura em sua máquina e enviando a chave pública para concluir o procedimento da Etapa 3.

**Para criar um usuário**

1. [Crie um novo par de chaves](create-key-pairs.md#having-ec2-create-your-key-pair). É necessário fornecer o arquivo `.pem` ao usuário para o qual você está criando o usuário. Ele deve usar esse arquivo para se conectar à instância.

1. Recupere a chave pública do par de chaves criado na etapa anterior.

   ```
   $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem
   ```

   O comando retorna a chave pública, como mostrado no exemplo a seguir.

   ```
   ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
   ```

1. Conecte-se à instância.

1. Use o comando **adduser** para criar o usuário e adicioná-lo ao sistema (com uma entrada no arquivo `/etc/passwd`). O comando também cria um grupo e um diretório inicial para o usuário. Neste exemplo de configuração, o usuário é deniminado `newuser`.
   + AL2023 e Amazon Linux 2

     Com o AL2023 e o Amazon Linux 2, o usuário é criado com a autenticação por senha desabilitada por padrão.

     ```
     [ec2-user ~]$ sudo adduser newuser
     ```
   + Ubuntu

     Inclua o parâmetro `--disabled-password` para criar o usuário com autenticação por senha desabilitada.

     ```
     [ubuntu ~]$ sudo adduser newuser --disabled-password
     ```

1. Mude para o novo usuário, de modo que o diretório e o arquivo criados pertençam aos proprietários adequados.

   ```
   [ec2-user ~]$ sudo su - newuser
   ```

   O prompt é alterado de `ec2-user` para `newuser` para indicar que você mudou a sessão do shell para o novo usuário.

1. Adicione a chave pública SSH ao usuário. Primeiro, crie um diretório no diretório inicial do usuário para o arquivo de chave SSH. Depois disso, crie o arquivo de chave e, por fim, cole a chave pública no arquivo de chave, conforme descrito nas etapas secundárias a seguir.

   1. Crie um diretório `.ssh` no diretório inicial `newuser` e altere suas permissões de arquivos para `700` (somente o proprietário pode ler, gravar ou abrir o diretório).

      ```
      [newuser ~]$ mkdir .ssh
      ```

      ```
      [newuser ~]$ chmod 700 .ssh
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. Crie um arquivo chamado `authorized_keys` no diretório `.ssh` e altere suas permissões de arquivos para `600` (somente o proprietário pode ler ou gravar no arquivo).

      ```
      [newuser ~]$ touch .ssh/authorized_keys
      ```

      ```
      [newuser ~]$ chmod 600 .ssh/authorized_keys
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. <a name="edit_auth_keys"></a>Abra o arquivo `authorized_keys` usando seu editor de texto favorito (como **vim** ou **nano**).

      ```
      [newuser ~]$ nano .ssh/authorized_keys
      ```

      Cole a chave pública recuperada na **Etapa 2** no arquivo e salve as alterações.
**Importante**  
Cole a chave pública em uma linha contínua. A chave pública não deve ser dividida em várias linhas.

      Agora, o usuário deve poder fazer login no usuário `newuser` na instância usando a chave privada correspondente à chave pública adicionada ao arquivo `authorized_keys`. Para obter mais informações sobre os diferentes métodos de conexão a uma instância do Linux, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).

## Remover um usuário
<a name="delete-user-account"></a>

Se um usuário não for mais necessário, será possível removê-lo para que não possa mais ser usado.

Use o comando **userdel** para remover o usuário do sistema. Quando você especifica o parâmetro `-r`, o diretório inicial e o spool de e-mail do usuário são excluídos. Para manter o diretório inicial e o spool de e-mail do usuário, omita o parâmetro `-r`.

```
[ec2-user ~]$ sudo userdel -r olduser
```