Risposte:
È possibile registrare tutte le invocazioni di un eseguibile specifico (setuid o meno) tramite il sottosistema di controllo . La documentazione è piuttosto scarsa; iniziare con la pagina man auditctl , o forse questo tutorial . Le distribuzioni più recenti spediscono un auditdpacchetto. Installalo e assicurati che il auditddemone sia in esecuzione, quindi fallo
auditctl -A exit,always -F path=/path/to/executable -S execve
e guarda le chiamate registrarsi /var/log/audit/audit.log(o ovunque la tua distribuzione lo abbia impostato).
-F path=…con -F euid=0 -F 'uid!=0'qualcosa del genere. Non riesco a vedere un hook nel codice setxid invocatoexecve né un orologio setxid specifico nel sottosistema di controllo . Oppure, ovviamente, puoi registrare ogni execvee postprocess.
auditd.