To run the command
reboot one needs to be super user. Is there anyway I can run this as a normal user? I just don't want to
sudo and enter my password every time I reboot or power off.
/etc/sudoers so that every user that is in the admin group can execute the following commands without being ask for a password.
sudo halt sudo reboot sudo poweroff
You just need to add the following lines to
## Admin user group is allowed to execute halt and reboot %admin ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
and add yourself to the admin group.
If you want only one user to be able to do this just remove the
%admin and replace it with
username like this
## user is allowed to execute halt and reboot stormvirux ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
You can find out more about
man sudoers or the online manpage
You can also create a new file under
/etc/sudoers.d name it as you wish(I named it
'shutdown'), and put the following lines inside:
# Allows me to shutdown the system without a password yourUserName ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
Just change "yourUserName" for YOUR User Name, and add or remove commands to use, personally I use it only for
shutdown. One of the main difference of creating a particular file under
sudoers.d is that this file will survive System Upgrades
You can also achieve this by trick with setuid. I don't know if it will work on all systems, because they sometimes ignore setuid/setgid bit.
You can specify a group of users who can perform change of system state in my case it was
adm. Then add appropriate users to this group.
gpasswd -a $USER adm
chmod 4550 /usr/bin/reboot
ls -l outpus should look like this:
-r-sr-x--- 1 root adm 18928 Mar 13 2015 /usr/bin/reboot
Afterwards you can just type:
sudo echo $USER >> /etc/shutdown.allow
Then you're able to use one of this commands:
shutdown -ah now // halt shutdown -ar now // reboot
According man shutdown there is -a option for non-root usage:
shutdownis called with the -a argument (add this to the invocation of shutdown in /etc/inittab), it checks to see if the file /etc/shutdown.allow is present. It then compares the login names in that file with the list of people that are logged in on a virtual console ...
It works in Debian Linux. And there is limit for 32 user names in