sábado, 15 de outubro de 2011

Exibição dos usuários logados em um sistema Linux

Em um sistema operacional Linux, duas ferramentas são bem interessantes para exibição dos usuários logados e dos últimos usuários que logaram no sistema. O comando who, do pacote coreutils, e o comando last, do pacote sysvinit-tools.

O comando who exibe informações de quem está logado atualmente. É uma ferramenta para linha de comando e possui diversas opções, incluindo:

-a     Exibe tudo, o mesmo que -b -d -l -p -r -t -T -u.
-b     Data e hora do último boot do sistema.
-d     Exibe processos mortos.
-l     Exibe os processos de login no sistema.
-p     Exibe os processos ativos criados pelo init.
-r     Exibe o nível de execução corrente.
-t     Exibe as últimas alterações no relógio.
-u     Lista os usuários logados.

A ferramenta who consulta as informações armazenadas no arquivo /var/run/utmp.

Exemplos:

# who -b
# who -u

O comando last consulta o arquivo /var/log/wtmp e exibe uma lista de todos os usuários que logaram e deslogaram no sistema, desde a criação do arquivo. Também é uma ferramenta para linha de comando e possui diversas opções, incluindo:

-n num   Quantidade das últimas linhas que serão exibidas.
-a       Exibe o nome do host na última coluna.
-d       Inclui logins remotos e exibe o nome dos hosts remotos.
-f file  Especifica outro arquivo ao invés de /var/log/wtmp.
-F       Datas e horas em formato completo.
-i       Inclui logins remotos e exibe o IP dos hosts remotos.
-x       Exibe as entradas de shutdown e mudanças nos níveis de execução.
-t YYYYMMDDHHMMSS   Exibe o estado dos logins até a data especificada.

Nomes de usuários e de terminais podem ser dados em sua linha de comando para filtrar a exibição.

Existe no sistema um pseudo usuário, denominado reboot, que é utilizado nos logs quando o sistema reinicia. Desta forma, este usuário mostrará os registros de início do sistema.

Há ainda o comando lastb, semelhante ao comando last, mas que exibe as tentativas frustradas de login. Esta ferramenta consulta o arquivo /var/log/btmp.

O sistema somente armazena as informações se os arquivos wtmp e btmp existirem. Eles podem ser criados com o simples comando touch. Estes arquivos costumam ser segmentados pelo sistema, arquivos com datas bem mais antigas recebem o nome no formato /var/log/wtmp-YYYMMDD. Pode ser útil consultá-los com a opção -f.

Exemplos:

# last -n 10
# last -i
# last fulano

Um comentário:

  1. Gostaria de saber se é possível listar os usuários logados (Ex: who -u) classificados por ordem de acesso.
    Ex: Quero visualizar em ordem cronológica, os últimos usuários que acessaram o sistema, e também exibindo todos os usuários logados.

    ResponderExcluir