#1 Le 17/04/2011, à 13: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, à 13:10)
Hors ligne
#2 Le 17/04/2011, à 18: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, à 20:53
- argh0
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
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, à 15: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, à 17: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, à 19: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