Demande de password root

Demande de password root - Linux et OS Alternatifs

Marsh Posté le 23-08-2005 à 16:48:29    

salut
j'ai fait un programme graphique avec qt designer qui utilise les SOCK_RAW. Il faut donc que je sois root pour lancer le prog. . J'aimerai savoir comment il est possible de faire une demande de connexion root un peu comme le fait ethereal (une petite fenetre s'ouvre et nous demande le mot de passe root).
 
pour info je suis sous suse 9.1
 
 
j'ai remarqué que ehereal lance la commande :
kdesu -u root -c ethereal
 
je l'ai donc intégré au début du programme :
system("kdesu -u root -c monprogramme" );
 
Elle se lance correctement mais mon programme est lancé un nombre de fois infinie :sweat:  pourtant je ne suis pas dans une boucle ? :ouch:  
 
quelq'un peut-il m'aider ? :ange:

Reply

Marsh Posté le 23-08-2005 à 16:48:29   

Reply

Marsh Posté le 23-08-2005 à 17:00:35    

Heu tu la vois pas la boucle la ? Moi si et grosse comme une maison...
C'est au niveau de ton lanceur que tu lui dit de le lancer avec les droits root. Vire cette immonde ligne de ton prog, et puis utilise kdesu pour le faire démarrer.

Reply

Marsh Posté le 23-08-2005 à 17:11:31    

autrement ce que tu peut faire, c'est creer un script en shell a cote qui va chercher kdesu/gksu/etc et lancer ton prog avec ...

Reply

Marsh Posté le 23-08-2005 à 17:12:29    

Pour éviter la boucle il faudrait que tu testes si tu es root ou non quand tu lances le programme.
if (!jesuisroot) system("kdesu...);
 
un truc du genre quoi

Reply

Marsh Posté le 24-08-2005 à 11:10:24    

Heu Airbat peut m'expliquer ou tu vois une boucle svp ? je débute alors faut m'excuser si je fait des erreurs grosses comme une maison ;-)

Reply

Marsh Posté le 24-08-2005 à 11:20:01    

jcqguill a écrit :

Heu Airbat peut m'expliquer ou tu vois une boucle svp ? je débute alors faut m'excuser si je fait des erreurs grosses comme une maison ;-)


Tu executes ton programme 0. Qui lance un programme 1. 1 lance un 2. 2 lance un 3. 3 lance un 4. Ainsi de suite. Forcément, avec une ligne

system("kdesu -u root -c monprogramme" );

il ne peut pas en etre autrement...
 
Vire cette ligne de ton code. Ensuite, créé toi un lanceur kde ou un script shell dans lequel tu executes ton prog avec les bon droit, via kdesu, sudo...

Reply

Marsh Posté le 24-08-2005 à 11:21:07    

tu lances monprogramme
puis tu relance grace a system monprogramme en root
puis, une fois root, tu relances en root mon programme grace à system
puis tu relances en root monprogramme grace à system
puis tu relances en root monprogramme grace à system
puis tu relances en root monprogramme grace à system
...
...
il faut que tu mettes le test que je t'ai indique

Reply

Marsh Posté le 24-08-2005 à 13:57:29    

oups j'avai pas calculé là merci.

Reply

Marsh Posté le 24-08-2005 à 13:58:45    

je vais essayer ta methode l0ky.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed