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 auditd
pacchetto. Installalo e assicurati che il auditd
demone 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 execve
e postprocess.
auditd
.