Как получить журнал команд определенного пользователя на сервере Ubuntu?

Как получить журнал команд определенного пользователя на сервере Ubuntu?

Есть ли способ найти журнал всех команд, которые были запущены пользователем на Ubuntu 11.10 Server? Мне нужно узнать, что мой друг запустил, чтобы установить программу.

решение1

Если вы используете что-то вроде bash в качестве интерпретатора команд, вы можете проверить историю.

more /home/user/.bash_history

решение2

Следуйте этим инструкциям (пересмотренным сэтот ответ).

  1. Изменить/etc/bash.bashrc

  2. Добавьте следующую строку в конец этого файла

     export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/[ ][0-9]+[ ]//" ) [$RETRN_VAL]"'
    
  3. Создать новый файл

    /etc/rsyslog.d/bash.conf
    
  4. Добавьте строку в файл

    local6.*    /var/log/commands.log
    
  5. Добавьте строку в файл /etc/logrotate.d/rsyslog.

    Рядом:

    /var/log/mail.warn
    /var/log/mail.err
    [...]
    /var/log/message   
    

    Добавь это

    /var/log/commands.log
    
  6. Перезапустите rsyslog.

    sudo service rsyslog restart
    

Связанный контент