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. O nome de usuário padrão é determinado pela AMI especificada ao executar a instância.

  • Para o Amazon Linux 2 ou a AMI do Amazon Linux, o nome do usuário é ec2-user.

  • Para uma AMI do CentOS, o nome do usuário é centos.

  • Para uma AMI do Ubuntu, o nome do usuário é admin.

  • Para uma AMI do Fedora, o nome do usuário é ec2-user ou fedora.

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

  • Caso contrário, se ec2-user e root não funcionarem, consulte o provedor da AMI.

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 e grupos do IAM no Guia do usuário do IAM.

Considerations

O uso da conta de usuário padrão é adequado para vários aplicativos. No entanto, escolha adicionar contas de usuário para que eles possam ter seus próprios arquivos e espaços de trabalho. 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, você deve 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 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

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

      Inclua o parâmetro --disabled-password para criar a conta de usuário sem senha.

      [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 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, você poderá 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