Страница 1 из 1
увидеть suid программу в процессах
Добавлено: 21 май 2010, 14:05
nix_user
Есть программа с установленным битом SUID, например ping.
Возможно ли увидеть, что во время работы она имеет привилегии root?
утилита ps показывает только владельца
Код: Выделить всё
ps a -o ruid,rgid,euid,egid,suid,sgid,cmd | grep ping
1000 1000 1000 1000 1000 1000 ping 10.10.10.1
Re: увидеть suid программу в процессах
Добавлено: 21 май 2010, 21:55
leave
ping всегда имеет привилегии рута - иначе она не сможет открыть raw socket
Re: увидеть suid программу в процессах
Добавлено: 24 май 2010, 10:41
nix_user
ping всегда имеет привилегии рута - иначе она не сможет открыть raw socket
Про ping это частный случай, там еще много чего ( find / -perm -4000 ) . Я могу найти в системе все все suid программы до запуска.
ping удобен тем что живет некоторое время, легко отследить, в отличии от других.
Вопрос в том могу ли я после запуска отследить такой процесс. Я думал что это это баг ps. Система debian lenny.
Re: увидеть suid программу в процессах
Добавлено: 25 май 2010, 19:38
nix_user
Я думаю, ping скидывает привилегии после отрытия сокета. И это типичная практика для setuid программ.
Спасибо. Так и есть, сам я бы не догадался, что процесс сбрасывает привилегии.
Глянул код. Иногда нужно не только RTFM, но и чтение кода RTFS (Source's) или RTFC.
/* Now drop to user permissions */
if (setgid(getgid()) || setuid(getuid()))