Linux: como obter todos os logs de login do meu sistema [fechado]


12

Quero saber todas as vezes que um usuário faz logon desde o ano passado no meu sistema?
Eu usei o lastcomando, mas não é útil.


1
bem-vindo ao Stack Exchange! lembre-se de que somos todos voluntários aqui. como tal, esperamos que você tenha feito alguma pesquisa básica. parece que você começou - desde que você mencionou tentar o lastcomando -, mas deveria estar fazendo mais pesquisas do que isso e, de qualquer forma, não especificou por que o lastcomando não é útil. Além disso, defina "logado". você deseja acompanhar os logins do console? Logins SSH? O Emacs proíbe telnetlogins? ou qualquer coisa autenticada no PAM? seja específico .
strugee

Respostas:


10

Os logs de login no linux no estilo redhat são chamados wtmp( man wtmp), armazenados /var/log/por padrão, e você pode recuperá-los usando utmpdump(no RHEL6).

[root@server ~]# utmpdump /var/log/wtmp* | awk '$4~"root" {print}'
Utmp dump of /var/log/wtmp
[7] [01320] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:31:47 2013 UTC]
[7] [01817] [ts/3] [root    ] [pts/3       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:38:22 2013 UTC]
[7] [01690] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:59:04 2013 UTC]
[7] [23641] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Wed Sep 25 19:12:44 2013 UTC]
[7] [03020] [ts/0] [root    ] [pts/0       ] [192.168.1.100       ] [192.168.1.100  ] [Fri Sep 27 21:33:40 2013 UTC]
...

1

Parece que lastpode ser usado para alcançar o que você está tentando fazer. Você precisa anexar a data ao último comando para extrair as informações.

last | while read line; do date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`; [[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line; done

No entanto, se você estiver preocupado em encontrar informações sobre um usuário específico, poderá modificar o último comando last usernamee canalizar o whileloop para ele. Daria a você as informações das informações de login de um usuário em particular no último ano.

Testei o comando acima e ele funciona perfeitamente bem no meu sistema. Eu peguei o comando acima daqui .

Você pode alterar a data no comando para atender aos seus requisitos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.