Je n'arrive pas à exécuter des commandes via sudo

Bonjour à tous,

Je souhaite pouvoir stopper, rebooter, mettre en sommeil ma machine comme utilisateur non-privilégié en ligne de commande ou via les menus d’un window-manager léger.

J’ai installé sudo et modifié /etc/sudoers avec visudo:

[code]# User alias specification
User_Alias STOP = gv

Cmnd alias specification

Cmnd_Alias SLEEP = /usr/sbin/acpitool -S
Cmnd_Alias HALT = /usr/sbin/halt
Cmnd_Alias REBOOT = /usr/sbin/reboot

User privilege specification

root ALL=(ALL) ALL
#STOP ALL = NOPASSWD: ALL
STOP ALL = HALT, REBOOT, SLEEP
STOP ALL = NOPASSWD: /usr/sbin/acpitool -S
gv ALL = /usr/sbin/acpitool -S

Allow members of group sudo to execute any command

(Note that later entries override this, so you might need to move

it further down)

%sudo ALL=(ALL) ALL

#includedir /etc/sudoers.d[/code]

Lorsque la ligne

#STOP ALL = NOPASSWD: ALL

est décommentée, je peux effectivement exécuter n’importe quelle commande, mais ça n’est pas très sécurisé. Dès que j’essaie de limiter les accès aux commandes spécifiées (on voit que j’ai essayé plusieurs syntaxes, comme utilisateur STOP ou gv, avec l’alias de la commande ou non, avec ou sans l’option PASSWD: ) , ça ne fonctionne plus:

[code]gv@spirou:~$ sudo acpitool -S

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for gv:
Sorry, user gv is not allowed to execute ‘/usr/bin/acpitool -S’ as root on spirou.champignac.[/code]

Ça me semblait pourtant un cas simple d’après les exemples de la page de man. Qu’est-ce qui fait défaut?

Merci d’avance,

Gauthier

Salut,

Voici le mien, quand même plus sécure :laughing:

/etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Defaults env_reset
Defaults:ALL timestamp_timeout=0
Defaults tty_tickets

Host alias specification

User alias specification

Cmnd alias specification

User privilege specification

root ALL=(ALL) ALL
gerard ALL=(ALL) ALL

Bonjour,

Ajoute cela à la fin de ton fichier sudouers (en utilisant la commande visudo bien sûr) :

Ensuite,

Et sans demande de mot de passe.

@ggoodluck47

Ta proposition conserve la possibilité pour l’utilisateur concerné d’exécuter n’importe quelle commande, ce n’est pas ce que je cherchais.

@jaax

Désolé, ça ne marche pas chez moi, j’avais déjà essayé.

[code]gv@fantasio:~$ sudo reboot

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for gv:
Sorry, user gv is not allowed to execute ‘/sbin/reboot’ as root on fantasio.champignac.[/code]

Et si tu mets ça :

Après

[quote=“gvdm”]@ggoodluck47

Ta proposition conserve la possibilité pour l’utilisateur concerné d’exécuter n’importe quelle commande, ce n’est pas ce que je cherchais.
[/quote]

Mais elle a la particularité de ne pas te laisser pendant plusieurs minutes avec la possibilité de faire n’importe quoi :slightly_smiling:

Et l’ajout de

fonctionne parfaitement, merci :slightly_smiling:

Donc pour toi ggoodluck47 ça fonctionne mais pas pour gvdm ?

:unamused:

sudo ??

tu es sous ubuntu ?

[quote=“totophe56”]sudo ??

tu es sous ubuntu ?[/quote]
Pas forcément : liberez-le-tux.servhome.org/blog … us-debian/
Perso, je l’ai installé.

[quote=“Alman”][quote=“totophe56”]sudo ??

tu es sous ubuntu ?[/quote]
Pas forcément : liberez-le-tux.servhome.org/blog … us-debian/
Perso, je l’ai installé.[/quote]

je savais pas :083 :083

suis tout neuf sous debian - 8 jours à peu prêt :laughing: :laughing: :laughing:

Dispo aussi sous BSD :wink:

Tous Unix/Linux

Chez moi j’ai ça :

# User privilege specification root ALL=(ALL) ALL user ALL=(ALL) NOPASSWD:/usr/bin/blabla

Je ne sais plus à quoi correspondent les deux ALL, le man est pas vraiment clair, la doc ubuntu ne donne qu’un seul exemple, avec une syntaxe différente, donc j’en sais pas vraiment plus que le fait que cette syntaxe me permet d’executer la commande spécifiée sans pass, et a priori que celle la.

PS : j’ai édité sudoers avec vim, c’est grave docteur ?

Trouvé pour Ubuntu mais j’imagine que la définition est à peu près la même chose : unixgarden.com/index.php/adm … ous-ubuntu

[quote=“cyphaw”]
PS : j’ai édité sudoers avec vim, c’est grave docteur ?[/quote]
C’est mieux d’editer sudoers avec #visudo, si il y a une erreur de syntaxe dans le fichier, tu es prevenu.

[quote=“jaax”]Et si tu mets ça :

Après

J’ai la même chose dans mon sudoers, mais je dois faire sudo /sbin/shutdown -r now.
(chez ubuntu, /sbin et /usr/sbin sont dans le PATH de l’utilisateur).

Au final, ça marche ou pas ?