увидеть suid программу в процессах

Форум предназначен для новичков. В нем предполагается рассматривать вопросы, которые встают на первых этапах освоения Linux
nix_user
Интересующийся
Сообщения: 70
Зарегистрирован: 15 фев 2008, 16:59

увидеть suid программу в процессах

Сообщение 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

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: увидеть suid программу в процессах

Сообщение leave »

ping всегда имеет привилегии рута - иначе она не сможет открыть raw socket :)

nix_user
Интересующийся
Сообщения: 70
Зарегистрирован: 15 фев 2008, 16:59

Re: увидеть suid программу в процессах

Сообщение nix_user »

ping всегда имеет привилегии рута - иначе она не сможет открыть raw socket
Про ping это частный случай, там еще много чего ( find / -perm -4000 ) . Я могу найти в системе все все suid программы до запуска.
ping удобен тем что живет некоторое время, легко отследить, в отличии от других.

Вопрос в том могу ли я после запуска отследить такой процесс. Я думал что это это баг ps. Система debian lenny.

nix_user
Интересующийся
Сообщения: 70
Зарегистрирован: 15 фев 2008, 16:59

Re: увидеть suid программу в процессах

Сообщение nix_user »

Я думаю, ping скидывает привилегии после отрытия сокета. И это типичная практика для setuid программ.
Спасибо. Так и есть, сам я бы не догадался, что процесс сбрасывает привилегии.
Глянул код. Иногда нужно не только RTFM, но и чтение кода RTFS (Source's) или RTFC.
/* Now drop to user permissions */
if (setgid(getgid()) || setuid(getuid()))

Ответить