it-swarm.com.de

Befehl "Letzter": Wie wird die neueste Benutzeranmeldung angezeigt?

Wie ich weiß, zeigt der Befehl last die letzten Anmeldungen aller Benutzer an. Aber mein PC (CentOS) wird seit ungefähr einem Jahr verwendet, und es sind viele Benutzer angemeldet. Ich habe versucht, den Befehl last zu verwenden, aber er wurde nur von Juni 2013 bis September 2013 angezeigt.

Meine Frage ist : Wie kann ich die neuesten Benutzer anzeigen, die sich kürzlich angemeldet haben, z. B. (Dezember 2013 bis Januar 2014)?

21
Thomas

last liest aus einer Protokolldatei, normalerweise /var/log/wtmp, und druckt die Einträge erfolgreicher Anmeldeversuche der Benutzer in der Vergangenheit. Die Ausgabe ist so, dass der zuletzt angemeldete Benutzereintrag oben angezeigt wird. In Ihrem Fall ist es vielleicht aus diesem Grund unbemerkt geblieben.

Um zu überprüfen, wann die Datei /var/log/wtmp Zuletzt geschrieben wurde, können Sie den Befehl stat verwenden:

stat /var/log/wtmp

Um die Ausgabe in umgekehrter Reihenfolge zu drucken, können Sie die Ausgabe von last wie folgt an GNU tac (Gegenteil von cat) weiterleiten:

last | tac
15
mkc

Sie können auch den Befehl lastlog unter Linux verwenden. Sie erhalten detailliertere Steuerelemente für Datumsbereiche, wenn Sie die Protokolle der Benutzeranmeldungen durchsuchen.

Auszug aus der Lastlog-Manpage

   lastlog - reports the most recent login of all users or of a given user

Beispiel

Um herauszufinden, welche Benutzer sich in den letzten 100 Tagen bei einem System angemeldet haben.

$ lastlog -b 0 -t 100
Username         Port     From             Latest
sam              pts/0    pegasus          Wed Jan  8 20:32:25 -0500 2014
joe              pts/0    192.168.1.105    Thu Dec 12 12:47:11 -0500 2013

Dies zeigt, dass sich diese Benutzer das letzte Mal bei diesem System angemeldet haben. Der Zeitbereich zeigt die letzten 100 Tage. Gestern (-b 0) und nach 100 Tagen (-t 100).

Sie können auch alle Benutzer anzeigen, indem Sie einen beliebigen Bereich weglassen und nur jeden Benutzer anzeigen, der jemals angemeldet war, und das letzte Mal, als sie sich angemeldet haben.

18
slm

Sie können dieses Skript ausprobieren:

for user in $( awk -F: '{ print $1}' /etc/passwd)
do
lastlog=$(Sudo lsuser -a time_last_login $user | awk -F'=' '{print $NF}')
echo "$user         \c"; Perl -le "print scalar localtime($lastlog);"
done
0
user266746