Linux: come ottenere tutti i log di accesso dal mio sistema [chiuso]


12

Voglio sapere tutte le volte in cui un utente accede dallo scorso anno nel mio sistema?
Ho usato il lastcomando ma non è utile.


1
benvenuto in Stack Exchange! per favore ricorda che siamo tutti volontari qui. come tale, ci aspettiamo che tu abbia fatto alcune ricerche di base. sembra che tu abbia un inizio - dal momento che accenni di provare il lastcomando - ma dovresti fare più ricerche di così, e in ogni caso, non hai ancora specificato perché il lastcomando non è utile. inoltre, definire "accesso". vuoi tenere traccia degli accessi alla console? Login SSH? Emacs vietare, telnetaccessi? o semplicemente qualcosa di autenticazione con PAM? sii specifico .
strugee,

Risposte:


10

I log di login su Linux in stile redhat sono chiamati wtmp( man wtmp), memorizzati /var/log/per impostazione predefinita, e puoi recuperarli usando utmpdump(su 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

Sembra che lastpossa essere usato per ottenere ciò che stai cercando di fare. È necessario aggiungere la data all'ultimo comando per estrarre le informazioni.

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

Tuttavia, se ti interessa trovare informazioni su un determinato utente, puoi modificare l'ultimo comando come last usernamee quindi reindirizzare il whileloop ad esso. Ti fornirebbe le informazioni di accesso di un determinato utente per l'ultimo anno.

Ho testato il comando sopra e funziona perfettamente nel mio sistema. Ho preso il comando sopra da qui .

È possibile modificare la data nel comando in base alle proprie esigenze.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.