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

Fermé
Tibo - 30 mai 2005 à 10:31
Z3uS-Su3Z Messages postés 94 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 11 juin 2007 - 30 mai 2005 à 19:47
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 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
30 mai 2005 à 11:01
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 32298 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 mars 2023 7 575
30 mai 2005 à 16:48
Et avec sudo ça donne quoi ?
0
Z3uS-Su3Z Messages postés 94 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 11 juin 2007 12
30 mai 2005 à 19:47
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