Respuestas:
Puede registrar todas las invocaciones de un ejecutable específico (setuid o no) a través del subsistema de auditoría . La documentación es bastante escasa; Comience con la página de manual de auditctl , o tal vez este tutorial . Las distribuciones más recientes envían un auditdpaquete. Instálalo y asegúrate de que el auditddemonio se esté ejecutando, luego
auditctl -A exit,always -F path=/path/to/executable -S execve
y observe cómo se inician las llamadas /var/log/audit/audit.log(o donde su distribución haya configurado esto).
-F path=…con -F euid=0 -F 'uid!=0'o algo similar. No puedo ver un gancho en el código setxid invocado porexecve ni un reloj setxid específico en el subsistema de auditoría . O, por supuesto, puede registrar todos execvey cada proceso posterior.
auditd.