[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: