Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2006, à 22:22

brugio

/etc/sudoers

bonjour, j'aimerai pouvoir lancer dans un script la commande shutdown; j'ai modifié le fichier /etc/sudoers via visudo mais chaque fois que j'entre la commande sudo shutdown -h now le système me demande un mot de passe. J'ai peut être oublié quelque chose? Merci pour vos réponses

Hors ligne

#2 Le 20/09/2006, à 22:28

Balkoth

Re : /etc/sudoers

Bonsoir,

et bien il faudrait que l'on voit le contenu de ce fichier pour avoir une idée.

Sinon une autre méthode :
sudo chmod +s /sbin/shutdown
Donne à tout le monde la possibilité de lancer shutdown sans sudo, et donc sans mot de passe.

Hors ligne

#3 Le 20/09/2006, à 22:47

brugio

Re : /etc/sudoers

bonsoir et merci d'avoir répondu. le fichier donne quelque chose comme cecil
j'ai ajouté en dessous de Privilege specification:

user ALL=NOPASSWD: /sbin/shutdown -h now

J'ai aussi essayé avec:

user ALL=(root) ALL

Si tu as quelque suggestion!
Merci d'avance.

Dernière modification par brugio (Le 20/09/2006, à 22:48)

Hors ligne

#4 Le 20/09/2006, à 23:31

Uggy

Re : /etc/sudoers

brugio a écrit :

user ALL=NOPASSWD: /sbin/shutdown -h now

La syntaxe semble correcte...
Je viens de tester avec la ligne ci dessous et pas de pb pour moi... il ne me demande pas le mot de passe...

monUser ALL=NOPASSWD:/bin/cat /etc/sudoers

est ce que le probleme vient du fais que ta commande est appelée par un script ??? voir meme depuis la crontab ?
est ce que tu as pareil sans appel depuis un script... ?

C'est peut etre une "propriété" de shutdow... fais le test avec une autre commande...

Dernière modification par Uggy (Le 20/09/2006, à 23:42)

Hors ligne

#5 Le 20/09/2006, à 23:41

Uggy

Re : /etc/sudoers

Balkoth a écrit :

Sinon une autre méthode :
sudo chmod +s /sbin/shutdown

Pour info, extrait du man:
"Shutdown  n'a  pas été conçu pour être exécuté dans le mode setuid"
Ne me demandez pas pourquoi.. wink

Hors ligne

#6 Le 20/09/2006, à 23:49

brugio

Re : /etc/sudoers

Bonsoir, en fait ma commande est appelée par un script qui lance rdesktop au démarrage et arrête le pc à la déconnexion de l'utilisateur. J'ai essayé de créer des liens symboliques dans rc*.d manuellement et avec la commande update-rc.d mais ça n'a même pas fonctionné; j'ai donc du faire ça en interface graphique dans sytème, session , programme au démarrage. Mais ça c'est un autre problème. Par contre le conseil de Balkoth semble fonctionner sudo chmod +s /sbin/shutdown, même si j'aurais souhaité faire une chose "plus propre" disons ainsi. Le résultat était identique même quand j'appelais directement la commande depuis un shell! je ne comprends pas. Mystères de l'informatique. On ne finit jamais d'apprendre. c'est ça qui est bien! Si vous avez d'autres solutions , elles sont les bienvenues! Merci d'avance.

Hors ligne

#7 Le 21/09/2006, à 10:04

Balkoth

Re : /etc/sudoers

Bonjour,

Uggy a écrit :

"Shutdown  n'a  pas été conçu pour être exécuté dans le mode setuid"

Tiens je ne savais pas ça.
Pour enlever le bit setuid : sudo chmod -s /sbin/shutdown

brugio :
J'ai compris d'où viens ton problème smile
En fait, le fichiers /etc/sudoers est lu en une seule fois par le système, donc l'ordre des lignes a une importance.
Quand tu mets ta commande sous # User privilege specification, elle est "écrasée" par la commande
%admin  ALL=(ALL) ALL, qui va donc donner les droits d'utiliser sudo pour n'importe quelle commande, mais avec le mot de passe.

Pour régler ça, il faut mettre la ligne user ALL=NOPASSWD: /sbin/shutdown -h now à la fin du fichier, enfin au moins après la ligne %admin.

Hors ligne