Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
я ж привел ссылку на POSIX функции |
Автор: vase 10.10.2008, 12:28 |
все, туплю. просто запомнилась вторая строка ![]() осталось понять как такое же сделать под виндой... |
Автор: vase 10.10.2008, 22:44 |
видимо я туплю - не могу в мануле найти описание этих функций. может надо что-то поставить? |
Автор: MAKCim 10.10.2008, 23:44 |
libcap |