Je voudrais exécuter une de mes commandes sudo via l'un de mes démons C. J'utilise la commande système (echo MYPASSWORD | sudo -v -S); dans mon code C.exécuter une commande sudo avec dans un programme C/C++
Il fonctionne très bien quand j'exécute le démon, mais quand je la sortie du terminal échoue à cause d'une valeur de retour de 256.
S'il vous plaît me suggérer une autre façon de passer le mot de passe lorsque le processus est en cours d'exécution en arrière-plan .
Peut-être que vous devriez jeter un oeil à PolicyKit? http://www.freedesktop.org/wiki/Software/polkit/ –
Oh, et aussi, si vous écrivez votre mot de passe comme ça dans votre code, il y a une grande chance que quelqu'un puisse l'obtenir en lançant 'strings YourProgram' dans un coquille. –
"Si vous avez besoin des droits root à chaque fois, le mieux est de démarrer votre programme en tant que root et de les déposer (dans un sous-processus) avec setuid et setgid", [Comment acquérir les privilèges root par programme?] (Http: // stackoverflow. com/questions/2483755/how-to-program-gain-root-privileges) – cpp