Есть следующая проблема:
Необходимо программно понижать права выполняющейся программы. Тоесть программа запускается из под рута, потом производит некоторые действия (привязка к порту и т.д.) потом необходимо понизить права, а передвыходом обратно повысить (для сохранения и т.д.). При использовании команды setuid() если uid отличен от рута программа просто останавливается и все. Если поможет то эта программа демон. Может кто сталкивался, подскажие где почтитьа или примерчик киньте, плз.
>потом производит некоторые действия (привязка к порту и т.д.) потом необходимо
>понизить права, а передвыходом обратно повысить (для сохранения и т.д.).Не получится, иначе какой смысл права понижать?
В лучшем случае: рутовский процесс запускает второй процесс с понижеными правами, ждет его окончания и сохраняет результаты.>При использовании команды setuid() если uid отличен от рута программа просто останавливается
>и все.вот setuid то и надо использовать. виснуть не должно. попробуй написать программку, которая только меняет uid и все.
>>потом производит некоторые действия (привязка к порту и т.д.) потом необходимо
>>понизить права, а передвыходом обратно повысить (для сохранения и т.д.).
>
>Не получится, иначе какой смысл права понижать?
>В лучшем случае: рутовский процесс запускает второй процесс с понижеными правами, ждет
>его окончания и сохраняет результаты.
seteuid вместо setuidДолжно получиться
>
>>При использовании команды setuid() если uid отличен от рута программа просто останавливается
>>и все.
>
>вот setuid то и надо использовать. виснуть не должно. попробуй написать программку,
>которая только меняет uid и все.