Wie kann ich das Befehlsprotokoll eines bestimmten Benutzers auf einem Ubuntu-Server abrufen?

Wie kann ich das Befehlsprotokoll eines bestimmten Benutzers auf einem Ubuntu-Server abrufen?

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).

  1. Modifiziere den/etc/bash.bashrc

  2. 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]"'
    
  3. Erstellen einer neuen Datei

    /etc/rsyslog.d/bash.conf
    
  4. Fügen Sie die Zeile zur Datei hinzu

    local6.*    /var/log/commands.log
    
  5. 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
    
  6. Starten Sie rsyslog neu.

    sudo service rsyslog restart
    

verwandte Informationen