|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Constantin Stefanov 2:5020/400 03 Jun 2005 10:48:09 To : Eugene Grosbein Subject : Re: выполнение с правами суперюзера --------------------------------------------------------------------------------
Eugene Grosbein wrote:
> >> порекомендовали же отличный способ - sudo,
> VS> Кстати, раз заговорили, давно хотел спросить.
> VS> Как устроен sudoedit, что из вызванного им редактора вызываешь
> VS> /bin/sh, к примеру - а он не рутовый, а того пользователя, который
> VS> sudoedit вызывал. Это очень правильно и хорошо, но как это сделано?
>
> The getuid() function returns the real user ID of the calling process.
> The geteuid() function returns the effective user ID of the calling process.
>
> Видимо, sudoedit запускается с повышенным EUID, но с исходным RUID
> (так запускаются все suid-бинари), запоминает RUID и между
> fork() и exec() делает setuid().
А это не факт. Hапример, /bin/sh имеет ключик -p. Если его вызвать без
этого ключа, то он сам при старте сбросит EUID и EGID в значения из real
UIG и GID.
--
Константин Стефанов
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577c999b158.html, оценка из 5, голосов 10
|