[Linux] Changer d'utilisateur pdt l'éxécution

Tibo -  
Z3uS-Su3Z Messages postés 96 Statut Membre -
Salut à tous,

Voilà mon problème est simple à comprendre et j'espère aussi simple à résoudre :)

En fait je suis entrain de faire un programme c++ sous linux, pour automatiser l'installation des serveurs Apache, php et MySQL.

Mon programme doit être lancé en "root" pour pouvoir tout copier, compiler et installer dans /usr/local/.

Mais au cours de l'éxécution, quand j'attaque la configuration de MySQL, je voudrais que mon programme passe en utilisateur "mysql", comme si c'étais lui qui avait lancé le programme.

J'ai tenté un : system("su mysql"); qui marche bien mais qui me ferme le programme en cours...

Je voudrais un équivalent mais qui laisse le programme s'éxécuter, qui se contente juste d'en changer l'utilisateur.

Voilà, si quelqu'un a une idée, une piste ou quelque chose ca pourrait me sortir d'une petite galère...

Merci d'avance ;)
A voir également:

3 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 664
 
Essai avec popen : ça ne remplacera pas le processus en cours.

Ou bien fais un fork() dans ton programme avant de lancer le system().
0
mamiemando Messages postés 34229 Date d'inscription   Statut Modérateur Dernière intervention   7 897
 
Et avec sudo ça donne quoi ?
0
Z3uS-Su3Z Messages postés 96 Statut Membre 12
 
Ben je sais pas j'essayerai éventuellement demain, mais j'ai régler le problème via la commande : seteuid(UID_utilisateur_mysql);

Voilà :)
0