O gerenciamento de usuários é um aspecto fundamental para qualquer administrador de sistemas Linux. Seja supervisionando uma única máquina ou uma rede de servidores, manter a ordem entre as contas de usuário é vital para o controle e a segurança do sistema. Um gerenciamento adequado garante que o acesso seja concedido somente àqueles que realmente precisam dele e apenas pelo tempo necessário. Privilégios irrestritos podem levar a potenciais violações de dados sensíveis ou recursos críticos. Neste artigo, exploraremos ferramentas essenciais de linha de comando que permitem aos administradores criar, modificar e remover contas de usuário diretamente do terminal.
Arquivos essenciais para gerenciar usuários no Linux
O Linux armazena informações críticas de usuários e grupos em arquivos de sistema específicos. Esses arquivos contêm detalhes da conta, dados de senha e permissões de grupo, servindo como base para o gerenciamento de usuários e o controle de acesso.
| Arquivo / Diretório | Descrição |
|---|---|
| /etc/passwd | Contém UID, GID, diretório home e shell padrão. Legível por todos, editável apenas por root/sudo. |
| /etc/grupo | Lista os nomes dos grupos, GIDs e membros, essencial para gerenciar as associações e permissões dos grupos. |
| /etc/sudoers | Define quais usuários/grupos podem executar comandos como root. Requer edição cuidadosa. |
| /etc/sombra | Armazena os hashes de senha e informações de expiração. O acesso é restrito apenas ao usuário root. |
| /etc/gshadow | Contém detalhes da senha do grupo e informações sobre expiração, acessível apenas pelo usuário root. |
| /etc/skel | Arquivos como “.bashrc” e “.profile” são copiados automaticamente para os diretórios pessoais dos novos usuários. |
| /etc/login.defs | Configura as definições de expiração de senhas, prazo de validade e várias políticas de segurança. |
Como visualizar os usuários existentes
Uma maneira simples de verificar os usuários existentes em um sistema Linux é inspecionar o arquivo “/etc/passwd”, que contém informações essenciais sobre as contas de usuário. Para visualizar este arquivo, execute:
sudo cat /etc/passwd
Cada linha do arquivo corresponde a uma conta de usuário única.

O idcomando fornece o nome de usuário UID, GIDo nome de usuário e todos os grupos aos quais o usuário pertence:
id usernamegroups usernamegetent passwd username
Alternativamente, o groupscomando mostra apenas os grupos associados a um usuário. O getentcomando recupera detalhes da conta de bancos de dados do sistema, incluindo “/etc/passwd”, LDAP ou outras fontes configuradas.

Utilizando o comando useradd para criar usuários
O useraddcomando é um utilitário fundamental disponível na maioria das distribuições, mas geralmente é considerado menos amigável ao usuário em comparação com adduser. Apesar de suas diferenças, ambos os comandos executam funções semelhantes.
Para saber mais sobre o useraddcomando, use o mancomando ou adicione `–help` --helppara obter um guia breve:
man useradd--help

Para criar um novo usuário e um diretório pessoal, você pode usar o seguinte comando:
sudo useradd --create-home
Se você omitir essa --create-homeopção, a conta de usuário não terá um diretório pessoal. Após criar o usuário, verifique sua existência executando o comando grep:
grep /etc/passwd

Criando usuários com o comando adduser
Ao contrário de useradd, o addusercomando é um script Perl que proporciona uma experiência interativa de criação de usuário, solicitando senha e detalhes do diretório inicial, entre outros. Em muitas distribuições, como Red Hat e CentOS, adduserserve como um link simbólico para useradd. No entanto, em outros sistemas, como o Arch Linux, um pacote separado pode incluir adduser.
Quando invocado, este comando geralmente gera um grupo com o mesmo nome do usuário. As configurações padrão para usuários criados por meio deste comando useraddpodem ser ajustadas no arquivo “/etc/default/useradd”, onde atributos como shell padrão e diretório home podem ser predefinidos.

Para criar um novo usuário, execute o seguinte comando:
sudo adduser testuser
Você será solicitado a definir e confirmar uma senha, fornecer informações adicionais do usuário e finalizar a criação da conta.

Atualizando senhas de usuário
Após a criação de uma conta de usuário, você pode modificar a senha do usuário utilizando um passwdcomando como este:
sudo passwd
Ao executar este comando, você será solicitado a inserir e confirmar uma nova senha. Usuários comuns só podem alterar sua senha se executarem o comando sem o ponto sudo.

Os requisitos de complexidade de senha são impostos pelo PAM (Pluggable Authentication Modules) e geralmente podem ser configurados em “/etc/pam.d/common-password” em sistemas Ubuntu. Para obter mais informações, consulte o manual do pam-auth-update.

Utilizando o comando usermod para gerenciamento de usuários
O usermodcomando fornece um mecanismo para alterar atributos de contas de usuário existentes. Isso inclui atualizar IDs de usuário, nomes de login, diretórios pessoais ou associações a grupos. Por exemplo, para alterar o UID de um usuário, use:
sudo usermod -u
Alterações no UID ou GID podem afetar a propriedade e as permissões dos arquivos em todo o sistema.
Para alterar o diretório inicial de um usuário, utilize o seguinte procedimento:
sudo usermod -d
Além disso, você pode bloquear ou desbloquear contas de usuário com os seguintes comandos:
sudo usermod -L sudo usermod -U
Por fim, você pode definir uma data de expiração da conta com a --expiredateopção:
sudo usermod --expiredate
Esses ajustes permitem gerenciar o acesso e os atributos dos usuários de forma eficaz, sem a necessidade de excluir contas.
Integrando usuários em grupos
Os grupos facilitam o compartilhamento de permissões entre vários usuários, o que é particularmente benéfico para gerenciar arquivos, executar serviços ou realizar tarefas administrativas coletivamente.
Para integrar um usuário a um grupo específico, utilize o seguinte usermodcomando com as opções `–group` -ae `–group` -G:
sudo usermod -a -G
A -aflag é crucial, pois adiciona o usuário a grupos existentes; omiti-la pode levar à sobrescrita das associações de grupo atuais.

Alternativamente, o gpasswdcomando também pode gerenciar associações a grupos:
sudo gpasswd -a username groupname
Para remover um usuário de um grupo, execute o seguinte comando:
sudo gpasswd -d username groupname
Exclusão de contas de usuário
Quando uma conta de usuário não for mais necessária, ela poderá ser removida usando o userdelcomando:
sudo userdel username

Este comando exclui a conta de usuário, mas preserva o diretório pessoal do usuário. Para remoção completa, incluindo o diretório pessoal, use:
sudo userdel -r username
Lembre-se de que o comando userdelnão será executado se houver processos ativos em execução na conta do usuário.
Rastreamento das atividades de login do usuário
Monitorar as atividades de login é essencial para que os administradores de sistema identifiquem tentativas de acesso não autorizado e resolvam problemas de autenticação. Em sistemas Ubuntu e Debian, as tentativas de login são registradas em “/var/log/auth.log”.Para verificar as entradas mais recentes, use:
sudo tail /var/log/auth.log

Para sistemas Red Hat ou CentOS, você pode encontrar os registros de login em “/var/log/secure”.Além disso, sistemas que utilizam systemd podem oferecer outro método para visualizar os logs de autenticação:
sudo journalctl | grep ssh
Essa abordagem proativa de gerenciamento de contas de usuário mantém seu sistema organizado e protege contra acessos não autorizados.
Deixe um comentário