Gerenciar usuários do sistema na instância do Linux do Amazon EC2
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 é 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.
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 no Manual do usuário IAM.
Nomes de usuário padrão
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
ouec2-user
. -
Para uma AMI do Debian, o nome do usuário é
admin
. -
Para uma AMI do Fedora, o nome do usuário é
fedora
ouec2-user
. -
Para uma AMI do RHEL, o nome do usuário é
ec2-user
ouroot
. -
Para uma AMI do SUSE, o nome do usuário é
ec2-user
ouroot
. -
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
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
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 ter mais informações, consulte Conectar-se à instância do Linux usando EC2 Instance Connect.
Criar um usuário
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.
Como criar um usuário
-
Crie um novo par de chaves. É 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. -
Recupere a chave pública do par de chaves criado na etapa anterior.
$
ssh-keygen -y -f /path_to_key_pair
/key-pair-name
.pemO 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
-
Conecte-se à instância.
-
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
--disabled-passwordnewuser
-
-
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
para indicar que você mudou a sessão do shell para o novo usuário.newuser
-
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.
-
Crie um diretório
.ssh
no diretório inicial
e altere suas permissões de arquivos paranewuser
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.
-
Crie um arquivo chamado
authorized_keys
no diretório.ssh
e altere suas permissões de arquivos para600
(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.
-
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
na instância usando a chave privada correspondente à chave pública adicionada ao arquivonewuser
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.
-
Remover um usuário
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