У меня есть демон, который запускается как root (поэтому он может связываться с низкими портами). После инициализации я бы очень хотел, чтобы он сбросил права root по соображениям безопасности.
Может ли кто-нибудь указать мне на известную правильную часть кода в C, которая сделает это?
Я читал страницы руководства, я рассматривал различные реализации этого в разных приложениях, и они все разные, и некоторые из них действительно сложны. Это код, связанный с безопасностью, и я действительно не хочу изобретать те же ошибки, что и другие люди. То, что я ищу, - это лучшая практика, известная хорошая портативная библиотечная функция, которую я могу использовать, зная, что все будет правильно. Существует ли такая вещь?
Для справки: я начинаю с root; Мне нужно изменить, чтобы работать под другим uid и gid; Я должен правильно настроить дополнительные группы; После этого мне не нужно менять права root.