J'ai deux utilisateurs sur mon système: itsadok
mon utilisateur principal et elasticsearch
un utilisateur avec un ulimit différent pour exécuter ElasticSearch.
Je voudrais pouvoir exécuter des choses en tant qu'utilisateur secondaire sans être invité à chaque fois à saisir mon mot de passe.
J'ai ajouté la ligne suivante à /etc/sudoers
:
itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL
D'après ce que je comprends, cela devrait permettre à l'utilisateur itsadok, sur n'importe quel hôte, d'exécuter n'importe quelle commande en tant qu'utilisateur (ou groupe) elasticsearch sans mot de passe. Cependant, essayer quelque chose comme
itsadok@dev001$ sudo -u elasticsearch ls
me demande un mot de passe. Le redémarrage de la machine n'a pas aidé.
Qu'est-ce que je fais mal?
MISE À JOUR :
Il s'avère que l'ordre des lignes sudoers
est significatif. J'ai placé la ligne sous "Spécification de privilège utilisateur" qui sonnait comme le bon endroit, mais la ligne pour le %admin
groupe qui vient plus tard remplaçait le paramètre.
Mettre la même ligne à la fin du fichier sudoers a résolu le problème.
root ALL=(ALL:ALL) ALL
sans espace autour des deux points, donc cela ne semble pas correct. Juste pour être en sécurité, j'ai essayé juste(elasticsearch)
. Ça ne marche pas.sudoers
vous placez cette ligne? Je me souviens très bien que si sur les anciens systèmes vous aviez placé la ligne après la première#includedir
, elle était ignorée. S'il se trouve à la fin du fichier, essayez de l'insérer au-dessus du répertoire inclus.Suivez ces étapes:
la source