Napisałem program, który wzywa setuid(0)
i execve("/bin/bash",NULL,NULL)
.
Potem zrobiłem chown root:root a.out && chmod +s a.out
Kiedy wykonuję ./a.out
, otrzymuję powłokę roota. Jednak gdy to zrobię gdb a.out
, proces zaczyna się jak zwykły użytkownik i uruchamia powłokę użytkownika.
Więc ... czy mogę debugować program root setuid?