Sudo: Difference between revisions
su instead of sudo |
mNo edit summary |
||
| Line 1: | Line 1: | ||
== | == Overview == | ||
In a nutshell, sudo permissions are defined in <code>/etc/sudoers</code> and <code>/etc/sudoers.d/</code>. Permissions are defined like so: | In a nutshell, sudo permissions are defined in <code>/etc/sudoers</code> and <code>/etc/sudoers.d/</code>. Permissions are defined like so: | ||
| Line 41: | Line 41: | ||
eg: | eg: | ||
<USER> <host>=NOPASSWD:<command> | <USER> <host>=NOPASSWD:<command> | ||
[[Category:Linux]] | [[Category:Linux]] | ||
{{Navbox Linux}} | |||
Revision as of 06:31, 29 March 2015
Overview
In a nutshell, sudo permissions are defined in /etc/sudoers and /etc/sudoers.d/. Permissions are defined like so:
%groupname workstation=/bin/command username workstation=/bin/command username workstation=(run-as user) /bin/command
Replace any of the above with ALL to have it match anyone. eg:
ALL ALL=ALL
You can use NOPASSWD: /bin/command to have it not prompt for the user's password.
You can verify whether your changes worked by listing sudo access:
sudo -l
Configure sudo to include /etc/sudoers.d/
For the configs in /etc/sudoers.d/ to work, you must place an existing file with perms set to 0440 into /etc/sudoers.d/.
You cannot create the file directly in /etc/sudoers.d/ because it will not work!
Also ensure the #includedir directive is defined in /etc/sudoers.
Troubleshooting
sudo: sorry, you must have a tty to run sudo
Ensure that you do not require tty. Either comment out or use !requiretty .
# cat /etc/sudoers Defaults ! requiretty
If you want to run a command as another user, you could also try su. For example:
su user -c 'whoami'
sudo: no tty present and no askpass program specified
make sure you have NOPASSWD set in your sudoers file. eg:
<USER> <host>=NOPASSWD:<command>