Como Gerenciar Usuários pela Linha de Comando no Linux

Uma das responsabilidades centrais da administração do Linux é o gerenciamento de usuários. Por meio do uso da linha de comando, a criação de usuários pode ser concluída remotamente ou programaticamente. Depois de criar um usuário, você pode adicioná-lo a grupos ou conceder privilégios elevados. Além disso, você pode manter um registro de auditoria sobre o que foi feito no seu servidor e quaisquer problemas potenciais.

Se você desenvolveu software ou programou para a Web, pode estar familiarizado com a política de nunca confiar totalmente nos usuários. Esse mesmo princípio se aplica em outras áreas do uso de computadores em relação ao envolvimento do usuário. Dê acesso apenas àqueles que precisam e quando precisam. A delegação generosa de privilégios pode permitir acesso não especificado e não autorizado às informações e dados essenciais de outros.

Visualizando usuários existentes

Uma das maneiras mais rápidas de ver os usuários é usar os comandos cat (concatenar) ou more (paginador) para visualizar a lista de usuários no sistema. O arquivo que você precisará visualizar é o “/etc/passwd”. Este arquivo armazena todas as contas de usuário e informações de login do usuário.

sudo cat /etc/passwd

Utilizando o comando useradd

useradd é um binário de baixo nível disponível na maioria das distros. Este comando é tipicamente menos usado devido a ser menos amigável e intuitivo em comparação com o comando adduser. No entanto, há muito poucas diferenças e qualquer um deles pode ser usado.

Para saber mais sobre useradd, execute o comando man ou adicione --help para obter uma visão geral rápida.

man useradd
useradd --help

linux-useradd-help

Para adicionar um usuário usando useradd, digite useradd e o nome do login que você deseja criar.

sudo useradd --create-home testuser

No caso acima, o usuário “testuser” será criado. Por padrão, este comando apenas criará o usuário e nada mais. Se você precisar de um diretório inicial para este usuário, acrescente a opção --create-home para criar o diretório inicial para o usuário.

Utilizando o comando adduser

O comando adduser é um script em perl que criará o usuário de forma semelhante ao comando useradd. O que o torna diferente é que é um comando interativo e solicitará que você defina a senha, o caminho do diretório inicial, etc. Observe que em algumas distros, como Red Hat e CentOS, adduser é um link simbólico para useradd, e em outras distros como Arch Linux, adduser vem como um pacote que não é instalado por padrão.

Usar este comando criará um grupo para o usuário usando o login do usuário por padrão. Outros padrões podem ser encontrados normalmente no arquivo useradd em “/etc/default”.

Neste arquivo, você pode alterar configurações padrão para usuários criados com useradd, como o shell e o diretório inicial.

linux-useradd-conf

Execute o comando adduser semelhante ao seguinte:

sudo adduser testuser

linux-adduser

Isso irá solicitar que você defina os padrões que deseja e pedir a senha.

Leia também: Como Gerenciar a Senha do Seu Usuário pelo Terminal no Linux

Senhas e segurança

Adicionar uma senha para um usuário requer a execução do comando passwd.

sudo passwd testuser

Sem privilégios de superusuário, executar passwd apenas mudará a senha do usuário logado. Este comando testará a complexidade da senha. No Ubuntu, os requisitos de senha são definidos no arquivo common-password localizado em “/ec/pam.d.” Mais informações sobre como atualizar a complexidade podem ser encontradas na página de ajuda do pam-auth-update.

linux-pam-auth-man

Atualizando informações do usuário

Uma vez que um usuário está no sistema, você pode revisar o arquivo “/etc/passwd” para ver as informações do usuário e a senha criptografada. Se precisar fazer alterações em um usuário, você precisará utilizar o comando usermod.

linux-usermod-man

Como exemplo, para mudar o id do usuário para a conta testuser4 criada acima, você executaria o comando:

sudo usermod -u 2022 testuser2

Você pode então revisar as alterações no arquivo “/etc/passwd”.

Tenha cuidado ao alterar informações críticas, como o nome de login ou, como neste caso, o id do usuário. Revise a página de ajuda do usermod para ver o que você precisará fazer se esses itens forem alterados.

Adicionando usuários a grupos

Há momentos em que você precisa adicionar usuários a um grupo para que tenham a permissão necessária para executar certas tarefas.

Para adicionar um usuário a um grupo:

sudo usermod -a -G groupname username

Observe que a opção -a é necessária para “anexar” o grupo ao usuário. Caso contrário, você poderá correr o risco de remover o usuário do grupo “sudo” se o usuário deve ter permissão de superusuário.

Alternativamente, você pode usar o comando gpasswd para adicionar/remover um usuário de/grupo.

sudo gpasswd -a username groupname

Para remover um usuário de um grupo:

sudo gpasswd -d username groupname

Removendo usuários

Semelhante a outros comandos de usuário, excluir um usuário é precedido por “user” e a ação. Neste caso, você precisará usar o comando userdel.

linux-userdel-man

Observe que userdel não removerá um usuário se houver processos usando a conta desse usuário.

sudo userdel testuser4

Visualizando logs de usuários

Dependendo da sua distribuição, você verificará o log de autenticação ou o log seguro localizado em “/var/log” para revisar os logins de usuários. Este arquivo de log fornecerá os logins no seu sistema assim que acontecerem. Este é um elemento crítico para monitorar eventos em caso de violação e apenas para garantir que as coisas estejam funcionando como desejado.

sudo tail /var/log/auth.log

O gerenciamento de usuários é uma parte crucial da administração de servidores Linux se houver mais de uma pessoa que usará o seu sistema. Usar a linha de comando permitirá que você administre rapidamente os usuários, bem como tenha um histórico da criação de contas e alterações. Talvez um dos melhores usos seja automatizar a criação com um script shell se várias contas forem necessárias de uma só vez.

De qualquer forma, certifique-se de revisar suas contas regularmente e remover contas que não são mais necessárias. Garanta que o acesso seja concedido apenas àqueles que atualmente precisam de acesso e monitore seus logs frequentemente.