File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / doc / sudo.conf.man.in
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 10:46:11 2013 UTC (11 years ago) by misho
Branches: sudo, MAIN
CVS tags: v1_8_7p0, v1_8_7, HEAD
1.8.7

    1: .\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!
    2: .\" IT IS GENERATED AUTOMATICALLY FROM sudo.conf.mdoc.in
    3: .\"
    4: .\" Copyright (c) 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com>
    5: .\"
    6: .\" Permission to use, copy, modify, and distribute this software for any
    7: .\" purpose with or without fee is hereby granted, provided that the above
    8: .\" copyright notice and this permission notice appear in all copies.
    9: .\"
   10: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   11: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   12: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   13: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   14: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   15: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   16: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   17: .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   18: .\"
   19: .TH "SUDO" "5" "March 14, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
   20: .nh
   21: .if n .ad l
   22: .SH "NAME"
   23: \fBsudo.conf\fR
   24: \- configuration for sudo front end
   25: .SH "DESCRIPTION"
   26: The
   27: \fBsudo.conf\fR
   28: file is used to configure the
   29: \fBsudo\fR
   30: front end.
   31: It specifies the security policy and I/O logging plugins, debug flags
   32: as well as plugin-agnostic path names and settings.
   33: .PP
   34: The
   35: \fBsudo.conf\fR
   36: file supports the following directives, described in detail below.
   37: .TP 10n
   38: Plugin
   39: a security policy or I/O logging plugin
   40: .TP 10n
   41: Path
   42: a plugin-agnostic path
   43: .TP 10n
   44: Set
   45: a front end setting, such as
   46: \fIdisable_coredump\fR
   47: or
   48: \fIgroup_source\fR
   49: .TP 10n
   50: Debug
   51: debug flags to aid in debugging
   52: \fBsudo\fR,
   53: \fBsudoreplay\fR,
   54: \fBvisudo\fR,
   55: and the
   56: \fBsudoers\fR
   57: plugin.
   58: .PP
   59: The pound sign
   60: (`#')
   61: is used to indicate a comment.
   62: Both the comment character and any text after it, up to the end of
   63: the line, are ignored.
   64: .PP
   65: Long lines can be continued with a backslash
   66: (`\e')
   67: as the last character on the line.
   68: Note that leading white space is removed from the beginning of lines
   69: even when the continuation character is used.
   70: .PP
   71: Non-comment lines that don't begin with
   72: \fRPlugin\fR,
   73: \fRPath\fR,
   74: \fRDebug\fR,
   75: or
   76: \fRSet\fR
   77: are silently ignored.
   78: .PP
   79: The
   80: \fBsudo.conf\fR
   81: file is always parsed in the
   82: ``\fRC\fR''
   83: locale.
   84: .SS "Plugin configuration"
   85: \fBsudo\fR
   86: supports a plugin architecture for security policies and input/output
   87: logging.
   88: Third parties can develop and distribute their own policy and I/O
   89: logging plugins to work seamlessly with the
   90: \fBsudo\fR
   91: front end.
   92: Plugins are dynamically loaded based on the contents of
   93: \fBsudo.conf\fR.
   94: .PP
   95: A
   96: \fRPlugin\fR
   97: line consists of the
   98: \fRPlugin\fR
   99: keyword, followed by the
  100: \fIsymbol_name\fR
  101: and the
  102: \fIpath\fR
  103: to the shared object containing the plugin.
  104: The
  105: \fIsymbol_name\fR
  106: is the name of the
  107: \fRstruct policy_plugin\fR
  108: or
  109: \fRstruct io_plugin\fR
  110: in the plugin shared object.
  111: The
  112: \fIpath\fR
  113: may be fully qualified or relative.
  114: If not fully qualified, it is relative to the
  115: \fI@PLUGINDIR@\fR
  116: directory.
  117: In other words:
  118: .nf
  119: .sp
  120: .RS 6n
  121: Plugin sudoers_policy sudoers.so
  122: .RE
  123: .fi
  124: .PP
  125: is equivalent to:
  126: .nf
  127: .sp
  128: .RS 6n
  129: Plugin sudoers_policy @PLUGINDIR@/sudoers.so
  130: .RE
  131: .fi
  132: .PP
  133: Starting with
  134: \fBsudo\fR
  135: 1.8.5, any additional parameters after the
  136: \fIpath\fR
  137: are passed as arguments to the plugin's
  138: \fIopen\fR
  139: function.
  140: For example, to override the compile-time default sudoers file mode:
  141: .nf
  142: .sp
  143: .RS 6n
  144: Plugin sudoers_policy sudoers.so sudoers_mode=0440
  145: .RE
  146: .fi
  147: .PP
  148: The same shared object may contain multiple plugins, each with a
  149: different symbol name.
  150: The shared object file must be owned by uid 0 and only writable by its owner.
  151: Because of ambiguities that arise from composite policies, only a single
  152: policy plugin may be specified.
  153: This limitation does not apply to I/O plugins.
  154: .PP
  155: If no
  156: \fBsudo.conf\fR
  157: file is present, or if it contains no
  158: \fRPlugin\fR
  159: lines, the
  160: \fBsudoers\fR
  161: plugin will be used as the default security policy and for I/O logging
  162: (if enabled by the policy).
  163: This is equivalent to the following:
  164: .nf
  165: .sp
  166: .RS 6n
  167: Plugin sudoers_policy sudoers.so
  168: Plugin sudoers_io sudoers.so
  169: .RE
  170: .fi
  171: .PP
  172: For more information on the
  173: \fBsudo\fR
  174: plugin architecture, see the
  175: sudo_plugin(@mansectsu@)
  176: manual.
  177: .SS "Path settings"
  178: A
  179: \fRPath\fR
  180: line consists of the
  181: \fRPath\fR
  182: keyword, followed by the name of the path to set and its value.
  183: For example:
  184: .nf
  185: .sp
  186: .RS 6n
  187: Path noexec @noexec_file@
  188: Path askpass /usr/X11R6/bin/ssh-askpass
  189: .RE
  190: .fi
  191: .PP
  192: The following plugin-agnostic paths may be set in the
  193: \fI@sysconfdir@/sudo.conf\fR
  194: file:
  195: .TP 10n
  196: askpass
  197: The fully qualified path to a helper program used to read the user's
  198: password when no terminal is available.
  199: This may be the case when
  200: \fBsudo\fR
  201: is executed from a graphical (as opposed to text-based) application.
  202: The program specified by
  203: \fIaskpass\fR
  204: should display the argument passed to it as the prompt and write
  205: the user's password to the standard output.
  206: The value of
  207: \fIaskpass\fR
  208: may be overridden by the
  209: \fRSUDO_ASKPASS\fR
  210: environment variable.
  211: .TP 10n
  212: noexec
  213: The fully-qualified path to a shared library containing dummy
  214: versions of the
  215: \fBexecv\fR(),
  216: \fBexecve\fR()
  217: and
  218: \fBfexecve\fR()
  219: library functions that just return an error.
  220: This is used to implement the
  221: \fInoexec\fR
  222: functionality on systems that support
  223: \fRLD_PRELOAD\fR
  224: or its equivalent.
  225: The default value is:
  226: \fI@noexec_file@\fR.
  227: .TP 10n
  228: sesh
  229: The fully-qualified path to the
  230: \fBsesh\fR
  231: binary.
  232: This setting is only used when
  233: \fBsudo\fR
  234: is built with SELinux support.
  235: The default value is
  236: \fI@sesh_file@\fR.
  237: .SS "Other settings"
  238: The
  239: \fBsudo.conf\fR
  240: file also supports the following front end settings:
  241: .TP 10n
  242: disable_coredump
  243: Core dumps of
  244: \fBsudo\fR
  245: itself are disabled by default.
  246: To aid in debugging
  247: \fBsudo\fR
  248: crashes, you may wish to re-enable core dumps by setting
  249: ``disable_coredump''
  250: to false in
  251: \fBsudo.conf\fR
  252: as follows:
  253: .RS
  254: .nf
  255: .sp
  256: .RS 6n
  257: Set disable_coredump false
  258: .RE
  259: .fi
  260: .sp
  261: Note that most operating systems disable core dumps from setuid programs,
  262: including
  263: \fBsudo\fR.
  264: To actually get a
  265: \fBsudo\fR
  266: core file you will likely need to enable core dumps for setuid processes.
  267: On BSD and Linux systems this is accomplished in the
  268: sysctl
  269: command.
  270: On Solaris, the
  271: coreadm
  272: command is used to configure core dump behavior.
  273: .sp
  274: This setting is only available in
  275: \fBsudo\fR
  276: version 1.8.4 and higher.
  277: .PP
  278: .RE
  279: .PD 0
  280: .TP 10n
  281: group_source
  282: \fBsudo\fR
  283: passes the invoking user's group list to the policy and I/O plugins.
  284: On most systems, there is an upper limit to the number of groups that
  285: a user may belong to simultaneously (typically 16 for compatibility
  286: with NFS).
  287: On systems with the
  288: getconf(1)
  289: utility, running:
  290: .RS 6n
  291: getconf NGROUPS_MAX
  292: .RE
  293: will return the maximum number of groups.
  294: .sp
  295: However, it is still possible to be a member of a larger number of
  296: groups--they simply won't be included in the group list returned
  297: by the kernel for the user.
  298: Starting with
  299: \fBsudo\fR
  300: version 1.8.7, if the user's kernel group list has the maximum number
  301: of entries,
  302: \fBsudo\fR
  303: will consult the group database directly to determine the group list.
  304: This makes it possible for the security policy to perform matching by group
  305: name even when the user is a member of more than the maximum number of groups.
  306: .sp
  307: The
  308: \fIgroup_source\fR
  309: setting allows the administrator to change this default behavior.
  310: Supported values for
  311: \fIgroup_source\fR
  312: are:
  313: .RS
  314: .PD
  315: .TP 10n
  316: static
  317: Use the static group list that the kernel returns.
  318: Retrieving the group list this way is very fast but it is subject
  319: to an upper limit as described above.
  320: It is
  321: ``static''
  322: in that it does not reflect changes to the group database made
  323: after the user logs in.
  324: This was the default behavior prior to
  325: \fBsudo\fR
  326: 1.8.7.
  327: .TP 10n
  328: dynamic
  329: Always query the group database directly.
  330: It is
  331: ``dynamic''
  332: in that changes made to the group database after the user logs in
  333: will be reflected in the group list.
  334: On some systems, querying the group database for all of a user's
  335: groups can be time consuming when querying a network-based group
  336: database.
  337: Most operating systems provide an efficient method of performing
  338: such queries.
  339: Currently,
  340: \fBsudo\fR
  341: supports efficient group queries on AIX, BSD, HP-UX, Linux and
  342: Solaris.
  343: .TP 10n
  344: adaptive
  345: Only query the group database if the static group list returned
  346: by the kernel has the maximum number of entries.
  347: This is the default behavior in
  348: \fBsudo\fR
  349: 1.8.7 and higher.
  350: .PP
  351: For example, to cause
  352: \fBsudo\fR
  353: to only use the kernel's static list of groups for the user:
  354: .nf
  355: .sp
  356: .RS 6n
  357: Set group_source static
  358: .RE
  359: .fi
  360: .sp
  361: This setting is only available in
  362: \fBsudo\fR
  363: version 1.8.7 and higher.
  364: .PP
  365: .RE
  366: .PD 0
  367: .TP 10n
  368: max_groups
  369: The maximum number of user groups to retrieve from the group database.
  370: This setting is only used when querying the group database directly.
  371: It is intended to be used on systems where it is not possible to detect
  372: when the array to be populated with group entries is not sufficiently large.
  373: By default,
  374: \fBsudo\fR
  375: will allocate four times the system's maximum number of groups (see above)
  376: and retry with double that number if the group database query fails.
  377: However, some systems just return as many entries as will fit and
  378: do not indicate an error when there is a lack of space.
  379: .sp
  380: This setting is only available in
  381: \fBsudo\fR
  382: version 1.8.7 and higher.
  383: .PD
  384: .SS "Debug flags"
  385: \fBsudo\fR
  386: versions 1.8.4 and higher support a flexible debugging framework
  387: that can help track down what
  388: \fBsudo\fR
  389: is doing internally if there is a problem.
  390: .PP
  391: A
  392: \fRDebug\fR
  393: line consists of the
  394: \fRDebug\fR
  395: keyword, followed by the name of the program (or plugin) to debug
  396: (\fBsudo\fR, \fBvisudo\fR, \fBsudoreplay\fR, \fBsudoers\fR),
  397: the debug file name and a comma-separated list of debug flags.  The
  398: debug flag syntax used by
  399: \fBsudo\fR
  400: and the
  401: \fBsudoers\fR
  402: plugin is
  403: \fIsubsystem\fR@\fIpriority\fR
  404: but a plugin is free to use a different format so long as it does
  405: not include a comma
  406: (`\&,').
  407: .PP
  408: For example:
  409: .nf
  410: .sp
  411: .RS 6n
  412: Debug sudo /var/log/sudo_debug all@warn,plugin@info
  413: .RE
  414: .fi
  415: .PP
  416: would log all debugging statements at the
  417: \fIwarn\fR
  418: level and higher in addition to those at the
  419: \fIinfo\fR
  420: level for the plugin subsystem.
  421: .PP
  422: Currently, only one
  423: \fRDebug\fR
  424: entry per program is supported.  The
  425: \fBsudo\fR
  426: \fRDebug\fR
  427: entry is shared by the
  428: \fBsudo\fR
  429: front end,
  430: \fBsudoedit\fR
  431: and the plugins.  A future release may add support for per-plugin
  432: \fRDebug\fR
  433: lines and/or support for multiple debugging files for a single
  434: program.
  435: .PP
  436: The priorities used by the
  437: \fBsudo\fR
  438: front end, in order of decreasing severity, are:
  439: \fIcrit\fR, \fIerr\fR, \fIwarn\fR, \fInotice\fR, \fIdiag\fR, \fIinfo\fR, \fItrace\fR
  440: and
  441: \fIdebug\fR.
  442: Each priority, when specified, also includes all priorities higher
  443: than it.  For example, a priority of
  444: \fInotice\fR
  445: would include debug messages logged at
  446: \fInotice\fR
  447: and higher.
  448: .PP
  449: The following subsystems are used by the
  450: \fBsudo\fR
  451: front-end:
  452: .TP 12n
  453: \fIall\fR
  454: matches every subsystem
  455: .TP 12n
  456: \fIargs\fR
  457: command line argument processing
  458: .TP 12n
  459: \fIconv\fR
  460: user conversation
  461: .TP 12n
  462: \fIedit\fR
  463: sudoedit
  464: .TP 12n
  465: \fIexec\fR
  466: command execution
  467: .TP 12n
  468: \fImain\fR
  469: \fBsudo\fR
  470: main function
  471: .TP 12n
  472: \fInetif\fR
  473: network interface handling
  474: .TP 12n
  475: \fIpcomm\fR
  476: communication with the plugin
  477: .TP 12n
  478: \fIplugin\fR
  479: plugin configuration
  480: .TP 12n
  481: \fIpty\fR
  482: pseudo-tty related code
  483: .TP 12n
  484: \fIselinux\fR
  485: SELinux-specific handling
  486: .TP 12n
  487: \fIutil\fR
  488: utility functions
  489: .TP 12n
  490: \fIutmp\fR
  491: utmp handling
  492: .PP
  493: The
  494: sudoers(@mansectform@)
  495: plugin includes support for additional subsystems.
  496: .SH "FILES"
  497: .TP 26n
  498: \fI@sysconfdir@/sudo.conf\fR
  499: \fBsudo\fR
  500: front end configuration
  501: .SH "EXAMPLES"
  502: .nf
  503: .RS 0n
  504: #
  505: # Default @sysconfdir@/sudo.conf file
  506: #
  507: # Format:
  508: #   Plugin plugin_name plugin_path plugin_options ...
  509: #   Path askpass /path/to/askpass
  510: #   Path noexec /path/to/sudo_noexec.so
  511: #   Debug sudo /var/log/sudo_debug all@warn
  512: #   Set disable_coredump true
  513: #
  514: # The plugin_path is relative to @PLUGINDIR@ unless
  515: #   fully qualified.
  516: # The plugin_name corresponds to a global symbol in the plugin
  517: #   that contains the plugin interface structure.
  518: # The plugin_options are optional.
  519: #
  520: # The sudoers plugin is used by default if no Plugin lines are
  521: # present.
  522: Plugin sudoers_policy sudoers.so
  523: Plugin sudoers_io sudoers.so
  524: 
  525: #
  526: # Sudo askpass:
  527: #
  528: # An askpass helper program may be specified to provide a graphical
  529: # password prompt for "sudo -A" support.  Sudo does not ship with
  530: # its own askpass program but can use the OpenSSH askpass.
  531: #
  532: # Use the OpenSSH askpass
  533: #Path askpass /usr/X11R6/bin/ssh-askpass
  534: #
  535: # Use the Gnome OpenSSH askpass
  536: #Path askpass /usr/libexec/openssh/gnome-ssh-askpass
  537: 
  538: #
  539: # Sudo noexec:
  540: #
  541: # Path to a shared library containing dummy versions of the execv(),
  542: # execve() and fexecve() library functions that just return an error.
  543: # This is used to implement the "noexec" functionality on systems that
  544: # support C<LD_PRELOAD> or its equivalent.
  545: # The compiled-in value is usually sufficient and should only be
  546: # changed if you rename or move the sudo_noexec.so file.
  547: #
  548: #Path noexec @noexec_file@
  549: 
  550: #
  551: # Core dumps:
  552: #
  553: # By default, sudo disables core dumps while it is executing
  554: # (they are re-enabled for the command that is run).
  555: # To aid in debugging sudo problems, you may wish to enable core
  556: # dumps by setting "disable_coredump" to false.
  557: #
  558: #Set disable_coredump false
  559: 
  560: #
  561: # User groups:
  562: #
  563: # Sudo passes the user's group list to the policy plugin.
  564: # If the user is a member of the maximum number of groups (usually 16),
  565: # sudo will query the group database directly to be sure to include
  566: # the full list of groups.
  567: #
  568: # On some systems, this can be expensive so the behavior is configurable.
  569: # The "group_source" setting has three possible values:
  570: #   static   - use the user's list of groups returned by the kernel.
  571: #   dynamic  - query the group database to find the list of groups.
  572: #   adaptive - if user is in less than the maximum number of groups.
  573: #              use the kernel list, else query the group database.
  574: #
  575: #Set group_source static
  576: .RE
  577: .fi
  578: .SH "SEE ALSO"
  579: sudoers(@mansectform@),
  580: sudo(@mansectsu@),
  581: sudo_plugin(@mansectsu@)
  582: .SH "HISTORY"
  583: See the HISTORY file in the
  584: \fBsudo\fR
  585: distribution (http://www.sudo.ws/sudo/history.html) for a brief
  586: history of sudo.
  587: .SH "AUTHORS"
  588: Many people have worked on
  589: \fBsudo\fR
  590: over the years; this version consists of code written primarily by:
  591: .sp
  592: .RS 6n
  593: Todd C. Miller
  594: .RE
  595: .PP
  596: See the CONTRIBUTORS file in the
  597: \fBsudo\fR
  598: distribution (http://www.sudo.ws/sudo/contributors.html) for an
  599: exhaustive list of people who have contributed to
  600: \fBsudo\fR.
  601: .SH "BUGS"
  602: If you feel you have found a bug in
  603: \fBsudo\fR,
  604: please submit a bug report at http://www.sudo.ws/sudo/bugs/
  605: .SH "SUPPORT"
  606: Limited free support is available via the sudo-users mailing list,
  607: see http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or
  608: search the archives.
  609: .SH "DISCLAIMER"
  610: \fBsudo\fR
  611: is provided
  612: ``AS IS''
  613: and any express or implied warranties, including, but not limited
  614: to, the implied warranties of merchantability and fitness for a
  615: particular purpose are disclaimed.
  616: See the LICENSE file distributed with
  617: \fBsudo\fR
  618: or http://www.sudo.ws/sudo/license.html for complete details.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>