Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > ПОнижение привилегий с возможностью их повышения


Автор: vase 9.10.2008, 23:03
Есть ли какой-либо posix способ в запущенной программе от рута, понизить свои привилегии до какого-нибудь юзера, а в случае необходимости поднять их обратно? То есть есть ли механизм, который при смене привелегий запомнит айди, который был, чтобы в дальнейшем можно было вернуться в него обратно. 
Если нет, то как  реализовать прослушивание порта не от рута, но так, чтобы при входящем запросе определенном можно было выполнить что-то типа /etc/init.d/ssh restart ? Без использования sudo и других внешних программ и библиотек. Только с помощью системных вызовов и стандартных функций.

Автор: MAKCim 10.10.2008, 08:13
vase
man 7 capabilities
capget(), capset() - Linux specific
http://linux.die.net/man/3/cap_set_proc

Автор: vase 10.10.2008, 10:53
а под фрибсд как? 

Автор: MAKCim 10.10.2008, 11:29
Цитата(vase @  10.10.2008,  10:53 Найти цитируемый пост)
а под фрибсд как?  

я ж привел ссылку на POSIX функции

Автор: vase 10.10.2008, 12:28
все, туплю. просто запомнилась вторая строка smile
осталось понять как такое же сделать под виндой...

Автор: vase 10.10.2008, 22:44
видимо я туплю - не могу в мануле найти описание этих функций. может надо что-то поставить?

Автор: MAKCim 10.10.2008, 23:44
Цитата(vase @  10.10.2008,  22:44 Найти цитируемый пост)
может надо что-то поставить? 

libcap

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)