Annotation of embedaddon/sudo/doc/sudo.cat, revision 1.1
1.1 ! misho 1: SUDO(1m) MAINTENANCE COMMANDS SUDO(1m)
! 2:
! 3:
! 4:
! 5: NNAAMMEE
! 6: sudo, sudoedit - execute a command as another user
! 7:
! 8: SSYYNNOOPPSSIISS
! 9: ssuuddoo [--DD _l_e_v_e_l] --hh | --KK | --kk | --VV
! 10:
! 11: ssuuddoo --vv [--AAkknnSS] [--aa _a_u_t_h___t_y_p_e] [--DD _l_e_v_e_l] [--gg _g_r_o_u_p _n_a_m_e|_#_g_i_d]
! 12: [--pp _p_r_o_m_p_t] [--uu _u_s_e_r _n_a_m_e|_#_u_i_d]
! 13:
! 14: ssuuddoo --ll[[ll]] [--AAkknnSS] [--aa _a_u_t_h___t_y_p_e] [--DD _l_e_v_e_l] [--gg _g_r_o_u_p _n_a_m_e|_#_g_i_d]
! 15: [--pp _p_r_o_m_p_t] [--UU _u_s_e_r _n_a_m_e] [--uu _u_s_e_r _n_a_m_e|_#_u_i_d] [_c_o_m_m_a_n_d]
! 16:
! 17: ssuuddoo [--AAbbEEHHnnPPSS] [--aa _a_u_t_h___t_y_p_e] [--CC _f_d] [--DD _l_e_v_e_l] [--cc _c_l_a_s_s|_-]
! 18: [--gg _g_r_o_u_p _n_a_m_e|_#_g_i_d] [--pp _p_r_o_m_p_t] [--rr _r_o_l_e] [--tt _t_y_p_e]
! 19: [--uu _u_s_e_r _n_a_m_e|_#_u_i_d] [VVAARR=_v_a_l_u_e] [--ii | --ss] [_c_o_m_m_a_n_d]
! 20:
! 21: ssuuddooeeddiitt [--AAnnSS] [--aa _a_u_t_h___t_y_p_e] [--CC _f_d] [--cc _c_l_a_s_s|_-] [--DD _l_e_v_e_l]
! 22: [--gg _g_r_o_u_p _n_a_m_e|_#_g_i_d] [--pp _p_r_o_m_p_t] [--uu _u_s_e_r _n_a_m_e|_#_u_i_d] file ...
! 23:
! 24: DDEESSCCRRIIPPTTIIOONN
! 25: ssuuddoo allows a permitted user to execute a _c_o_m_m_a_n_d as the superuser or
! 26: another user, as specified by the security policy. The real and
! 27: effective uid and gid are set to match those of the target user, as
! 28: specified in the password database, and the group vector is initialized
! 29: based on the group database (unless the --PP option was specified).
! 30:
! 31: ssuuddoo supports a plugin architecture for security policies and
! 32: input/output logging. Third parties can develop and distribute their
! 33: own policy and I/O logging modules to work seemlessly with the ssuuddoo
! 34: front end. The default security policy is _s_u_d_o_e_r_s, which is configured
! 35: via the file _/_e_t_c_/_s_u_d_o_e_r_s, or via LDAP. See the PLUGINS section for
! 36: more information.
! 37:
! 38: The security policy determines what privileges, if any, a user has to
! 39: run ssuuddoo. The policy may require that users authenticate themselves
! 40: with a password or another authentication mechanism. If authentication
! 41: is required, ssuuddoo will exit if the user's password is not entered
! 42: within a configurable time limit. This limit is policy-specific; the
! 43: default password prompt timeout for the _s_u_d_o_e_r_s security policy is 5
! 44: minutes.
! 45:
! 46: Security policies may support credential caching to allow the user to
! 47: run ssuuddoo again for a period of time without requiring authentication.
! 48: The _s_u_d_o_e_r_s policy caches credentials for 5 minutes, unless overridden
! 49: in _s_u_d_o_e_r_s(4). By running ssuuddoo with the --vv option, a user can update
! 50: the cached credentials without running a _c_o_m_m_a_n_d.
! 51:
! 52: When invoked as ssuuddooeeddiitt, the --ee option (described below), is implied.
! 53:
! 54: Security policies may log successful and failed attempts to use ssuuddoo.
! 55: If an I/O plugin is configured, the running command's input and output
! 56: may be logged as well.
! 57:
! 58: OOPPTTIIOONNSS
! 59: ssuuddoo accepts the following command line options:
! 60:
! 61: -A Normally, if ssuuddoo requires a password, it will read it from
! 62: the user's terminal. If the --AA (_a_s_k_p_a_s_s) option is
! 63: specified, a (possibly graphical) helper program is
! 64: executed to read the user's password and output the
! 65: password to the standard output. If the SUDO_ASKPASS
! 66: environment variable is set, it specifies the path to the
! 67: helper program. Otherwise, if _/_e_t_c_/_s_u_d_o_._c_o_n_f contains a
! 68: line specifying the askpass program, that value will be
! 69: used. For example:
! 70:
! 71: # Path to askpass helper program
! 72: Path askpass /usr/X11R6/bin/ssh-askpass
! 73:
! 74: If no askpass program is available, sudo will exit with an
! 75: error.
! 76:
! 77: -a _t_y_p_e The --aa (_a_u_t_h_e_n_t_i_c_a_t_i_o_n _t_y_p_e) option causes ssuuddoo to use the
! 78: specified authentication type when validating the user, as
! 79: allowed by _/_e_t_c_/_l_o_g_i_n_._c_o_n_f. The system administrator may
! 80: specify a list of sudo-specific authentication methods by
! 81: adding an "auth-sudo" entry in _/_e_t_c_/_l_o_g_i_n_._c_o_n_f. This
! 82: option is only available on systems that support BSD
! 83: authentication.
! 84:
! 85: -b The --bb (_b_a_c_k_g_r_o_u_n_d) option tells ssuuddoo to run the given
! 86: command in the background. Note that if you use the --bb
! 87: option you cannot use shell job control to manipulate the
! 88: process. Most interactive commands will fail to work
! 89: properly in background mode.
! 90:
! 91: -C _f_d Normally, ssuuddoo will close all open file descriptors other
! 92: than standard input, standard output and standard error.
! 93: The --CC (_c_l_o_s_e _f_r_o_m) option allows the user to specify a
! 94: starting point above the standard error (file descriptor
! 95: three). Values less than three are not permitted. The
! 96: security policy may restrict the user's ability to use the
! 97: --CC option. The _s_u_d_o_e_r_s policy only permits use of the --CC
! 98: option when the administrator has enabled the
! 99: _c_l_o_s_e_f_r_o_m___o_v_e_r_r_i_d_e option.
! 100:
! 101: -c _c_l_a_s_s The --cc (_c_l_a_s_s) option causes ssuuddoo to run the specified
! 102: command with resources limited by the specified login
! 103: class. The _c_l_a_s_s argument can be either a class name as
! 104: defined in _/_e_t_c_/_l_o_g_i_n_._c_o_n_f, or a single '-' character.
! 105: Specifying a _c_l_a_s_s of - indicates that the command should
! 106: be run restricted by the default login capabilities for the
! 107: user the command is run as. If the _c_l_a_s_s argument
! 108: specifies an existing user class, the command must be run
! 109: as root, or the ssuuddoo command must be run from a shell that
! 110: is already root. This option is only available on systems
! 111: with BSD login classes.
! 112:
! 113: -D _l_e_v_e_l Enable debugging of ssuuddoo plugins and ssuuddoo itself. The
! 114: _l_e_v_e_l may be a value from 1 through 9.
! 115:
! 116: -E The --EE (_p_r_e_s_e_r_v_e _e_n_v_i_r_o_n_m_e_n_t) option indicates to the
! 117: security policy that the user wishes to preserve their
! 118: existing environment variables. The security policy may
! 119: return an error if the --EE option is specified and the user
! 120: does not have permission to preserve the environment.
! 121:
! 122: -e The --ee (_e_d_i_t) option indicates that, instead of running a
! 123: command, the user wishes to edit one or more files. In
! 124: lieu of a command, the string "sudoedit" is used when
! 125: consulting the security policy. If the user is authorized
! 126: by the policy, the following steps are taken:
! 127:
! 128: 1. Temporary copies are made of the files to be edited
! 129: with the owner set to the invoking user.
! 130:
! 131: 2. The editor specified by the policy is run to edit the
! 132: temporary files. The _s_u_d_o_e_r_s policy uses the
! 133: SUDO_EDITOR, VISUAL and EDITOR environment variables
! 134: (in that order). If none of SUDO_EDITOR, VISUAL or
! 135: EDITOR are set, the first program listed in the _e_d_i_t_o_r
! 136: _s_u_d_o_e_r_s(4) option is used.
! 137:
! 138: 3. If they have been modified, the temporary files are
! 139: copied back to their original location and the
! 140: temporary versions are removed.
! 141:
! 142: If the specified file does not exist, it will be created.
! 143: Note that unlike most commands run by ssuuddoo, the editor is
! 144: run with the invoking user's environment unmodified. If,
! 145: for some reason, ssuuddoo is unable to update a file with its
! 146: edited version, the user will receive a warning and the
! 147: edited copy will remain in a temporary file.
! 148:
! 149: -g _g_r_o_u_p Normally, ssuuddoo runs a command with the primary group set to
! 150: the one specified by the password database for the user the
! 151: command is being run as (by default, root). The --gg (_g_r_o_u_p)
! 152: option causes ssuuddoo to run the command with the primary
! 153: group set to _g_r_o_u_p instead. To specify a _g_i_d instead of a
! 154: _g_r_o_u_p _n_a_m_e, use _#_g_i_d. When running commands as a _g_i_d, many
! 155: shells require that the '#' be escaped with a backslash
! 156: ('\'). If no --uu option is specified, the command will be
! 157: run as the invoking user (not root). In either case, the
! 158: primary group will be set to _g_r_o_u_p.
! 159:
! 160: -H The --HH (_H_O_M_E) option requests that the security policy set
! 161: the HOME environment variable to the home directory of the
! 162: target user (root by default) as specified by the password
! 163: database. Depending on the policy, this may be the default
! 164: behavior.
! 165:
! 166: -h The --hh (_h_e_l_p) option causes ssuuddoo to print a short help
! 167: message to the standard output and exit.
! 168:
! 169: -i [command]
! 170: The --ii (_s_i_m_u_l_a_t_e _i_n_i_t_i_a_l _l_o_g_i_n) option runs the shell
! 171: specified by the password database entry of the target user
! 172: as a login shell. This means that login-specific resource
! 173: files such as .profile or .login will be read by the shell.
! 174: If a command is specified, it is passed to the shell for
! 175: execution via the shell's --cc option. If no command is
! 176: specified, an interactive shell is executed. ssuuddoo attempts
! 177: to change to that user's home directory before running the
! 178: shell. The security policy shall initialize the
! 179: environment to a minimal set of variables, similar to what
! 180: is present when a user logs in. The _C_o_m_m_a_n_d _E_n_v_i_r_o_n_m_e_n_t
! 181: section in the _s_u_d_o_e_r_s(4) manual documents how the --ii
! 182: option affects the environment in which a command is run
! 183: when the _s_u_d_o_e_r_s policy is in use.
! 184:
! 185: -K The --KK (sure _k_i_l_l) option is like --kk except that it removes
! 186: the user's cached credentials entirely and may not be used
! 187: in conjunction with a command or other option. This option
! 188: does not require a password. Not all security policies
! 189: support credential caching.
! 190:
! 191: -k [command]
! 192: When used alone, the --kk (_k_i_l_l) option to ssuuddoo invalidates
! 193: the user's cached credentials. The next time ssuuddoo is run a
! 194: password will be required. This option does not require a
! 195: password and was added to allow a user to revoke ssuuddoo
! 196: permissions from a .logout file. Not all security policies
! 197: support credential caching.
! 198:
! 199: When used in conjunction with a command or an option that
! 200: may require a password, the --kk option will cause ssuuddoo to
! 201: ignore the user's cached credentials. As a result, ssuuddoo
! 202: will prompt for a password (if one is required by the
! 203: security policy) and will not update the user's cached
! 204: credentials.
! 205:
! 206: -l[l] [_c_o_m_m_a_n_d]
! 207: If no _c_o_m_m_a_n_d is specified, the --ll (_l_i_s_t) option will list
! 208: the allowed (and forbidden) commands for the invoking user
! 209: (or the user specified by the --UU option) on the current
! 210: host. If a _c_o_m_m_a_n_d is specified and is permitted by the
! 211: security policy, the fully-qualified path to the command is
! 212: displayed along with any command line arguments. If
! 213: _c_o_m_m_a_n_d is specified but not allowed, ssuuddoo will exit with a
! 214: status value of 1. If the --ll option is specified with an ll
! 215: argument (i.e. --llll), or if --ll is specified multiple times,
! 216: a longer list format is used.
! 217:
! 218: -n The --nn (_n_o_n_-_i_n_t_e_r_a_c_t_i_v_e) option prevents ssuuddoo from
! 219: prompting the user for a password. If a password is
! 220: required for the command to run, ssuuddoo will display an error
! 221: messages and exit.
! 222:
! 223: -P The --PP (_p_r_e_s_e_r_v_e _g_r_o_u_p _v_e_c_t_o_r) option causes ssuuddoo to
! 224: preserve the invoking user's group vector unaltered. By
! 225: default, the _s_u_d_o_e_r_s policy will initialize the group
! 226: vector to the list of groups the target user is in. The
! 227: real and effective group IDs, however, are still set to
! 228: match the target user.
! 229:
! 230: -p _p_r_o_m_p_t The --pp (_p_r_o_m_p_t) option allows you to override the default
! 231: password prompt and use a custom one. The following
! 232: percent (`%') escapes are supported by the _s_u_d_o_e_r_s policy:
! 233:
! 234: %H expanded to the host name including the domain name (on
! 235: if the machine's host name is fully qualified or the
! 236: _f_q_d_n option is set in _s_u_d_o_e_r_s(4))
! 237:
! 238: %h expanded to the local host name without the domain name
! 239:
! 240: %p expanded to the name of the user whose password is
! 241: being requested (respects the _r_o_o_t_p_w, _t_a_r_g_e_t_p_w and
! 242: _r_u_n_a_s_p_w flags in _s_u_d_o_e_r_s(4))
! 243:
! 244: %U expanded to the login name of the user the command will
! 245: be run as (defaults to root unless the -u option is
! 246: also specified)
! 247:
! 248: %u expanded to the invoking user's login name
! 249:
! 250: %% two consecutive % characters are collapsed into a
! 251: single % character
! 252:
! 253: The prompt specified by the --pp option will override the
! 254: system password prompt on systems that support PAM unless
! 255: the _p_a_s_s_p_r_o_m_p_t___o_v_e_r_r_i_d_e flag is disabled in _s_u_d_o_e_r_s.
! 256:
! 257: -r _r_o_l_e The --rr (_r_o_l_e) option causes the new (SELinux) security
! 258: context to have the role specified by _r_o_l_e.
! 259:
! 260: -S The --SS (_s_t_d_i_n) option causes ssuuddoo to read the password from
! 261: the standard input instead of the terminal device. The
! 262: password must be followed by a newline character.
! 263:
! 264: -s [command]
! 265: The --ss (_s_h_e_l_l) option runs the shell specified by the _S_H_E_L_L
! 266: environment variable if it is set or the shell as specified
! 267: in the password database. If a command is specified, it is
! 268: passed to the shell for execution via the shell's --cc
! 269: option. If no command is specified, an interactive shell
! 270: is executed.
! 271:
! 272: -t _t_y_p_e The --tt (_t_y_p_e) option causes the new (SELinux) security
! 273: context to have the type specified by _t_y_p_e. If no type is
! 274: specified, the default type is derived from the specified
! 275: role.
! 276:
! 277: -U _u_s_e_r The --UU (_o_t_h_e_r _u_s_e_r) option is used in conjunction with the
! 278: --ll option to specify the user whose privileges should be
! 279: listed. The security policy may restrict listing other
! 280: users' privileges. The _s_u_d_o_e_r_s policy only allows root or
! 281: a user with the ALL privilege on the current host to use
! 282: this option.
! 283:
! 284: -u _u_s_e_r The --uu (_u_s_e_r) option causes ssuuddoo to run the specified
! 285: command as a user other than _r_o_o_t. To specify a _u_i_d
! 286: instead of a _u_s_e_r _n_a_m_e, use _#_u_i_d. When running commands as
! 287: a _u_i_d, many shells require that the '#' be escaped with a
! 288: backslash ('\'). Security policies may restrict _u_i_ds to
! 289: those listed in the password database. The _s_u_d_o_e_r_s policy
! 290: allows _u_i_ds that are not in the password database as long
! 291: as the _t_a_r_g_e_t_p_w option is not set. Other security policies
! 292: may not support this.
! 293:
! 294: -V The --VV (_v_e_r_s_i_o_n) option causes ssuuddoo to print its version
! 295: string and the version string of the security policy plugin
! 296: and any I/O plugins. If the invoking user is already root
! 297: the --VV option will display the arguments passed to
! 298: configure when _s_u_d_o was built and plugins may display more
! 299: verbose information such as default options.
! 300:
! 301: -v When given the --vv (_v_a_l_i_d_a_t_e) option, ssuuddoo will update the
! 302: user's cached credentials, authenticating the user's
! 303: password if necessary. For the _s_u_d_o_e_r_s plugin, this
! 304: extends the ssuuddoo timeout for another 5 minutes (or whatever
! 305: the timeout is set to in _s_u_d_o_e_r_s) but does not run a
! 306: command. Not all security policies support cached
! 307: credentials.
! 308:
! 309: -- The ---- option indicates that ssuuddoo should stop processing
! 310: command line arguments.
! 311:
! 312: Environment variables to be set for the command may also be passed on
! 313: the command line in the form of VVAARR=_v_a_l_u_e, e.g.
! 314: LLDD__LLIIBBRRAARRYY__PPAATTHH=_/_u_s_r_/_l_o_c_a_l_/_p_k_g_/_l_i_b. Variables passed on the command
! 315: line are subject to the same restrictions as normal environment
! 316: variables with one important exception. If the _s_e_t_e_n_v option is set in
! 317: _s_u_d_o_e_r_s, the command to be run has the SETENV tag set or the command
! 318: matched is ALL, the user may set variables that would overwise be
! 319: forbidden. See _s_u_d_o_e_r_s(4) for more information.
! 320:
! 321: PPLLUUGGIINNSS
! 322: Plugins are dynamically loaded based on the contents of the
! 323: _/_e_t_c_/_s_u_d_o_._c_o_n_f file. If no _/_e_t_c_/_s_u_d_o_._c_o_n_f file is present, or it
! 324: contains no Plugin lines, ssuuddoo will use the traditional _s_u_d_o_e_r_s
! 325: security policy and I/O logging, which corresponds to the following
! 326: _/_e_t_c_/_s_u_d_o_._c_o_n_f file.
! 327:
! 328: #
! 329: # Default /etc/sudo.conf file
! 330: #
! 331: # Format:
! 332: # Plugin plugin_name plugin_path
! 333: # Path askpass /path/to/askpass
! 334: # Path noexec /path/to/noexec.so
! 335: #
! 336: # The plugin_path is relative to /usr/local/libexec unless
! 337: # fully qualified.
! 338: # The plugin_name corresponds to a global symbol in the plugin
! 339: # that contains the plugin interface structure.
! 340: #
! 341: Plugin policy_plugin sudoers.so
! 342: Plugin io_plugin sudoers.so
! 343:
! 344: A Plugin line consists of the Plugin keyword, followed by the
! 345: _s_y_m_b_o_l___n_a_m_e and the _p_a_t_h to the shared object containing the plugin.
! 346: The _s_y_m_b_o_l___n_a_m_e is the name of the struct policy_plugin or struct
! 347: io_plugin in the plugin shared object. The _p_a_t_h may be fully qualified
! 348: or relative. If not fully qualified it is relative to the
! 349: _/_u_s_r_/_l_o_c_a_l_/_l_i_b_e_x_e_c directory. Any additional parameters after the _p_a_t_h
! 350: are ignored. Lines that don't begin with Plugin or Path are silently
! 351: ignored
! 352:
! 353: For more information, see the _s_u_d_o___p_l_u_g_i_n(1m) manual.
! 354:
! 355: PPAATTHHSS
! 356: A Path line consists of the Path keyword, followed by the name of the
! 357: path to set and its value. E.g.
! 358:
! 359: Path noexec /usr/local/libexec/sudo_noexec.so
! 360: Path askpass /usr/X11R6/bin/ssh-askpass
! 361:
! 362: The following plugin-agnostic paths may be set in the _/_e_t_c_/_s_u_d_o_._c_o_n_f
! 363: file.
! 364:
! 365: askpass The fully qualified path to a helper program used to
! 366: read the user's password when no terminal is available.
! 367: This may be the case when ssuuddoo is executed from a
! 368: graphical (as opposed to text-based) application. The
! 369: program specified by _a_s_k_p_a_s_s should display the
! 370: argument passed to it as the prompt and write the
! 371: user's password to the standard output. The value of
! 372: _a_s_k_p_a_s_s may be overridden by the SUDO_ASKPASS
! 373: environment variable.
! 374:
! 375: noexec The fully-qualified path to a shared library containing
! 376: dummy versions of the _e_x_e_c_v_(_), _e_x_e_c_v_e_(_) and _f_e_x_e_c_v_e_(_)
! 377: library functions that just return an error. This is
! 378: used to implement the _n_o_e_x_e_c functionality on systems
! 379: that support LD_PRELOAD or its equivalent. Defaults to
! 380: _/_u_s_r_/_l_o_c_a_l_/_l_i_b_e_x_e_c_/_s_u_d_o___n_o_e_x_e_c_._s_o.
! 381:
! 382: RREETTUURRNN VVAALLUUEESS
! 383: Upon successful execution of a program, the exit status from ssuuddoo will
! 384: simply be the exit status of the program that was executed.
! 385:
! 386: Otherwise, ssuuddoo exits with a value of 1 if there is a
! 387: configuration/permission problem or if ssuuddoo cannot execute the given
! 388: command. In the latter case the error string is printed to the
! 389: standard error. If ssuuddoo cannot _s_t_a_t(2) one or more entries in the
! 390: user's PATH, an error is printed on stderr. (If the directory does not
! 391: exist or if it is not really a directory, the entry is ignored and no
! 392: error is printed.) This should not happen under normal circumstances.
! 393: The most common reason for _s_t_a_t(2) to return "permission denied" is if
! 394: you are running an automounter and one of the directories in your PATH
! 395: is on a machine that is currently unreachable.
! 396:
! 397: SSEECCUURRIITTYY NNOOTTEESS
! 398: ssuuddoo tries to be safe when executing external commands.
! 399:
! 400: To prevent command spoofing, ssuuddoo checks "." and "" (both denoting
! 401: current directory) last when searching for a command in the user's PATH
! 402: (if one or both are in the PATH). Note, however, that the actual PATH
! 403: environment variable is _n_o_t modified and is passed unchanged to the
! 404: program that ssuuddoo executes.
! 405:
! 406: Please note that ssuuddoo will normally only log the command it explicitly
! 407: runs. If a user runs a command such as sudo su or sudo sh, subsequent
! 408: commands run from that shell are not subject to ssuuddoo's security policy.
! 409: The same is true for commands that offer shell escapes (including most
! 410: editors). If I/O logging is enabled, subsequent commands will have
! 411: their input and/or output logged, but there will not be traditional
! 412: logs for those commands. Because of this, care must be taken when
! 413: giving users access to commands via ssuuddoo to verify that the command
! 414: does not inadvertently give the user an effective root shell. For more
! 415: information, please see the PREVENTING SHELL ESCAPES section in
! 416: _s_u_d_o_e_r_s(4).
! 417:
! 418: EENNVVIIRROONNMMEENNTT
! 419: ssuuddoo utilizes the following environment variables. The security policy
! 420: has control over the content of the command's environment.
! 421:
! 422: EDITOR Default editor to use in --ee (sudoedit) mode if neither
! 423: SUDO_EDITOR nor VISUAL is set
! 424:
! 425: MAIL In --ii mode or when _e_n_v___r_e_s_e_t is enabled in _s_u_d_o_e_r_s, set
! 426: to the mail spool of the target user
! 427:
! 428: HOME Set to the home directory of the target user if --ii or
! 429: --HH are specified, _e_n_v___r_e_s_e_t or _a_l_w_a_y_s___s_e_t___h_o_m_e are set
! 430: in _s_u_d_o_e_r_s, or when the --ss option is specified and
! 431: _s_e_t___h_o_m_e is set in _s_u_d_o_e_r_s
! 432:
! 433: PATH May be overridden by the security policy.
! 434:
! 435: SHELL Used to determine shell to run with -s option
! 436:
! 437: SUDO_ASKPASS Specifies the path to a helper program used to read the
! 438: password if no terminal is available or if the -A
! 439: option is specified.
! 440:
! 441: SUDO_COMMAND Set to the command run by sudo
! 442:
! 443: SUDO_EDITOR Default editor to use in --ee (sudoedit) mode
! 444:
! 445: SUDO_GID Set to the group ID of the user who invoked sudo
! 446:
! 447: SUDO_PROMPT Used as the default password prompt
! 448:
! 449: SUDO_PS1 If set, PS1 will be set to its value for the program
! 450: being run
! 451:
! 452: SUDO_UID Set to the user ID of the user who invoked sudo
! 453:
! 454: SUDO_USER Set to the login of the user who invoked sudo
! 455:
! 456: USER Set to the target user (root unless the --uu option is
! 457: specified)
! 458:
! 459: VISUAL Default editor to use in --ee (sudoedit) mode if
! 460: SUDO_EDITOR is not set
! 461:
! 462: FFIILLEESS
! 463: _/_e_t_c_/_s_u_d_o_._c_o_n_f ssuuddoo plugin and path configuration
! 464:
! 465: EEXXAAMMPPLLEESS
! 466: Note: the following examples assume a properly configured security
! 467: policy.
! 468:
! 469: To get a file listing of an unreadable directory:
! 470:
! 471: $ sudo ls /usr/local/protected
! 472:
! 473: To list the home directory of user yaz on a machine where the file
! 474: system holding ~yaz is not exported as root:
! 475:
! 476: $ sudo -u yaz ls ~yaz
! 477:
! 478: To edit the _i_n_d_e_x_._h_t_m_l file as user www:
! 479:
! 480: $ sudo -u www vi ~www/htdocs/index.html
! 481:
! 482: To view system logs only accessible to root and users in the adm group:
! 483:
! 484: $ sudo -g adm view /var/log/syslog
! 485:
! 486: To run an editor as jim with a different primary group:
! 487:
! 488: $ sudo -u jim -g audio vi ~jim/sound.txt
! 489:
! 490: To shutdown a machine:
! 491:
! 492: $ sudo shutdown -r +15 "quick reboot"
! 493:
! 494: To make a usage listing of the directories in the /home partition.
! 495: Note that this runs the commands in a sub-shell to make the cd and file
! 496: redirection work.
! 497:
! 498: $ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"
! 499:
! 500: SSEEEE AALLSSOO
! 501: _g_r_e_p(1), _s_u(1), _s_t_a_t(2), _l_o_g_i_n___c_a_p(3), _p_a_s_s_w_d(4), _s_u_d_o_e_r_s(4),
! 502: _s_u_d_o___p_l_u_g_i_n(1m), _s_u_d_o_r_e_p_l_a_y(1m), _v_i_s_u_d_o(1m)
! 503:
! 504: AAUUTTHHOORRSS
! 505: Many people have worked on ssuuddoo over the years; this version consists
! 506: of code written primarily by:
! 507:
! 508: Todd C. Miller
! 509:
! 510: See the HISTORY file in the ssuuddoo distribution or visit
! 511: http://www.sudo.ws/sudo/history.html for a short history of ssuuddoo.
! 512:
! 513: CCAAVVEEAATTSS
! 514: There is no easy way to prevent a user from gaining a root shell if
! 515: that user is allowed to run arbitrary commands via ssuuddoo. Also, many
! 516: programs (such as editors) allow the user to run commands via shell
! 517: escapes, thus avoiding ssuuddoo's checks. However, on most systems it is
! 518: possible to prevent shell escapes with the _s_u_d_o_e_r_s(4) module's _n_o_e_x_e_c
! 519: functionality.
! 520:
! 521: It is not meaningful to run the cd command directly via sudo, e.g.,
! 522:
! 523: $ sudo cd /usr/local/protected
! 524:
! 525: since when the command exits the parent process (your shell) will still
! 526: be the same. Please see the EXAMPLES section for more information.
! 527:
! 528: Running shell scripts via ssuuddoo can expose the same kernel bugs that
! 529: make setuid shell scripts unsafe on some operating systems (if your OS
! 530: has a /dev/fd/ directory, setuid shell scripts are generally safe).
! 531:
! 532: BBUUGGSS
! 533: If you feel you have found a bug in ssuuddoo, please submit a bug report at
! 534: http://www.sudo.ws/sudo/bugs/
! 535:
! 536: SSUUPPPPOORRTT
! 537: Limited free support is available via the sudo-users mailing list, see
! 538: http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or search
! 539: the archives.
! 540:
! 541: DDIISSCCLLAAIIMMEERR
! 542: ssuuddoo is provided ``AS IS'' and any express or implied warranties,
! 543: including, but not limited to, the implied warranties of
! 544: merchantability and fitness for a particular purpose are disclaimed.
! 545: See the LICENSE file distributed with ssuuddoo or
! 546: http://www.sudo.ws/sudo/license.html for complete details.
! 547:
! 548:
! 549:
! 550: 1.8.3 September 16, 2011 SUDO(1m)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>