2 votes

En me donnant des autorisations dans /etc/sudoers ne fait rien

Je veux me donner les permissions d'utiliser pmset sans utiliser sudo.

J'ai ajouté cette ligne à etc/sudoers:

myname          ALL = /usr/bin/pmset

Mais lorsque je sauvegarde et ferme avec :wq et que j'exécute pmset, j'obtiens:

$ pmset -b disablesleep 1
'pmset' doit être exécuté en tant que root...

Qu'est-ce que je fais de travers?

3voto

nohillside Points 82672

Le fichier sudoers est lu uniquement par sudo donc vous aurez toujours besoin d'exécuter

sudo pmset ...

pour exécuter la commande. Ce que votre ajout à sudoers permet, c'est que chaque utilisateur sur votre Mac peut désormais exécuter pmset sans entrer de mot de passe (ou même être dans le groupe admin).

Si vous voulez éviter d'avoir à taper sudo pmset à chaque fois, définissez un alias

alias pmset="sudo /usr/bin/pmset"

0voto

lx07 Points 2680

L'ordre des paramètres dans sudoers est comme ceci:

  • root ALL=(ALL:ALL) ALL - Cela s'applique à l'utilisateur root
  • root ALL\=(ALL:ALL) ALL - Cette règle s'applique à tout utilisateur root connecté à partir de tous les hôtes
  • root ALL=(ALL:ALL) ALL - L'utilisateur root peut exécuter des commandes en tant que tous les utilisateurs
  • root ALL=(ALL:ALL) ALL - L'utilisateur root peut exécuter des commandes en tant que tous les groupes
  • root ALL=(ALL:ALL) ALL - Ces règles s'appliquent à toutes les commandes

Votre ajout myname ALL = /usr/bin/pmset à sudoers contient les premier, deuxième et cinquième paramètres et signifie donc que l'utilisateur myname sur n'importe quel hôte peut exécuter sudo pmset. S'ils faisaient partie du groupe %admin (comme le premier utilisateur créé sur macOS), ils auraient pu le faire de toute façon.

Ce qu'il ne fait pas, c'est dire à sudo que vous ne voulez pas entrer de mot de passe, ce qui se fait avec le paramètre NOPASSWD. Vous voulez donc, comme dernière ligne dans sudoers pour myname:

myname          ALL = NOPASSWD : /usr/bin/pmset

Cela permettra à l'utilisateur myname d'entrer sudo pmset sans demander de mot de passe. Si vous le souhaitez, vous pouvez ensuite créer un alias comme décrit dans l'autre réponse et l'ajouter à votre ~/.bashrc ou ~/.zshrc

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X