Ответы:
Вы можете регистрировать все вызовы определенного исполняемого файла (setuid или нет) через подсистему аудита . Документация довольно скудная; начните со страницы руководства audctl или, возможно, с этого руководства . В последних выпусках поставляется auditd
пакет. Установите его и убедитесь, что auditd
демон работает, затем выполните
auditctl -A exit,always -F path=/path/to/executable -S execve
и наблюдайте за тем, как звонки регистрируются /var/log/audit/audit.log
(или там, где ваш дистрибутив настроил это).
-F path=…
с -F euid=0 -F 'uid!=0'
или что - то вроде этого. Я не вижу ни хука в вызываемом коде setxid,execve
ни конкретного наблюдения за setxid в подсистеме аудита . Или, конечно, вы можете войти каждый execve
и пост-процесс.
auditd
.