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 17/04/2011, à 14:04

argh0

Problème de syntaxe sur /etc/sudoers avec visudo

Bonjour,

J'essaye de mettre une exception à sudo pour exécuter shutdown sans mot de passe. D'après ce que j'ai trouvé, il suffirait de rajouter la ligne

%admin ALL =(ALL) NOPASSWD: /sbin/shutdown

Au fichier /etc/sudoers, à modifier impérativement avec visudo.

Donc je fais :

sudo visudo

Je rajoute un retour chariot à la dernière ligne, puis je copie-colle la ligne ci-dessus. Pour enregistrer, je fais Ctrl+K+X. Et là, visudo me renvoie l'erreur suivante :

>>> /etc/sudoers: syntax error near line 27 <<<

Pourtant, j'ai l'impression que ma syntaxe est bonne, j'ai trouvé une syntaxe similaire à plusieurs endroits... J'ai aussi essayé une syntaxe simplifiée en mettant mon nom d'utilisateur et pas de (ALL):

argh0 ALL = NOPASSWD: /sbin/shutdown

Marche toujours pas... Une idée ?

Note : la ligne donnée comme erreur est toujours la précédente de celle introduite, c'est aussi le cas si au lieu de mettre un simple retour à la ligne je saute une ligne avant de l'introduire.

Merci de votre aide !

EDIT : j'ai bien entendu regardé la manpage de sudoers, mais franchement ?! Décrire la syntaxe avec l'Extended Backus-Naur Form... Pfff, pourraient pas mettre deux trois exemples bien sentis, quoi.

Dernière modification par argh0 (Le 17/04/2011, à 14:10)

Hors ligne

#2 Le 17/04/2011, à 19:26

bigz

Re : Problème de syntaxe sur /etc/sudoers avec visudo

est ce que tu as essayé cela ?

%admin ALL=NOPASSWD:/sbin/shutdown

en réalité j'ai enlevé l'espace après le "NOPASSWD:"

dis moi si c'est bon car j'utilise un peu la même syntaxe pour executer un script avec le sudo sans mot de passe et cela fonctionne correctement


Bigz

Hors ligne

#3 Le 17/04/2011, à 21:53

argh0

Re : Problème de syntaxe sur /etc/sudoers avec visudo

bigz a écrit :

est ce que tu as essayé cela ?

%admin ALL=NOPASSWD:/sbin/shutdown

en réalité j'ai enlevé l'espace après le "NOPASSWD:"

dis moi si c'est bon car j'utilise un peu la même syntaxe pour executer un script avec le sudo sans mot de passe et cela fonctionne correctement

Ce n'était pas ça, mais j'ai trouvé au final !

En fait, il fallait mettre la ligne introduite plus haut dans le fichier, il y a un ordre de priorité.

Hors ligne

#4 Le 18/04/2011, à 16:34

argh0

Re : Problème de syntaxe sur /etc/sudoers avec visudo

Bon, en fait toujours pas... J'ai bougé la ligne à divers endroits du fichier : soit le fichier est accepté (pas d'erreur de syntaxe déclarée) mais ça n'a aucun effet - le mot de passe est toujours demandé; soit si je la mets à la fin il y a une erreur de syntaxe trouvée.

Hors ligne

#5 Le 18/04/2011, à 18:48

argh0

Re : Problème de syntaxe sur /etc/sudoers avec visudo

C'est bon, en fait j'ai suivi ce qui est dit sur cette page https://help.ubuntu.com/community/Sudoers :

Shutting Down From The Console Without A Password

Often people want to be able to shut their computers down without requiring a password to do so. This is particularly useful in media PCs where you want to be able to use the shutdown command in the media centre to shutdown the whole computer.

To do this you need to add some cmnd aliases as follows:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot

You also need to add a user specification (at the end of the file after the "%admin ALL = (ALL) ALL" line so it takes effect - see above for details):

<your username> ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS

Obviously you need to replace "<your username>" with the username of the user who needs to be able to shutdown the pc without a password. You can use a user alias here as normal.

Hors ligne

#6 Le 18/04/2011, à 20:37

bigz

Re : Problème de syntaxe sur /etc/sudoers avec visudo

ok c'est cool si ca fonctionne mais je ne comprend pas trop pourquoi ma méthode ne fonctionne pas car j'utilise la ligne suivante à la fin de mon fichier sudoers

%netdev ALL=NOPASSWD:/usr/bin/killall nm-applet

Bigz

Hors ligne