Pular para o conteúdo principal

user

Exibir Todos os Usuários

Para listar todos os usuários no sistema, você pode usar o comando cat para exibir o conteúdo do arquivo /etc/passwd:

cat /etc/passwd
informação

Este arquivo contém informações sobre todos os usuários registrados no sistema, incluindo seus IDs de usuário (UIDs), grupos primários, diretórios home e informações de shell.

No passado, também era utilizado para salvar as senhas.

Atualmente as senhas dos usuários ficam em formato de hash no arquivo /etc/shadow e somente os usuários com direito de sudoers pode visualiza-lo.

Estrutura do Arquivo /etc/shadow

O arquivo /etc/shadow é utilizando para armazenar as informações sensíveis dos usuários, já que somente usuários com permissões de sudoers podem visualiza-lo. Dentre as informações sensíveis o arquivo shadow armazena a senha do usuário em formato de hash. No exemplo abaixo, a maioria dos usuário não possuem senha, porém aqueles com maiores informações, como exemplo o usuário kali possui.

uuidd:*:19683:0:99999:7:::
tcpdump:*:19683:0:99999:7:::
kali:$y$j9T$P4e5rDVu4IoZc9phsGnXr0$Bug5WTkDSra/pzgNbm7aFWTJAa1RSO5iI5msAaADYCC:19996:0:99999:7:30:3403031096:
mysql:!:19931:0:99999:7:::
postgres:*:19931:0:99999:7:::
sshd:*:20015:0:99999:7:::

Fazendo a decomposição dessa linha em várias partes temos:

kali: ID do usuário.
$y$j9T$P4e5rDVu4IoZc9phsGnXr0$Bug5WTkDSra/pzgNbm7aFWTJAa1RSO5iI5msAaADYCC: Informações do algoritmo hash e o próprio hash.
19996": Última alteração de senha em Unix time.
0: O número mínimo de dias necessários entre as alterações de senha.
99999: O número máximo de dias em que a senha é válida.
7: O número de dias antes da expiração da senha em que o usuário é avisado de que sua senha deve ser alterada.
30: O número de dias após a expiração da senha em que a conta é desativada.
3403031096: A data de expiração da conta em Unix time.

No fragmento que representa as informações do algorítmo hash e o próprio hash, podemos identificar qual o algoritmo hash seguindo a tabela abaixo:

ID do HashNome do Hash
$1MD5
$2Blowfish
$2aeksblowfish
$5SHA-256
$6SHA-512
$yyescrypt
informação

Maiores detalhes com o comando man crypt.

Para verificar como efetuar a quebra dos Hashs acima confira a documentação do Hashcat ou John the Ripper.

Adicionar um Novo Usuário

Para adicionar um novo usuário, utilize o comando adduser seguido pelo nome do usuário desejado. Este comando irá criar um novo usuário e configurar seu ambiente inicial:

adduser nomedousuario
informação

Siga as instruções apresentadas para definir uma senha e informações adicionais, se necessário.

Remover um Usuário

Para excluir um usuário do sistema, utilize o comando deluser seguido do nome do usuário que deseja remover:

deluser nomedousuario
informação

Tenha cuidado ao executar este comando, pois a exclusão de um usuário pode resultar na perda de dados associados a esse usuário.

Definir uma Senha para um Usuário

Para definir ou modificar a senha de um usuário, utilize o comando passwd seguido do nome do usuário:

passwd nomedousuario
informação

Siga as instruções para configurar a nova senha.

Entrar no Terminal como um Usuário Específico

Para entrar no terminal como um usuário específico, use o comando su (substituir usuário) seguido do nome do usuário:

su nomedousuario
informação

Isso solicitará a senha do usuário, e você estará logado como o usuário especificado.

Conceder Privilégios de Sudo (Administrativos)

Para conceder a um usuário a capacidade de executar comandos como administrador, você pode adicioná-lo ao grupo sudo. Use o seguinte comando para fazer isso:

adduser nomedousuario sudo
informação

Isso permitirá que o usuário execute comandos com privilégios administrativos usando o comando sudo.

Revogar Privilégios de Sudo

Se você precisar remover os privilégios de sudo de um usuário, execute o seguinte comando:

deluser nomedousuario sudo
informação

Isso removerá o usuário do grupo sudo, limitando suas capacidades administrativas.

Alterar as Configurações do Sudoers Manualmente

Outra maneira de alterar se um usuário tem privilégios de sudo ou não é editando manualmente o arquivo /etc/sudoers. No entanto, essa abordagem é mais avançada e requer cuidado para evitar erros de sintaxe.

Verificar Autenticações de Usuário

Para verificar as autenticações realizadas por cada usuário no sistema, você pode examinar o arquivo de log de autenticação, geralmente encontrado em /var/log/auth.log:

cat /var/log/auth.log
informação

Este arquivo registra as tentativas de login e outros eventos de autenticação no sistema, fornecendo informações úteis para monitorar a segurança e a atividade dos usuários. Certifique-se de ter permissões adequadas para acessar este arquivo.

cuidado

Lembre-se de que o gerenciamento de usuários no Linux é uma tarefa crítica para a segurança e a administração do sistema. Tome cuidado ao adicionar, remover ou modificar usuários e seus privilégios para garantir um ambiente de sistema seguro e funcional.