Comment puis-je autoriser tous les utilisateurs à exécuter une commande donnée via sudo?

25

Je sais comment créer une commande qu'un utilisateur donné peut exécuter via sudo. J'ai une commande donnée que je souhaite autoriser à tout utilisateur à exécuter via sudosans entrer de mot de passe. Que dois-je mettre dans mon fichier / etc / sudoers pour que cela se produise?

Josh
la source
Merci d'avoir posé cette question. J'ai regardé man sudoersune fois et je n'ai pas trouvé la réponse. Je me suis penché man sudoersune deuxième fois, plus attentivement. J'ai quand même échoué, TMI! Ensuite, grâce aux réponses ici, j'ai gémi man sudoerset trouvé pourquoi cela fonctionnait. Il semble que vous devez d'abord savoir comment le faire avant de pouvoir comprendre man sudoers. Soupir!
Tino

Réponses:

24

Une section comme celle-ci dans vos sudoers est probablement ce que vous voulez.

Cmnd_Alias NAMEOFTHIS=/usr/bin/program
ALL ALL=NOPASSWD: NAMEOFTHIS
Zoredache
la source
Cela n'accorde-t-il pas l'accès uniquement au nom d' utilisateur ? Y a-t-il un caractère générique que je peux utiliser à la place? Je veux que tout utilisateur authentifié puisse exécuter la commande.
Josh
Utilisez ensuite un groupe dont ils sont tous membres.
Broam
Merci! Je jure que j'ai essayé mais j'ai oublié un espace, donc ça ne marchait pas!
Josh
1
Si ce ne sont pas tous les utilisateurs, j'ajouterais un groupe simplement parce que c'est l'appartenance à quelque chose que vous souhaitez suivre - qui le peut de sudocette façon.
Broam
1
Si vous ne voulez vraiment pas ajouter de groupe (bat-moi pourquoi pas) et avez toujours besoin d'utilisateurs individuels, utilisez User_Alias SOMEUSERS = user1, user2.
Brett Ryan
18

Vous pourriez considérer le bit SUID . Certains programmes nécessitent des privilèges root et utilisent le bit SUID, tels que passwd.

Si sudo est le meilleur choix pour vous, vous pouvez utiliser:

ALL ALL=NOPASSWD: /path/to/command
Warner
la source
3
C'est un script shell qui redémarre un serveur de noms en cache local ... donc SUID ne fonctionnera pas dans ce cas, non?
Josh
Zoredache m'a battu dans le temps qu'il m'a fallu pour tester ma solution recommandée. =)
Warner
Alors qu'il me harcelait simultanément sur le chat pour avoir posté une question aussi simple, rien de moins!
Josh
1
@Josh: alors ne postez pas de questions faciles :-)
Bart Silverstrim
2
@Josh: Cela ressemble à une fonctionnalité intéressante, en fait. Multiharassitasking.
Bart Silverstrim