1

I'm running Linux Mint 17.3.

By default, running shutdown or other commands like reboot, poweroff requires root privilege.

So I added the following line

lesaff_b ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

to /etc/sudoers. I know it still requires that I run these commands as sudo but it won't ask for password, so I create an alias for each of them.

It worked fine the first time, but then it stopped working, I now need to run these commands as sudo and type my password. I know there are others ways of running these commands without sudo, but why doesn't it work whereas it should, and most importantly, why did it work one time ??

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255

1 Answers1

2

Given the information we learned in the comments, it appears that:

  1. you ran some command with sudo (perhaps to edit sudoers to add the quoted NOPASSWD line in the Q)
  2. sudo cached those credentials, allowing you to run a reboot or shutdown within timestamp_timeout (5 minutes by default, I believe)
  3. but after the reboot (more than timestamp_timeout), you were again prompted for a password for those commands because there was a pre-existing ALL:ALL sudo rule without the NOPASSWD flag -- that you didn't add but were caught up in. Because sudo uses the last matching rule, it prompted you unexpectedly.

The solution here is to move your rule below the pre-existing ALL:ALL rule (or, if you like, add the NOPASSWD flag to the existing ALL:ALL rule).

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255