
Gibt es eine Möglichkeit, ein Protokoll aller Befehle zu finden, die von einem Benutzer auf einem Ubuntu 11.10-Server ausgeführt wurden? Ich muss herausfinden, was mein Freund ausgeführt hat, um ein Programm zu installieren.
Antwort1
Wenn Sie etwas wie Bash als Befehlsinterpreter verwenden, können Sie den Verlauf überprüfen.
more /home/user/.bash_history
Antwort2
Befolgen Sie diese Anweisungen (überarbeitet vondiese Antwort).
Modifiziere den
/etc/bash.bashrc
Fügen Sie die folgende Zeile am Ende dieser Datei an
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/[ ][0-9]+[ ]//" ) [$RETRN_VAL]"'
Erstellen einer neuen Datei
/etc/rsyslog.d/bash.conf
Fügen Sie die Zeile zur Datei hinzu
local6.* /var/log/commands.log
Fügen Sie der Datei eine Zeile hinzu
/etc/logrotate.d/rsyslog
.Nahe:
/var/log/mail.warn /var/log/mail.err [...] /var/log/message
Füge das hinzu
/var/log/commands.log
Starten Sie rsyslog neu.
sudo service rsyslog restart