who, w e last: Inspecionando Logins e Sessoes

who, w e last: Inspecionando Logins e Sessoes

Quem esta usando este servidor agora?

Lina: Senpai, eu estava trabalhando em um servidor compartilhado e ele ficou lento de repente. Sera que alguem mais esta logado? Posso verificar isso?
Veterano Linny: Pode sim. Use who para ver quem esta logado agora, w para ver o que estao fazendo, e last para ver quem fez login no passado. Esses tres se complementam bem quando voce os aprende.

O Que Voce Vai Aprender

  • Como listar usuarios atualmente logados com who
  • Como verificar a atividade de cada usuario e a carga do servidor com w
  • Como consultar o historico de logins passados com last
  • Como inspecionar o historico de reboot e inicializacao com last reboot
  • Quando usar who/w (agora) vs last (passado)

1. Qual a diferenca entre who, w e last?

Conclusao: who e w mostram quem esta logado agora, enquanto last mostra o historico de logins passados. w e mais detalhado que who e revela o que cada usuario esta fazendo.

Lina: Tres comandos parece muito para decorar.
Veterano Linny: Separe-os em "agora" vs "passado" e fica facil. who e w mostram o estado de login ao vivo; last mostra o historico. who e o simples, e w adiciona "o que estao fazendo" alem disso.
Comando O que mostra Tipo de informacao
who Quem esta logado agora Agora (ao vivo)
w Agora + atividade de cada usuario Agora (ao vivo, detalhado)
last Historico de logins passados Passado (log)

who e w leem dados de sessao ao vivo (/var/run/utmp), enquanto last le um log acumulado (/var/log/wtmp). Por isso apenas last pode mostrar pessoas que ja fizeram logout.

2. Como vejo quem esta logado agora?

Conclusao: Basta digitar who para listar o nome, terminal e horario de login de cada usuario logado.

Lina: Vamos comecar com "quem esta aqui agora."
Veterano Linny: Certo, basta digitar who sozinho. Nao precisa de argumentos ou opcoes.
$ who
lina     tty1         2026-06-05 09:12
linny    pts/0        2026-06-05 10:03 (192.168.1.20)
Lina: Duas pessoas. O que sao tty1 e pts/0?
Veterano Linny: Sao os terminais em que fizeram login. tty1 e um console conectado diretamente a maquina; pts/0 e um terminal virtual pela rede (como SSH). O (192.168.1.20) a direita e o IP de origem, mostrado para logins remotos.

Colunas (da esquerda para a direita)

  • Nome de usuario
  • Terminal (tty = fisico, pts = pseudo-terminal = conexao remota)
  • Data e hora do login
  • Host / IP de origem (se houver)
Lina: E se eu so quiser confirmar "esta sessao sou eu"?
Veterano Linny: Digite who am i e voce vera apenas a linha da sua propria sessao. Note os espacos -- sao tres palavras separadas.
$ who am i
linny    pts/0        2026-06-05 10:03 (192.168.1.20)

who am i (com espacos, tres palavras) e whoami (sem espacos, uma palavra) sao diferentes. whoami e um comando separado que imprime apenas seu nome de usuario; nao e uma opcao do who. Sao faceis de confundir.

3. Como vejo o que cada usuario esta fazendo?

Conclusao: w adiciona ao que who mostra -- para cada usuario ele exibe o comando que esta executando agora, mais a media de carga do servidor, tudo em uma tela.

Lina: Quero saber o que esta deixando lento. Posso ver o que cada pessoa esta realmente fazendo?
Veterano Linny: E exatamente para isso que o w serve. A linha do topo mostra o estado geral do servidor, e cada linha abaixo mostra o comando que cada usuario esta executando.
$ w
 10:15:32 up 2 days,  3:41,  2 users,  load average: 0.15, 0.10, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
lina     tty1     -                09:12    1:03m  0.20s  0.20s -bash
linny    pts/0    192.168.1.20     10:03    2.00s  0.10s  0.05s w
Lina: Essa linha do topo esta cheia de informacoes...
Veterano Linny: Da esquerda para a direita: o horario atual, o tempo de atividade (up), quantos usuarios estao logados e a media de carga. Uma media de carga mais alta significa mais ocupado. Os tres numeros sao medias dos ultimos 1, 5 e 15 minutos.

Colunas principais do w

  • USER / TTY / FROM: quem, qual terminal, de onde
  • LOGIN@: horario do login
  • IDLE: tempo desde a ultima atividade (mais longo = mais ocioso)
  • WHAT: o comando em execucao agora
Lina: Entao WHAT me diz que eu estou apenas no -bash (um shell), e voce esta executando w.
Veterano Linny: Exatamente. Voce pode adivinhar quem esta colocando carga na maquina e com qual tarefa. Remova o cabecalho com w -h, ou filtre para um usuario com w lina.
$ w -h lina
lina     tty1     -                09:12    1:03m  0.20s  0.20s -bash

4. Como vejo o historico de logins passados?

Conclusao: last mostra o historico de logins passados, do mais recente para o mais antigo. Inclui pessoas que ja fizeram logout, entao voce pode rastrear quem fez login, quando e de onde.

Lina: E quanto a olhar o passado -- como "quem fez login ontem a noite" em vez de "agora"?
Veterano Linny: Esse e o last. Ele lista registros de login e logout, do mais recente para o mais antigo. Podem ser muitos, entao comece limitando a contagem com -n.
$ last -n 5
linny    pts/0        192.168.1.20     Fri Jun  5 10:03   still logged in
lina     tty1                          Fri Jun  5 09:12   still logged in
linny    pts/0        192.168.1.20     Thu Jun  4 18:40 - 19:55  (01:15)
lina     pts/1        192.168.1.31     Thu Jun  4 14:02 - 17:30  (03:28)
reboot   system boot  6.8.0-generic    Thu Jun  4 08:00   still running
Lina: Algumas linhas dizem still logged in e outras dizem - 19:55 (01:15).
Veterano Linny: Boa observacao. still logged in significa "ainda online agora." 18:40 - 19:55 (01:15) significa "fez login as 18:40, fez logout as 19:55, com duracao de 1 hora e 15 minutos." Para sessoes passadas, voce tambem ve o horario de logout e a duracao.

last -n 5 mostra apenas as 5 entradas mais recentes. last -5 faz a mesma coisa. O historico se acumula, entao limitar a contagem primeiro facilita muito a leitura.

5. Como verifico reinicializacoes ou um usuario especifico?

Conclusao: Use last reboot para historico de reinicializacao/inicializacao, e last nome_usuario para filtrar os logins de um usuario.

Lina: Havia uma linha reboot naquele historico. Posso ver quando o servidor reiniciou?
Veterano Linny: Sim. last reboot lista apenas os horarios de inicializacao. Pratico para rastrear "quando caiu / voltou."
$ last reboot
reboot   system boot  6.8.0-generic    Thu Jun  4 08:00   still running
reboot   system boot  6.8.0-generic    Mon Jun  1 07:55 - Jun  4 07:58 (2+23:03)
Lina: E se eu quiser apenas o historico de uma pessoa, tipo o meu?
Veterano Linny: Adicione o nome de usuario apos last. last lina lista apenas os logins de lina.
$ last lina
lina     tty1                          Fri Jun  5 09:12   still logged in
lina     pts/1        192.168.1.31     Thu Jun  4 14:02 - 17:30  (03:28)
lina     tty1                          Wed Jun  3 09:30 - 18:10  (08:40)

Para inspecionar logins falhos, use lastb (o log btmp), nao last. lastb precisa de privilegios de administrador, entao execute sudo lastb. Ajuda a identificar sinais de intrusao, como muitas falhas de um IP desconhecido.

Mini exercicio (clique para abrir)

Descubra "quantos usuarios estao logados agora" e "os 3 registros de login mais recentes," cada um com um comando diferente.

Dica: A contagem aparece na linha de cabecalho do w (ou no numero de linhas do who). Para historico, limite a 3 entradas com last -n 3.

6. Armadilhas comuns e solucoes

Conclusao: A maioria dos problemas vem de tres coisas: confundir whoami com who am i, interpretar errado still logged in no last, e procurar logins falhos com last.

Sintoma Causa Solucao
Aparece apenas um nome de usuario Usando whoami Use who para lista, w para detalhes
who am i retorna erro Espacamento errado Tres palavras com espacos: who am i
Saida do last e longa demais para ler Mostrando o historico completo Limite com last -n 10
Logins falhos nao aparecem no last Olhando o log de sucesso (wtmp) Veja falhas com sudo lastb (btmp)
Incerto sobre o que still logged in significa Confuso com o formato de duracao Significa "ainda online agora"

Na duvida, siga esta ordem: quem esta aqui agora -> who, o que estao fazendo / carga -> w, olhar o passado -> last.

Proximas Leituras