Odpowiedzi:
Można rejestrować wszystkie wywołania określonego pliku wykonywalnego (setuid lub nie) za pośrednictwem podsystemu kontroli . Dokumentacja jest raczej rzadka; zacznij od strony manuala auditctl lub może tego samouczka . Najnowsze dystrybucje wysyłają auditdpaczkę. Zainstaluj go i upewnij się, że auditddemon działa, a następnie zrób
auditctl -A exit,always -F path=/path/to/executable -S execve
i obserwuj, jak połączenia się logują /var/log/audit/audit.log(lub gdziekolwiek skonfigurowała to Twoja dystrybucja).
-F path=…je -F euid=0 -F 'uid!=0'lub coś podobnego. Nie widzę haka w kodzie setxid wywoływanego przezexecve konkretny zegarek setxid w podsystemie kontroli . Lub, oczywiście, możesz rejestrować wszystkie execvei postprocesy.
auditd.
findpolecenie, aby wyświetlić listę wszystkich plików SUID:find / -xdev \( -perm -4000 \) -type f -print