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