Annotation of embedaddon/sudo/doc/sudo.conf.man.in, revision 1.1

1.1     ! misho       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>