В настоящее время у меня есть сеанс root SSH на сервере Debian Wheezy, и я вижу, что в данный момент вошел другой пользователь (с непривилегированной учетной записью). Поскольку пользователь все еще вошел в систему, history команд не отображается правильно, потому что история не была сброшена, а затем файл ~/.bash_history не обновлен (он все еще находится в памяти).

Как я могу сбросить память, чтобы увидеть, что пользователь сделал во время сеанса, когда он еще вошел в систему?

2 ответа2

0

Вы не можете полагаться на bash_history, потому что он не всегда сохраняется или может быть перезаписан. Также не все обычно сохраняется во время многосессионного использования (это зависит от конфигурации, конечно).

Если вам действительно нужно отслеживать такие данные, я бы продолжил настройку acct которой есть такие полезные инструменты, как:

  • Команда ac выводит статистику пользовательских входов / выходов (время подключения) в часах.
  • Команда lastcomm печатает информацию о ранее выполненных командах пользователя.
  • accton используется для включения / выключения процесса учета.
  • Команда sa суммирует информацию о ранее выполненных командах.
  • Команды last и lastb показывают список последних зарегистрированных пользователей.

Установить:

apt-get install acct

Тогда вы должны включить услугу

service pcacct start
0

Вот небольшой скрипт, который должен сбрасывать историю. Обратите внимание, что вам нужно быть пользователем root, чтобы проникнуть в пространство памяти других процессов.

#!/bin/bash
if [ $# -eq 0 ]; then
        echo "usage: $0 <bash_pid>"
        exit 1
fi
gdb -batch \
        --eval "set sysroot /" \
        --eval "attach $1" \
        --eval "call write_history(\"/tmp/bash_history-$1.txt\")" \
        --eval 'detach' \
        --eval 'q'
exit 0

п.с. Может появиться сообщение об ошибке, например «предупреждение: не удалось загрузить символы общей библиотеки для ...», а также несколько других строк, отображающих ошибки Попробуйте найти файл истории в /tmp / перед тем, как начать, убедившись, что скрипт не работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .