LINUX.ORG.RU

Как отлаживать suid'ные программы?


0

0

Есть suid'ная софтинка, которая сегфолтится при запуске от пользователя. При запуске от root работает нормально. Как бы выяснить где и почему она вываливается?

Можно, конечно, сделать #define getuid/geteuid для таких целей, но вдруг есть уже готовые средства, которые я пропустил? info gdb что-то не обнадёживает.

Обнадеживаться в info gdb и man ulimit на предмет core ;)

Программка должна отбросить core, который загрузится gdb, после чего будет видно состояние стека, значения переменных и т.д. на момент падения (особенно если программа собрана с отладкой).

Unix way как он есть.

anonymous
()
Ответ на: комментарий от anonymous

>Обнадеживаться в info gdb и man ulimit на предмет core ;)

Чтобы свалилась suid core еще дополнительно нужно сделать prctl/PR_SET_DUMPABLE.

Murr ★★
()
Ответ на: комментарий от Murr

> что мешает запустить программу от пользователя, а gdb прицепить от root?

Программа быстро отрабатывает или валится в корку. gdb не успевает. Есть ли способ запускать софтину сразу остановленной? :)

K_X_XyHTA
()
Ответ на: комментарий от Svoloch

> strace ltrace

Да, что-то не дочитал я в strace про запуск suid'ных программ :) Спасибо.

K_X_XyHTA
()
Ответ на: комментарий от anonymous

> core, который загрузится gdb

Можно, конечно, попробовать, хотя программа не моя. Хотелось бы ещё посмотреть, как она дошла до жизни (точнее, смерти :)) такой.

K_X_XyHTA
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.