Sudo: Difference between revisions

From Leo's Notes
This page was last edited on 13 May 2013, at 15:51.
No edit summary
Line 23: Line 23:


Also ensure the <code>#includedir</code> directive is defined in <code>/etc/sudoers</code>.
Also ensure the <code>#includedir</code> directive is defined in <code>/etc/sudoers</code>.
== 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
=== sudo: no tty present and no askpass program specified ===
make sure you have NOPASSWD set in your sudoers file.
eg:
  <USER> <host>=NOPASSWD:<command>




[[Category:Linux]]
[[Category:Linux]]

Revision as of 15:51, 13 May 2013

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 using /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 .

  1. cat /etc/sudoers

Defaults  ! requiretty


sudo: no tty present and no askpass program specified

make sure you have NOPASSWD set in your sudoers file. eg:

 <USER> <host>=NOPASSWD:<command>