sudo allows privilege escalation for non root users to perform restricted actions while in a locked down user environment.
root # emerge sudo
Instead of editing
/etc/sudoers, you may drop individual configuration files into the
The sudo configuration file is located @
/etc/sudoers. When editing this file be very careful to not introduce syntax errors. Several other linux distributions use
visudo to edit
user $ su -c 'nano /etc/sudoers'
/etc/sudoers- uncomment wheel group no password sudo
%wheel ALL=(ALL) NOPASSWD: ALL
Add your user to the wheel group to enable sudo:
user $ su -c 'gpasswd -a $USER wheel'
Either log out, and in again or restart:
user $ su -c 'shutdown -r now'
Disabling Root Access By Password
To better secure a system, one may desire to disable root logins by password.
user $ sudo passwd -ld root
to access root:
user $ sudo su
Root can also be accessed by logging in via ssh keys, or as a restricted user then sudo su as above.
Users that want bash completion with sudo need to run this once.
user $ echo "complete -cf sudo" >> $HOME/.bashrc
Passing Environment Variables
To pass environment variables to the temporary root use the -E flag.
user $ sudo -E echo 'hello world'
If your user has aliases you wish to use under sudo you must alias sudo with a space first:
user $ echo "alias sudo='sudo '" >> $HOME/.bashrc