sudo
Change to root user
_$: sudo su -
_$: sudo -i       # With root environment ($PWD, $HOME)
_$: sudo -s       # With current user environment  ($PWD, $HOME)
user@work: su -   # Impossible if root account is passwordless
Change to another (non-root) user
_$: sudo su - <user>
Add a user to the groups that can sudo
_$: usermod <user> -aG adm
_$: usermod <user> -aG sudo
Passwordless sudo
In the sudoers file, write NOPASSWD:
%admingroup ALL=(ALL) NOPASSWD:ALL
Run commands as another user
_$: sudo -u <user> command
_$: sudo -u postgres    pwd     # Compare the output
_$: sudo -u postgres -i pwd     # Compare the output
_$: sudo -u postgres -i -- sh -c "whoami ; pwd"
Example: sudoers
/etc/sudoers:
-------------
...
# Include directives
#include /etc/sudoers.d/auser    # Yes, use a hash immediately followed by 'include'
/etc/sudoers.d/auser:
---------------------
# Allow auser to manage jenkins
auser       ALL=(root:root) /etc/init.d/jenkins start
auser       ALL=(root:root) /etc/init.d/jenkins stop
auser       ALL=(root:root) /etc/init.d/jenkins status
auser       ALL=(root:root) /usr/bin/service jenkins start
auser       ALL=(root:root) /usr/bin/service jenkins stop
auser       ALL=(root:root) /usr/bin/service jenkins status
Check permission bits on a file as another user
_$: sudo -u www-data test cat /path/to/file
_$: sudo -u www-data test -r /path/to/file && echo "OK"
_$: sudo -u www-data test -w /path/to/file && echo "OK"
_$: sudo -u www-data test -x /path/to/file && echo "OK"
_$: sudo -u www-data test -x /path/to/dir  && echo "OK"