I know how to create a command which a given user can execute via sudo
. I have a given command I want to allow any user to be able to execute via sudo
without entering a password. What would I put in my /etc/sudoers file in order to make that happen?
2 Answers
A section like this in your sudoers is probably what you want.
Cmnd_Alias NAMEOFTHIS=/usr/bin/program
ALL ALL=NOPASSWD: NAMEOFTHIS
-
Doesn't that grant access just to user username? Is there a wildcard I can use instead? I want any authenticated user to be able to execute the command.– JoshSep 23, 2010 at 19:07
-
-
Thanks! I swear I tried that but I forgot a space, so it wasn't working!– JoshSep 23, 2010 at 19:10
-
1If it's not all users, I'd add a group simply because this is membership of something you wish to track - who can
sudo
this way.– BroamSep 27, 2010 at 15:45 -
1If you really don't want to add a group (beats me why not) and still need individual users, use
User_Alias SOMEUSERS = user1, user2
. Aug 2, 2012 at 5:37
You might consider the SUID bit. Certain programs require root privileges and use the SUID bit, such as passwd
.
If sudo is the better choice for you, you could use:
ALL ALL=NOPASSWD: /path/to/command
-
4It's a shell script which restarts a local caching nameserver... so SUID won't work in this case, right?– JoshSep 23, 2010 at 19:05
-
Zoredache beat me in the time it took for me to test my recommended solution. =)– WarnerSep 23, 2010 at 19:12
-
While he was simultaneously harassing me in chat for posting such an easy question, no less!– JoshSep 23, 2010 at 19:17
-
1
-
2@Josh: Sounds like a neat feature, actually. Multiharassitasking. Sep 24, 2010 at 13:44
man sudoers
once and did not find the answer. I looked intoman sudoers
a second time, more carefully. Still I failed, TMI! Then, thanks to the answers here I greppedman sudoers
and found why this is working. Looks like you first need to know how to do it before you can understandman sudoers
. Sigh!