On Mon, 24 Jan 2000, Виктор Вислобоков wrote: > From: Виктор Вислобоков <[EMAIL PROTECTED]> > 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 [EMAIL PROTECTED] Programmer Office:7-(095)-203-50-60 Institute for Commerce Home: 7-(095)-135-46-61 Engineering http://www.ice.ru/~vitus

