J'ai un démon démarré en tant que root (il peut donc se lier aux ports bas). Après l'initialisation, j'aimerais beaucoup avoir des privilèges root pour des raisons de sécurité.Suppression des privilèges root
Quelqu'un peut-il me pointer à un connu morceau de code en C qui fera cela? J'ai lu les pages de manuel, j'ai regardé différentes implémentations de cela dans différentes applications, et elles sont toutes différentes, et certaines d'entre elles sont vraiment complexes. C'est un code lié à la sécurité, et je ne veux vraiment pas réinventer les mêmes erreurs que les autres. Ce que je cherche, c'est une bonne pratique, une bonne bibliothèque portable, que je peux utiliser en sachant que tout va bien se passer. Est-ce qu'une telle chose existe?
Pour référence: je commence en tant que root; J'ai besoin de changer pour courir sous un autre uid et gid; J'ai besoin d'avoir les groupes supplémentaires mis en place correctement; Je n'ai pas besoin de revenir aux privilèges root par la suite.
Cela varie beaucoup entre les unixes - y en a-t-il en particulier? Si vous avez besoin d'une solution "portable", cela va être désordonné, et vous feriez mieux d'en saisir par exemple. la fonction continuous_set_uid() de OpenSSH - dans le uidswap.c fichier – nos