Procédure de programmation pour obtenir les privilèges root?

Je suis en train d'écrire un logiciel (en C++, pour Linux/Mac OSX) qui s'exécute en tant qu'utilisateur non privilégié, mais a besoin des privilèges root à un certain point (pour créer un nouveau périphérique virtuel).

Exécuter ce programme en tant que root n'est pas une option (principalement pour des questions de sécurité) et j'ai besoin de connaître l'identité (uid) de la "vraie" de l'utilisateur.

Est-il un moyen pour imiter la commande "sudo" comportement (demander le mot de passe utilisateur) temporairement obtenir les privilèges root et exécuter la tâche particulière ? Si oui, quelles sont les fonctions qui dois-je utiliser ?

Merci beaucoup pour votre aide !

InformationsquelleAutor ereOn | 2010-03-20