Gerenciar contas de usuário na instância do Amazon Linux - Amazon Elastic Compute Cloud

Gerenciar contas de usuário na instância do Amazon Linux

Cada tipo de instância do Linux é executada com uma conta de usuário do sistema Linux padrão. Você pode adicionar contas de usuários na instância e excluir contas de usuários.

Para a conta de usuário padrão, o nome de usuário padrão é determinado pela AMI especificada quando você iniciou 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 Conecte-se à sua instância do Linux.

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 AWS Identity and Access Management (IAM). Para obter mais informações, consulte Usuários IAM no Manual do usuário IAM.

Nomes de servidores padrão

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

Os nomes de usuário padrão são:

  • Para a AMI do Amazon Linux 2 ou 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 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 do 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.

  • Caso contrário, verifique com o provedor da AMI.

Considerações

O uso da conta de usuário padrão é adequado para várias aplicações. No entanto, escolha adicionar contas de usuário para que eles possam ter seus próprios arquivos e workspaces. Além disso, a criação de contas de usuário para novos usuários é muito mais segura do que conceder a vários usuários (possivelmente inexperientes) acesso à conta de 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.

Para permitir aos usuários acesso SSH à sua instância do EC2 usando uma conta de 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 mais informações, consulte Conectar-se à instância do Linux usando EC2 Instance Connect.

Criar uma conta de usuário

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

Para criar uma conta de usuário

  1. Crie um novo par de chaves. É necessário fornecer o arquivo .pem para o usuário para o qual você está criando a conta de usuário. Ele deve usar esse arquivo para se conectar à instância.

  2. 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
  3. Conecte-se à instância.

  4. Use o comando adduser para criar a conta de usuário e adicioná-la ao sistema (com uma entrada no arquivo /etc/passwd). O comando também cria um grupo e um diretório inicial para a conta. Neste exemplo, a conta de usuário é chamada newuser.

    • Amazon Linux e Amazon Linux 2

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

      [ec2-user ~]$ sudo adduser newuser
    • Ubuntu

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

      [ubuntu ~]$ sudo adduser newuser --disabled-password
  5. Mude para a nova conta, de modo que o diretório e o arquivo criados tenham a propriedade adequada.

    [ec2-user ~]$ sudo su - newuser

    O prompt é alterado de ec2-user para newuser para indicar que você mudou a sessão de shell para a nova conta.

  6. Adicione a chave pública SSH à conta de 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.

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

    3. 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 se conectar à conta newuser em sua 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 Conecte-se à sua instância do Linux.

Remover uma conta de usuário

Se uma conta de usuário não for mais necessária, será possível remover essa conta de modo que ela não possa mais ser usada.

Use o comando userdel para remover a conta de 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