# Enable passwordless sudo as a specific user

I have two users on my system: itsadok, my main user, and elasticsearch, a user with a different ulimit for running ElasticSearch.

I would like to be able to run stuff as the secondary user without being prompted for password every time.

I added the following line to /etc/sudoers:

itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL


The way I understand it, this should allow the user itsadok, on any host, to run any command as (user or group) elasticsearch without a password. However, trying something like

itsadok@dev001\$ sudo -u elasticsearch ls


prompts me for a password. Restarting the machine did not help.

What am I doing wrong?

UPDATE:

It turns our that the order of lines in sudoers is significant. I placed the line under "User privilege specification" which sounded like the right place, but the line for the %admin group that comes later was overriding the setting.

Putting the same line at the end of the sudoers file fixed the issue.

-

Revised answer from comments: If you place directives below #includedir, they are ignored. Move the line next to the sudo or admingroup definitions, or place it in separate file in /etc/sudoers.d/.

-
Didn't work. Also, the file already had a root ALL=(ALL:ALL) ALL with no spaces around the colon, so it doesn't seem right. Just to be safe, I tried just (elasticsearch). Doesn't work. –  itsadok Jan 10 '13 at 15:03
You are correct, it works without whitespace in 12.10 at least. Which Ubuntu you are using and exactly where in sudoers you place this line? I have faint recollection that if on older systems you placed the line after first #includedir, it got ignored. If it is at the end of file, try inserting it above the includedir. –  Tuminoid Jan 11 '13 at 6:23
Your comment set me on the right track: the order of the entries matters. Later settings override earlier settings. –  itsadok Jan 13 '13 at 12:05

1.edit sudoers file (this can be present in /etc/sudoers.d/file_name)

sudo visudo -f /etc/sudoers


2.Add line at the end of the file

usernameusedforlogin ALL=(ALL) NOPASSWD:ALL


3.save file

esc :wq!

please tell me if this solution works , for me it worked

-