5.3. Running Commands as Another User via sudo
Problem
You want one user to run commands as another, without sharing passwords.
Solution
Suppose you want user smith to be able to run a given command as user jones.
/etc/sudoers:
smith ALL = (jones) /usr/local/bin/mycommand
User smith runs:
smith$ sudo -u jones /usr/local/bin/mycommand
smith$ sudo -u jones mycommand If /usr/local/bin is in $PATH
User smith will be prompted for his own password, not
jones’s. The
ALL
keyword, which matches anything,
in this case specifies that the line is valid on any host.
Discussion
sudo
exists for this very reason!
To authorize root privileges for smith, replace “jones” with “root” in the above example.
See Also
sudo(8), sudoers(5).
Get Linux Security Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.