1

Я хочу записывать информацию, когда файл выполняется, и, надеюсь, хвост этой информации. Как лучше всего регистрировать, например, временную метку и IP-адрес, когда файл выполняется через ssh-терминал, в отличие от написания php-скрипта внутри файла для регистрации его в текстовом файле или в БД.

2 ответа2

0

Это зависит от вашей цели, но достаточно легко создать скрипт-обертку - например, в BASH для регистрации времени выполнения.

У вас могут возникнуть проблемы с получением IP-адреса, так как после входа в систему пользователь BASH не ведет учет IP-адреса. Вы могли бы получить это - по моде - анализируя "кто" и получая IP-адрес, связанный с пользователем, но это делает, возможно, неправильные предположения о пользователе.

Вы также можете настроить специального пользователя или оболочку, которая регистрирует действия пользователя и ограничивает их. В качестве альтернативы вы можете изменить сценарий "prompt" (переменная $ PS1) для регистрации при выполнении команд.

Наконец, в зависимости от вашего дистрибутива (и терпимости к боли) вы можете использовать SELinux или Apparmour для регистрации при выполнении определенных файлов.

0

Есть система аудита , в Linux. Сначала загрузите и установите пакет audd , убедитесь, что демон audd запущен, затем вы можете настроить операции для выполнения с помощью команды audctl , которая поставляется с пакетом audd . Типичная команда будет

auditctl -a exit,always -w /path/to/file

Опция -a exit, Always указывает ядру проверять в конце (при выходе ) каждого syscal ( всегда ), имела ли место какая-либо модификация рассматриваемого файла. События аудита затем записываются в /var/log/audit/audit.log (по крайней мере для используемых мной дистрибутивов, YMMV).

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