Ich weiß, dass der Befehl 'history' mir eine Liste der Befehle gibt, die ich in das Unix-Terminal eingegeben habe.
Wie sehe ich den Befehlsverlauf für alle Benutzer, die derzeit am System angemeldet sind?
Ich weiß, dass der Befehl 'history' mir eine Liste der Befehle gibt, die ich in das Unix-Terminal eingegeben habe.
Wie sehe ich den Befehlsverlauf für alle Benutzer, die derzeit am System angemeldet sind?
Antworten:
Sie erhalten eine Liste der aktuell angemeldeten Benutzer /var/run/utmp
(siehe man 5 utmp
). Der Verlauf wird in ~ / .history oder für Bash-Benutzer in ~ / .bash_history gespeichert. Andere Shells verwenden möglicherweise andere Verlaufsdateien, sodass es nicht so einfach ist, wirklich alle Informationen abzurufen.
Wenn ein Benutzer mehrmals angemeldet ist, ist die Datei .bash_history nicht immer zuverlässig.
Um die utmp
Datei zu lesen, wird ein "Frontend" aufgerufen who
, sodass Sie auch ein Shell-Skript schreiben können, um die aktuell angemeldeten Benutzer zu durchlaufen.
history -a
oder ähnlich geschrieben wurde oder wann ein Benutzer die Shell verlässt.