Se você é um administrador de sistemas ou um usuário avançado do Linux, entender como obter informações detalhadas sobre contas de usuário e detalhes de login é crucial. Este artigo desvenda dez maneiras de fazer isso, desde explorar arquivos de sistema vitais até empregar comandos do terminal poderosos.
1- O Arquivo /etc/passwd
Nosso ponto de partida é o arquivo /etc/passwd, uma fonte valiosa de informações sobre cada usuário em um sistema Linux. Ele armazena informações como o nome do usuário, o ID do usuário, o ID do grupo do usuário, o diretório home do usuário e a shell do usuário. O formato geral de uma entrada neste arquivo é:
username:x:userID:groupID:comment:home_directory:shell
Aqui, “x” representa a existência de uma senha criptografada, que é armazenada em um arquivo diferente, o /etc/shadow.
2. O Arquivo /etc/shadow
O arquivo /etc/shadow é onde as senhas de usuário criptografadas são mantidas. Este arquivo é legível apenas pelo usuário root, o que ajuda a proteger essas informações sensíveis. Cada entrada neste arquivo é semelhante a:
username:$6$w6u84jsg$9bDby/:18051:0:99999:7:::
Esses campos representam, respectivamente, o nome do usuário, a senha criptografada, a idade da senha e vários outros detalhes de controle de senha.
3. O Comando ‘id’
O comando ‘id’ é uma ferramenta poderosa para obter informações detalhadas de identificação sobre um usuário. Ao inserir id username
, você obterá o ID do usuário (UID), o ID do grupo (GID) e outros grupos aos quais o usuário pode pertencer.
4. O Comando ‘who’
O comando who
é uma maneira rápida e fácil de visualizar os usuários que estão atualmente logados no sistema. O comando exibe o nome do usuário, a hora do último login e o terminal do qual o usuário está conectado.
5. O Comando ‘last’
O comando last
é uma ferramenta útil para visualizar um histórico de logins e reboots do sistema. Ele lê o arquivo /var/log/wtmp para exibir esta lista. Você pode restringir a saída a um usuário específico, usando last username
.
6. O Comando ‘finger’
Embora seja um pouco antigo, o comando ‘finger’ ainda é útil para obter uma variedade de informações do usuário, incluindo o diretório inicial do usuário, o shell, a hora do último login e até mesmo os detalhes do escritório do usuário se essas informações foram adicionadas. Note que o comando ‘finger’ pode não estar instalado por padrão em todas as distribuições Linux.
7. O Comando ‘getent’
O comando getent
é uma maneira versátil de acessar entradas em muitos bancos de dados do sistema, incluindo o banco de dados de usuários e o de grupos. O comando getent passwd username
retornará informações de conta para o usuário especificado.
8. O Comando ‘w’
Similar ao comando ‘who’, o comando ‘w’ oferece uma visão mais detalhada de quais usuários estão atualmente logados e o que estão fazendo. Ele exibe informações como o tempo de inatividade do usuário, o processo atual e outras estatísticas.
9. O Comando ‘chage’
O comando ‘chage’ é uma ferramenta importante para visualizar e alterar informações de expiração da conta do usuário. Usando chage -l username
, você pode ver quando a senha foi alterada pela última vez e quando a senha e a conta expirarão.
10. O Comando ‘passwd’
Finalmente, o comando ‘passwd’ não só permite alterar a senha do usuário, mas também exibir informações sobre a conta do usuário quando usado com a opção -S
. A saída incluirá o nome do usuário, o status da senha (bloqueado, sem senha etc.), a data da última alteração de senha e outros detalhes.
A administração de sistemas Linux envolve o conhecimento de várias ferramentas e arquivos para gerenciar contas de usuários efetivamente. Com a combinação certa dessas técnicas, é possível obter um retrato abrangente do status e da atividade do usuário. Encorajamos os leitores a experimentar esses comandos e técnicas por conta própria para se familiarizarem com eles.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.