Re: Видимо я лопух, но почему оно так делает?
On Mon, 24 Jan 2000, Виктор Вислобоков wrote:
> From: Виктор Вислобоков <victor@tvmaxima.perm.ru>
> Subject: Видимо я лопух, но почему оно так делает?
> X-Mailer: Microsoft Outlook Express 4.72.3110.1
>
> Привет всем.
>
> Интересная тут у меня фича происходит.
>
> Есть С-шная прога. Исполняемому файлу
> поставлен Suid'ный бит т.е. права выглядят
> следующим образом:
>
> -rwsr-sr-x
>
> из этой проги запускается путем execl
> скрипт, написанные на shell'е. Из этого
> скрипта, вызывается скрипт
> /etc/init.d/postgresql
>
> Проблема состоит в том, что в /etc/init.d/postgresql
> есть вызов еще одного скрипта, в котором есть
> конструкции вида
>
> su postgres -c "команда"
>
> Так вот, когда я пускаю suid'ную программу от
> обычного пользователя и все это доходит у
> меня до su postgres ...
> то выдается диалог
>
> password:
>
> А почему собственно? Скрипт ведь должен
> выполняться с правами root'а. Где копать?
Потому что ты забыл из этой C-шной программы вызвать функцию
setreuid.
suid-програма выполняется с эффективным uid root, и с реальным uid
того кто запустил. А su смотрит на реальный uid.
Если у тебя стоит info документация на glibc почитай ее на тему
Changing process persona.
--------------------------------------------------
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-203-50-60
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
Reply to: