Linux Security Cookbook [Electronic resources]

Daniel J. Barrett, Robert G. Byrnes, Richard Silverman

نسخه متنی -صفحه : 247/ 104
نمايش فراداده

Recipe 5.9 Prohibiting Command Arguments with sudo

5.9.1 Problem

You want to permit a command to be run via sudo, but only without command-line arguments.

5.9.2 Solution

Follow the program name with the single argument " in /etc/sudoers:

/etc/sudoers:
smith  ALL = (root) /usr/local/bin/mycommand "
smith$ sudo -u root mycommand a b c                         Rejected
smith$ sudo -u root mycommand                               Authorized

5.9.3 Discussion

If you specify no arguments to a command in /etc/sudoers, then by default any arguments are permitted.

/etc/sudoers:
smith  ALL = (root) /usr/local/bin/mycommand
smith$ sudo -u root mycommand a b c                         Authorized

Use " to prevent any runtime arguments from being authorized.

5.9.4 See Also

sudo(8), sudoers(5).