CodeGym /Cursos /Docker SELF /Monitoramento de usuários ativos e logins: comandos `who`...

Monitoramento de usuários ativos e logins: comandos `who`, `w`, `last`

Docker SELF
Nível 5 , Lição 4
Disponível

Monitoramento de usuários ativos e logins: comandos who, w, last

1. Por que é importante monitorar os usuários?

O Linux, assim como qualquer outro servidor (ou até aquela caixinha malvada com sites), permite que vários usuários trabalhem ao mesmo tempo. Mas e se o teu servidor for invadido? Ou algum colega mal-intencionado decidir "sem querer" apagar arquivos importantes de madrugada? Monitorar a atividade dos usuários ajuda a gente a entender quem, quando e de onde acessou o sistema, além de quais processos eles estavam executando. É tipo uma câmera de segurança, mas para o teu servidor.

Ferramentas principais de monitoramento

Para avaliar a atividade dos usuários no servidor, o Linux oferece três comandos chave:

  • who — mostra os usuários atualmente conectados ao sistema.
  • w — dá um pouco mais de detalhes: o que os usuários estão fazendo e a carga no sistema.
  • last — fornece o histórico de logins no sistema.

Cada um desses comandos tem suas particularidades e é útil em diferentes cenários. Vamos analisar eles com exemplos.


2. Comando who

O comando who mostra a lista dos usuários que estão logados no momento. É como um "livro de registro" onde você pode dar uma olhada e ver quem está no servidor agora.

who

Exemplo de saída do comando:

user1    pts/0        2023-10-20 09:10 (192.168.1.100)
root     pts/1        2023-10-20 09:15 (192.168.1.101)

O que vemos aqui:

  • Nome do usuário user1, root.
  • O terminal pelo qual eles se conectaram pts/0, pts/1.
  • Horário do login 2023-10-20 09:10.
  • De onde veio a conexão 192.168.1.100.

Flags para who:

  • who -a: Mostra também dados do sistema, como o tempo de inicialização, processos ativos e usuários.
  • who am i: Mostra somente as informações do usuário que executou o comando.

3. Comando w

Se o who só registra quem fez login, o w dá mais informações - ele fala o que o usuário está fazendo no momento. Isso é útil pra entender se ele tá fazendo algo útil ou algo que precisa parar imediatamente.

w

Exemplo de saída:

10:20:42 up 1 day,  5:12,  2 users,  load average: 0.00, 0.01, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.100    09:10    1:00   0.01s  0.01s nano app.py
root     pts/1    192.168.1.101    09:15    2:00   0.02s  0.02s htop

O que tá rolando aqui:

  • A linha de cima mostra informações do sistema: hora atual, tempo de atividade do servidor, número de usuários e a carga do sistema load average.
  • A tabela mostra:
    • Nome do usuário user1, root.
    • O terminal conectado pelo usuário pts/0, pts/1.
    • O endereço IP do usuário 192.168.1.100.
    • A hora que ele fez login no sistema 09:10.
    • Tempo ocioso IDLE.
    • O que o usuário tá fazendo agora WHAT, tipo editando o arquivo app.py usando o nano.

Opções pro w:

  • w -h: Remove os cabeçalhos da tabela.
  • w username: Mostra a info só de um usuário específico.

4. Comando last

Se o who e o w falam sobre o presente, o last permite dar uma olhada no passado. Ele exibe o histórico de todos os logins no sistema. Este comando lê o arquivo /var/log/wtmp, onde todos os logins de usuários são registrados.

last

Exemplo de saída:

user1    pts/0        192.168.1.100    Sex Out 20 09:10 - 09:30  (00:20)
root     pts/1        192.168.1.101    Sex Out 20 09:15 - down   (00:15)

O que vemos aqui:

  • Nome do usuário user1, root.
  • Terminal pts/0, pts/1.
  • Endereço IP ou nome do host 192.168.1.100, 192.168.1.101.
  • Hora de login Sex Out 20 09:10.
  • Hora de logout 09:30 e tempo total da sessão 00:20.

Opções para last:

  • last -n 10: Exibe apenas os últimos 10 registros.
  • last username: Histórico de logins para um usuário específico.
  • last reboot: Mostra quando o servidor foi reiniciado.

5. Exemplo prático: análise de atividade de usuários

Vamos imaginar que você quer saber quem estava trabalhando no servidor à noite, pra entender se aconteceu algo suspeito. Vamos começar verificando os usuários atuais:

who

Agora vamos checar o que eles estão fazendo:

w

Se você achar algo estranho (tipo um processo desconhecido), precisa verificar quem fez login à noite. Pra isso, usamos:

last

Vamos olhar os registros de um usuário específico que chamou sua atenção:

last user1

Se você notar algo anormal, tipo login de um IP desconhecido, é hora de tomar uma atitude: restringir acesso, ativar autenticação em dois fatores ou bloquear o usuário.


6. Características e erros típicos

Ao trabalhar com comandos de monitoramento, é importante lembrar que:

  1. O arquivo de logs pode ser limpo. Se alguém apagou maliciosamente os registros em /var/log/wtmp, o comando last não mostrará nada. Esse é um dos motivos pelos quais é importante fazer backup regular dos logs ou enviá-los para um servidor remoto.

  2. Facilitando a interpretação da saída. Às vezes, a saída dos comandos pode ser sobrecarregada (por exemplo, se muitos usuários estão conectados). Use filtros como grep para encontrar as informações importantes:

    last | grep user1
    
  3. Dependência das configurações do sistema. Alguns sistemas podem não registrar logins se isso for desativado nas configurações. Certifique-se de que /var/log/wtmp está sendo atualizado regularmente.

Como aplicar esse conhecimento na prática?

  • Administração de servidores. Por exemplo, você é o administrador de uma empresa e precisa monitorar a segurança do sistema para garantir que ninguém quebre tudo acidentalmente ou intencionalmente.
  • Detecção de ameaças. Ferramentas de monitoramento ajudam a identificar tentativas de acesso não autorizado.
  • Auditoria de sistema. Ao verificar servidores para cumprir padrões de segurança, esses comandos são frequentemente usados para analisar a atividade dos usuários.
  • Diagnóstico. Notou que o servidor ficou lento? Veja quem está acessando e o que está fazendo!

Agora você está pronto para monitorar seu sistema como um chefe! Não se esqueça que proteger o sistema começa entendendo o que está rolando nos bastidores dele.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION