changer le temps d’exécution des utilisateurs Linux, à partir du code ac / c ++

Je veux changer le temps d’exécution des utilisateurs Linux, à partir du code ac / c ++. Comment pourrais-je faire la même chose?

Disons que j’exécute ac / c ++ binary à partir d’un utilisateur Linux “abc” qui n’est pas un utilisateur root. Dans le code c / c ++, je veux basculer l’utilisateur sur “xyz” pour effectuer une tâche spécifique, puis récupérer les privilèges de “abc”.

Vous ne pouvez pas modifier arbitrairement l’ID utilisateur (sauf si vous êtes root) car cela constituerait une faille de sécurité. Cependant, il est possible de changer votre ID utilisateur en fonction de l’ID utilisateur de l’utilisateur propriétaire de l’exécutable en question (par opposition à l’utilisateur exécutant l’exécutable). C’est la fonction setuid() . Pour que cela fonctionne, le programme lui-même doit avoir son ensemble setuid .

Voir ici et aussi ici pour plus d’informations.