[bash] problème de droits

problème de droits [bash] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 09-06-2005 à 10:00:27    

Bonjour! :)
 
Alors je vais tenter d'expliquer mon problème assez vite et correctement déjà :
 
j'ai un logiciel qui doit executer automatiquement une commande root (un arrêt ou lancement d'un autre soft) mais le soucis c'est que je sais pas comment faire  :??:  
 
j'ai essayé avec su mais je n'ai pas trouvé de moyen de passer le mot de passe root directement (je sais que c'est pas très sécurisé mais g pa lchoix).  
 
j'ai vu qu'il existe sudo et je commence de l'étudier mais je n'ai pas encore trouvé le moyen de passer le mdp root en paramètres (et j'espere qu'il existe ^^).
 
Bref, si qqun a une idée, je suis preneur :)
 
Bye  :hello:  

Reply

Marsh Posté le 09-06-2005 à 10:00:27   

Reply

Marsh Posté le 09-06-2005 à 10:06:34    

Un ptit coup de google avec sudo et nopassword
 
http://www.funix.org/fr/linux/sudo.htm
 
et voila  :)


---------------
BiBi Max
Reply

Marsh Posté le 09-06-2005 à 14:52:45    

J'ai essayé mais ca fonctionne pas :(
 
J'ai surement pas été assez clair dans mon explication :
 
j'ai un soft (Mon) lancé en tant que démon, celui-ci va exécuté un script bash à l'intérieur duquel il y a une commande "root" (/etc/init.d/heartbeat stop). Si j'ai bien compris, dans le cas de sudo, il faut préciser quel utilisateur aura le droit d'exécuté la commande root. Or vu que mon logiciel est un démon, il n'est pas un utilisateur à proprement parler et je ne peut donc pas le préciser dans le sudoers :/
 
j'espere avoir été clair ^^

Reply

Marsh Posté le 09-06-2005 à 14:56:22    

clerk a écrit :

J'ai essayé mais ca fonctionne pas :(
 
J'ai surement pas été assez clair dans mon explication :
 
j'ai un soft (Mon) lancé en tant que démon, celui-ci va exécuté un script bash à l'intérieur duquel il y a une commande "root" (/etc/init.d/heartbeat stop). Si j'ai bien compris, dans le cas de sudo, il faut préciser quel utilisateur aura le droit d'exécuté la commande root. Or vu que mon logiciel est un démon, il n'est pas un utilisateur à proprement parler et je ne peut donc pas le préciser dans le sudoers :/
 
j'espere avoir été clair ^^


il est bien lancé par un utilisateur ? c'est cet utilisateur que tu dois rentrer dans sudoer


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 09-06-2005 à 15:16:04    

ps aux te donnera l'utilisateur sous lequel tourne ton daemon.

Reply

Marsh Posté le 09-06-2005 à 15:31:38    

Matafan --> avec un ps aux, je voit simplement que c'est un démon (daemon en debut de ligne alors que d'autres proc sont en root ou autres).
 
Mjules --> il est lancé au démarage mais sinon je le lance en root et dans ces cas la, il devrait pouvoir executer mon script or ce n'est pas le cas.
 
Je suis vraiment en galère avec ce truc :(
si je rentre "daemon" en user dans sudo, y'a des chances que ca fonctionne??

Reply

Marsh Posté le 09-06-2005 à 15:36:08    

probablement


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 09-06-2005 à 15:51:02    

pb de syntaxe alors que j'ai suivi le lien cité plus haut dans sudo :
 
Cmnd_Alias    HB_START=/etc/init.d/heartbeat start
Cmnd_Alias    HB_STOP=/etc/init.d/heartbeat stop
 
daemon ALL=NOPASSWD:HB_START,NOPASSWD:HB_STOP
 
il me di qu'il y a une erreur dans la derniere ligne :(
 

Reply

Marsh Posté le 09-06-2005 à 15:52:49    

vire le start et le stop


---------------
BiBi Max
Reply

Marsh Posté le 09-06-2005 à 20:50:17    

clerk a écrit :

pb de syntaxe alors que j'ai suivi le lien cité plus haut dans sudo :
 
Cmnd_Alias    HB_START=/etc/init.d/heartbeat start
Cmnd_Alias    HB_STOP=/etc/init.d/heartbeat stop
 
daemon ALL=NOPASSWD:HB_START,NOPASSWD:HB_STOP
 
il me di qu'il y a une erreur dans la derniere ligne :(


 
t'es sur qu'on peut mettre 2 commandes sur la même ligne ?
 
essaye :
daemon ALL=NOPASSWD:HB_START
daemon ALL=NOPASSWD:HB_STOP


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 09-06-2005 à 20:50:17   

Reply

Marsh Posté le 10-06-2005 à 09:21:23    

Bon je peut pas vous dire pourquoi mais j'ai plus d'erreur dans mon fichier. visudo me donnait des erreurs toujours au même endroit mais j'ai essayé quand même pis bah ca fonctionne bien lol.
 
Cmnd_Alias    HB=/etc/init.d/heartbeat
 
daemon ALL=NOPASSWD:HB
 
Jvous remercie de m'avoir aider car ca aurait pu marcher mais finalement non :'(
 
si je fait un su daemon et que je lance le script manuellement bah ca fonctionne mais ça marche toujours pas quand c'est le soft qui l'execute :(

Reply

Marsh Posté le 10-06-2005 à 18:52:02    

clerk a écrit :

Matafan --> avec un ps aux, je voit simplement que c'est un démon (daemon en debut de ligne alors que d'autres proc sont en root ou autres).


:heink:
Tu vois "daemon" justement parce que c'est le user sous lequel tourne ton script. Au meme titre que "root" ou "toto". Donc effectivement dans la config de sudo il faut authoriser daemon a lancer ta commande.

Reply

Sujets relatifs:

Leave a Replay

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