Wie kann ich herausfinden, wer in einem bestimmten Zeitraum angemeldet war? Ich habe last -t versucht, aber das war nicht das, wonach ich gesucht habe. Ich möchte herausfinden, wer beispielsweise zwischen dem 11. Mai 10:00:00 und dem 15. Mai 22:00:00 angemeldet war.
Antwort1
Protokolle/Audits. Protokolle sind das Beste.
Bitte geben Sie Ihr Betriebssystem an.
Unter Linux können Sie das „Audit“-System verwenden, um alle Anmeldungen zu protokollieren. Dies ist beispielsweise unter Fedora standardmäßig aktiviert. Einträge erscheinen im Systemjournal. Es gibt auch ein spezielles Suchtool ausearch
, das eine Protokolldatei verwendet. Ich gehe davon aus, dass das Protokoll regelmäßig archiviert wird (d. h. logrotate); das Tool durchsucht anscheinend nur eine Protokolldatei. Anmeldungen sind wahrscheinlich die offensichtlichste Verwendung hierfür; es wird als erstes Beispiel in der RHEL-Dokumentation erwähnt. Dort steht, dass verwendet werden soll ausearch --message USER_LOGIN
. Datumsbereiche sind ebenfalls nützlich; die relevanten Optionen sind --start
und --end
.
Unter Debian können Sie Audit installieren, aber standardmäßig werden Ihre Anmeldungen in aufgezeichnet /var/log/auth.log
. Ich vermute, dass dies hauptsächlich von PAM implementiert wird.
Zumindest bei Debian möchten Sie wahrscheinlich eine Möglichkeit zur Unterscheidung vom Rauschen, das durch Cron-Jobs generiert wird (wenn Cron für den Job zu einem bestimmten Benutzer wechselt).
Wie Sie sehen, ist meine erste Zeile so spezifisch wie nur möglich, ohne die zweite zu beantworten. Bitte beachten Sie, dass „Unix & Linux“ einen Wald von Betriebssystemen umfasst, die über mehr als 4 Jahrzehnte veröffentlicht wurden, z. B. wie in diesem33 Seiten Diagramm.