URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2373
[ Назад ]

Исходное сообщение
"Приложение которое понижет права во время работы"

Отправлено Unnreal , 11-Дек-03 13:34 
Есть следующая проблема:
Необходимо программно понижать права выполняющейся программы. Тоесть программа запускается из под рута, потом производит некоторые действия (привязка к порту и т.д.) потом необходимо понизить права, а передвыходом обратно повысить (для сохранения и т.д.). При использовании команды setuid() если uid отличен от рута программа просто останавливается и все. Если поможет то эта программа демон. Может кто сталкивался, подскажие где почтитьа или примерчик киньте, плз.

Содержание

Сообщения в этом обсуждении
"Приложение которое понижет права во время работы"
Отправлено dev , 14-Дек-03 21:38 
>потом производит некоторые действия (привязка к порту и т.д.) потом необходимо
>понизить права, а передвыходом обратно повысить (для сохранения и т.д.).

Не получится, иначе какой смысл права понижать?
В лучшем случае: рутовский процесс запускает второй процесс с понижеными правами, ждет его окончания и сохраняет результаты.

>При использовании команды setuid() если uid отличен от рута программа просто останавливается
>и все.

вот setuid то и надо использовать. виснуть не должно. попробуй написать программку, которая только меняет uid и все.



"Приложение которое понижет права во время работы"
Отправлено Soldier , 16-Дек-03 10:53 
>>потом производит некоторые действия (привязка к порту и т.д.) потом необходимо
>>понизить права, а передвыходом обратно повысить (для сохранения и т.д.).
>
>Не получится, иначе какой смысл права понижать?
>В лучшем случае: рутовский процесс запускает второй процесс с понижеными правами, ждет
>его окончания и сохраняет результаты.


seteuid вместо setuid

Должно получиться


>
>>При использовании команды setuid() если uid отличен от рута программа просто останавливается
>>и все.
>
>вот setuid то и надо использовать. виснуть не должно. попробуй написать программку,
>которая только меняет uid и все.