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 auditd
paquete. Instálalo y asegúrate de que el auditd
demonio 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 execve
y cada proceso posterior.
auditd
.