Como usar o último comando no Linux

Conteúdo

Laptop Linux mostrando um prompt bash

Quem, quando e de onde? Boas práticas de segurança dizem que você deve saber quem está acessando seu computador Linux. Nós mostramos como.

O arquivo wtmp

Linux e outros sistemas operacionais semelhantes ao Unix, como macOS, eles são muito bons para logar. Em algum lugar nas entranhas do sistema, há um registro de quase tudo que você pode pensar. O arquivo de log que nos interessa é chamado wtmp. o “C” poderia significar “quando” o “quem”, ninguém parece concordar. A parte “tmp” provavelmente significa “temporal”, mas também pode significar “timestamp”.

O que sabemos é que wtmp é um log que captura e registra todos os eventos de login e logout. Revendo os dados no wtmp log é uma etapa básica para adotar uma abordagem baseada na segurança para as tarefas de administração do sistema. Para um computador familiar típico, pode não ser tão crítico do ponto de vista da segurança, mas é interessante poder revisar o uso combinado do computador.

Ao contrário de muitos arquivos de log baseados em texto no Linux, wtmp é um arquivo binário. Para inserir os dados que contém, precisamos usar uma ferramenta projetada para essa tarefa.

Essa ferramenta é o last comando.

O ultimo comando

a last comando lê dados de wtmp registrar e exibi-lo em uma janela de terminal.

Se você escrever last e pressione Enter mostrar todos os registros do arquivo de log.

último

Cada registro de wtmp é exibido na janela do terminal.

De esquerda a direita, cada linha contém:

  • a nome de usuário da pessoa que logou.
  • a terminal eles estavam conectados. Uma entrada de terminal de :0 significa que eles se conectaram ao próprio computador Linux.
  • a direção IP da máquina à qual estavam conectados.
  • a Acesso carimbo de data e hora.
  • a duração da sessão.

A última linha nos informa a data e hora da primeira sessão registrada no registro.

Uma entrada de login para a reinicialização do usuário fictício’ é inserido no registro toda vez que o computador é iniciado. O campo do terminal é substituído pela versão do kernel. A duração da sessão de login para essas entradas representa o tempo de atividade do computador.

Mostra um número específico de linhas

Usando o last O comando sozinho produz um despejo de todo o log com a maior parte dele passando pela janela do terminal. A parte que fica visível são os primeiros dados do registro. Provavelmente não é o que você queria ver.

Pode dizer last para lhe dar um número específico de linhas de saída. Faça isso fornecendo o número de linhas que deseja na linha de comando. Observe o script. Para ver cinco linhas, deve escrever -5 e não 5:

último -5

Isso dá as primeiras cinco linhas do registro, quais são os dados mais recentes.

Mostrar nomes de rede para usuários remotos

a -d Opção (Sistema de nomes de domínio) indica last para tentar solucionar problemas de endereços IP de usuários remotos em um nome de host ou rede.

último -d

Nem sempre é viável para last para converter o endereço IP em um nome de rede, mas o comando fará isso quando possível.

Ocultar endereços IP e nomes de rede

Se você não está interessado no endereço IP ou no nome da rede, Use o -R (sem nome de host) suprimir este campo.

Porque isso dá uma saída mais limpa, sem envoltórios desagradáveis, esta opção foi usada em todos os exemplos a seguir. Se você estivesse usando last para tentar identificar atividades incomuns ou suspeitas, deveria não exclua este campo.

Escolha os registros por data

Você pode usar o -s (a partir de) para restringir a saída para mostrar apenas eventos de login que ocorreram a partir de uma data específica.

Se você só quisesse ver os eventos de login que ocorreram a partir de 26 Poderia 2019, Eu usaria o seguinte comando:

último -R -s 2019-05-26

A saída mostra logs com eventos de login que ocorreram desde o momento 00:00 do dia especificado, até os registros mais recentes no arquivo de log.

Procurando por uma data de término

Você pode usar o -t (até) para especificar uma data de término. Isso permite que você escolha um conjunto de registros de login que ocorreram entre duas datas de interesse.

Este comando pergunta last para recuperar e exibir os registros de login do 00:00 (amanheçer) do dia 26 até as 00:00 (amanheçer) do dia 27. Isso reduz a lista para as sessões de login que ocorreram apenas no dia 26.

Formatos de data e hora

Você pode usar horários e datas com o -s e -t opções.

Os diferentes formatos de hora que podem ser usados ​​com o last As alternativas que usam datas e horas são (supostamente):

  • AAAAMMDDhhmmss
  • AAAA-MM-DD hh: milímetros: WL
  • AAAA-MM-DD hh: milímetros – segundos estão configurados para 00
  • AAAA-MM-DD: o tempo está definido para 00:00:00
  • hh: milímetros: WL – a data está marcada para hoje
  • hh: milímetros: a data será marcada para hoje, os segundos em 00
  • agora
  • Ontem – o tempo está definido para 00:00:00
  • hoje – o tempo está definido para 00:00:00
  • Manhã – o tempo está definido para 00:00:00
  • + 5min
  • -5 dias

Por que 'supostamente'?

O segundo e o terceiro formato da lista não funcionaram durante a pesquisa para este post. Esses comandos foram testados em distribuições Ubuntu, Fedora e Manjaro. Eles são derivados de distribuições Debian, RedHat y Arch, respectivamente. Isso cobre todas as principais famílias de distribuição Linux.

último -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Como você pode ver, o comando não retornou nenhum registro.

Use o primeiro formato de data e hora na lista com a mesma data e hora que o comando acima retorna os registros:

último -R -s 20190526110000 -t 20190527130000

Pesquisa por unidades relativas

Também especifica períodos de tempo medidos em minutos ou dias., em conexão com a data e hora atuais. Aqui estamos solicitando registros de dois dias atrás até um dia atrás.

last -R -s -2days -t -1days

Ontem, hoje e agora

Você pode usar yesterday e tomorrow como uma abreviatura para a data de ontem e a data de hoje.

último -R -s ontem -t hoje

Não que isso não inclua nenhum registro de hoje. Esse é o comportamento esperado. O comando solicita registros da data de início. Até que a data de término. Não o faça incluir registros dentro da data de término.

a now A opção é curta para “hoje no momento atual”. Para ver os eventos de login que ocorreram desde o 00:00 (amanheçer) até o momento em que você emite o comando, use este comando:

último -R -s hoje-agora

Isto irá mostrar todos os eventos de login até a hora atual, incluindo aqueles que ainda estão conectados.

saída dos últimos -R -s hoje -t agora

A opção atual

a -p Opção (Aqui estou) permite que você descubra quem está logado em um horário específico.

Não importa quando eles entraram ou saíram, mas se eles se conectaram ao computador no momento que você especificar, será incluído na lista.

Se você especificar uma hora sem data last assumir que você quer dizer “hoje”.

último -R -p 09:30

Pessoas que ainda estão conectadas (evidentemente) eles não têm tempo para se desconectar; são descritos como still logged in . Se o computador não reiniciou desde o momento que você especificou, aparecerá como still running.

Última saída -R -p 09:30

Se você usar o now taquigrafia com -p (Aqui estou) opção, você pode descobrir quem está online no momento em que emitir o comando.

último -R -p agora

Este é um caminho um tanto longo para alcançar o que pode ser alcançado usando o who comando.

RELACIONADO: Como determinar a conta de usuário atual no Linux

O ultimo comando

a lastb comando merece menção. Leia os dados de um registro chamado btmp. Há um pouco mais de consenso sobre este nome de registro. La ‘b’ significa mal, mas a parte 'tmp’ ainda está em debate.

lastb liste os bandidosfracassado) tentativas de acesso. Aceite as mesmas opções que last. Porque foram tentativas de login malsucedidas, todas as entradas terão uma extensão de 00:00.

Você deve usar sudo com lastb.

sudo lastb -R

A última palavra sobre o assunto

Saiba quem está conectado ao seu computador Linux, e quando e de onde vêm as informações úteis. Combinar isso com os detalhes de tentativas de login malsucedidas fornece as primeiras etapas na investigação de comportamentos suspeitos..

setTimeout(função(){
!função(f,b,e,v,n,t,s)
{E se(f.fbq)Retorna;n = f.fbq = função(){n.callMethod?
n.callMethod.apply(n,argumentos):n.queue.push(argumentos)};
E se(!f._fbq)f._fbq = n;n.push = n;n.loaded =!0;n.version = ’2.0′;
n.queue =[];t = b.createElement(e);t.async =!0;
t.src = v;s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, documento,'roteiro',
‘Https://connect.facebook.net/en_US/fbevents.js ’);
fbq('iniciar', ‘335401813750447’);
fbq('acompanhar', ‘PageView’);
},3000);

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.