Вы можете использовать auditd
подсистему для регистрации команд, выполняемых в вашей системе. Он подключен к ядру, поэтому очень надежно регистрировать все, что выполняется.
Мои примеры на Fedora Linux, вы можете найти небольшие различия в зависимости от вашего дистрибутива. ( auditd
Подсистема довольно сложная, поэтому может быть сложно сделать это правильно.)
Сначала убедитесь, что у вас уже установлен и запущен Audit, с помощью:
$ systemctl status auditd.service
Затем вы можете проверить, какие правила загружены. По умолчанию в Fedora вы получаете:
$ sudo auditctl -l -a never,task
Поэтому нам нужно удалить этот список «задач» (который подавляет системные вызовы) и добавить тот, который регистрирует «execve» (который является системным вызовом, выполняющим команды).
$ sudo auditctl -d never,task $ sudo auditctl -a always,exit -F arch=b64 -S execve
Как только это будет сделано, все команды будут зарегистрированы в системе аудита.
Затем вы можете найти его, используя ausearch
команду. Например, чтобы найти все исполнения, которые вызывают «gulp», вы можете использовать:
$ sudo ausearch -c gulp
Вывод будет довольно многословным ... Сфокусируйтесь на строке type = EXECVE. Аргументы будут перечислены какa0="gulp" a1="first_argument" a2="second_argument" ...
Если вместо строки в кавычках вы получите длинную последовательность чисел, используйте -i
для ее интерпретации.
Регистрация каждой команды, которая выполняется в вашей системе, может быть очень дорогой и занимать много места на диске! Возможно, это тоже влияет на производительность. Если вы хотите отменить эти изменения, вы можете перезагрузить набор правил по умолчанию с помощью этой команды:
$ sudo augenrules --load
Вы также можете применить фильтр к правилу ведения журнала, например, только для регистрации выполнения / usr / bin / gulp:
$ sudo auditctl -a always,exit -F arch=b64 -F exe=/usr/bin/gulp -S execve
Так что, может быть, это излишне ... Но это так же надежно, как и получается. Я надеюсь, что вы можете найти свой путь через auditd
подсистему, и она даст вам информацию, которую вы ищете!