Gerenciando usuários Linux via linha de comando: um guia completo

Gerenciando usuários Linux via linha de comando: um guia completo

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.

Ver informações do usuário

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.

Ver informações de usuários existentes

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

Ajuda para adicionar usuários no Linux

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

Criar e verificar usuário

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.

Configurar valores padrão para o usuário

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.

Criar usuário usando AddUser

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.

Definir senha de atualização

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.

Manual de autenticação Pam do Linux

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.

Adicionar usuário a um grupo

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

Excluir usuário

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

Visualizar registros do usuário

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.

Fonte e imagens

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *