Add standalone sudo.conf manual page.
This commit is contained in:
3
MANIFEST
3
MANIFEST
@@ -397,6 +397,9 @@ src/tgetpass.c
|
|||||||
src/ttyname.c
|
src/ttyname.c
|
||||||
src/utmp.c
|
src/utmp.c
|
||||||
sudo.pp
|
sudo.pp
|
||||||
|
sudo/sudo.conf.cat
|
||||||
|
sudo/sudo.conf.man.in
|
||||||
|
sudo/sudo.conf.mdoc.in
|
||||||
zlib/Makefile.in
|
zlib/Makefile.in
|
||||||
zlib/adler32.c
|
zlib/adler32.c
|
||||||
zlib/compress.c
|
zlib/compress.c
|
||||||
|
@@ -64,12 +64,13 @@ DEVEL = @DEVEL@
|
|||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
DOCS = sudo.$(mantype) visudo.$(mantype) sudoers.$(mantype) \
|
DOCS = sudo.$(mantype) visudo.$(mantype) sudo.conf.$(mantype) \
|
||||||
sudoers.ldap.$(mantype) sudoers.$(mantype) \
|
sudoers.$(mantype) sudoers.ldap.$(mantype) sudoers.$(mantype) \
|
||||||
sudoreplay.$(mantype) sudo_plugin.$(mantype)
|
sudoreplay.$(mantype) sudo_plugin.$(mantype)
|
||||||
|
|
||||||
DEVDOCS = $(srcdir)/sudo.man.in $(srcdir)/sudo.cat \
|
DEVDOCS = $(srcdir)/sudo.man.in $(srcdir)/sudo.cat \
|
||||||
$(srcdir)/visudo.man.in $(srcdir)/visudo.cat \
|
$(srcdir)/visudo.man.in $(srcdir)/visudo.cat \
|
||||||
|
$(srcdir)/sudo.conf.man.in $(srcdir)/sudo.conf.cat \
|
||||||
$(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
|
$(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
|
||||||
$(srcdir)/sudoers.ldap.man.in $(srcdir)/sudoers.ldap.cat \
|
$(srcdir)/sudoers.ldap.man.in $(srcdir)/sudoers.ldap.cat \
|
||||||
$(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
|
$(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
|
||||||
@@ -158,6 +159,34 @@ $(srcdir)/visudo.cat: varsub $(srcdir)/visudo.mdoc.in
|
|||||||
|
|
||||||
visudo.cat: $(srcdir)/visudo.cat
|
visudo.cat: $(srcdir)/visudo.cat
|
||||||
|
|
||||||
|
$(srcdir)/sudo.conf.man.in: $(srcdir)/sudo.conf.mdoc.in
|
||||||
|
@if [ -n "$(DEVEL)" ]; then \
|
||||||
|
echo "Generating $@"; \
|
||||||
|
mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
|
||||||
|
mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
|
||||||
|
printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
|
||||||
|
printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudo.conf.mdoc.in\n' >> $@; \
|
||||||
|
$(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudo.conf.mdoc.in >> $@; \
|
||||||
|
$(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.conf.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "VISUDO" \)"8"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo.conf.man.sed: $(srcdir)/fixman.sh
|
||||||
|
$(SHELL) $(srcdir)/fixman.sh $@
|
||||||
|
|
||||||
|
sudo.conf.man: $(srcdir)/sudo.conf.man.in sudo.conf.man.sed
|
||||||
|
(cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
|
||||||
|
|
||||||
|
sudo.conf.mdoc: $(srcdir)/sudo.conf.mdoc.in
|
||||||
|
(cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
|
||||||
|
|
||||||
|
$(srcdir)/sudo.conf.cat: varsub $(srcdir)/sudo.conf.mdoc.in
|
||||||
|
@if [ -n "$(DEVEL)" ]; then \
|
||||||
|
echo "Generating $@"; \
|
||||||
|
$(SED) -f varsub $(srcdir)/sudo.conf.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo.conf.cat: $(srcdir)/sudo.conf.cat
|
||||||
|
|
||||||
$(srcdir)/sudoers.man.in: $(srcdir)/sudoers.mdoc.in
|
$(srcdir)/sudoers.man.in: $(srcdir)/sudoers.mdoc.in
|
||||||
@if [ -n "$(DEVEL)" ]; then \
|
@if [ -n "$(DEVEL)" ]; then \
|
||||||
echo "Generating $@"; \
|
echo "Generating $@"; \
|
||||||
@@ -292,10 +321,11 @@ install-doc: install-dirs
|
|||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudo_plugin.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu)
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudo_plugin.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu)
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
|
||||||
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudo.conf.$(mantype) $(DESTDIR)$(mandirform)/sudo.conf.$(mansectform)
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
|
||||||
@LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
|
@LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
|
||||||
@if test -n "$(MANCOMPRESS)"; then \
|
@if test -n "$(MANCOMPRESS)"; then \
|
||||||
for f in $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/sudo_plugin.$(mansectsu) $(mandirsu)/sudoreplay.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudoers.$(mansectform) $(mandirform)/sudoers.ldap.$(mansectform); do \
|
for f in $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/sudo_plugin.$(mansectsu) $(mandirsu)/sudoreplay.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudo.conf.$(mansectform) $(mandirform)/sudoers.$(mansectform) $(mandirform)/sudoers.ldap.$(mansectform); do \
|
||||||
if test -f $(DESTDIR)$$f; then \
|
if test -f $(DESTDIR)$$f; then \
|
||||||
echo $(MANCOMPRESS) -f $(DESTDIR)$$f; \
|
echo $(MANCOMPRESS) -f $(DESTDIR)$$f; \
|
||||||
$(MANCOMPRESS) -f $(DESTDIR)$$f; \
|
$(MANCOMPRESS) -f $(DESTDIR)$$f; \
|
||||||
@@ -319,6 +349,7 @@ uninstall:
|
|||||||
$(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu) \
|
$(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu) \
|
||||||
$(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu) \
|
$(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu) \
|
||||||
$(DESTDIR)$(mandirsu)/visudo.$(mansectsu) \
|
$(DESTDIR)$(mandirsu)/visudo.$(mansectsu) \
|
||||||
|
$(DESTDIR)$(mandirform)/sudo.conf.$(mansectform) \
|
||||||
$(DESTDIR)$(mandirform)/sudoers.$(mansectform) \
|
$(DESTDIR)$(mandirform)/sudoers.$(mansectform) \
|
||||||
$(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
|
$(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
|
||||||
|
|
||||||
|
333
doc/sudo.conf.cat
Normal file
333
doc/sudo.conf.cat
Normal file
@@ -0,0 +1,333 @@
|
|||||||
|
SUDO(4) Programmer's Manual SUDO(4)
|
||||||
|
|
||||||
|
NNAAMMEE
|
||||||
|
ssuuddoo..ccoonnff - configuration for sudo front end
|
||||||
|
|
||||||
|
DDEESSCCRRIIPPTTIIOONN
|
||||||
|
The ssuuddoo..ccoonnff file is used to configure the ssuuddoo front end. It specifies
|
||||||
|
the security policy and I/O logging plugins, debug flags as well as
|
||||||
|
plugin-agnostic path names and settings.
|
||||||
|
|
||||||
|
The ssuuddoo..ccoonnff file supports the following directives, described in detail
|
||||||
|
below.
|
||||||
|
|
||||||
|
Plugin a security policy or I/O logging plugin
|
||||||
|
|
||||||
|
Path a plugin-agnostic path
|
||||||
|
|
||||||
|
Set a front end setting, such as _d_i_s_a_b_l_e___c_o_r_e_d_u_m_p or _g_r_o_u_p___s_o_u_r_c_e
|
||||||
|
|
||||||
|
Debug debug flags to aid in debugging ssuuddoo, ssuuddoorreeppllaayy, vviissuuddoo, and
|
||||||
|
the ssuuddooeerrss plugin.
|
||||||
|
|
||||||
|
The pound sign (`#') is used to indicate a comment. Both the comment
|
||||||
|
character and any text after it, up to the end of the line, are ignored.
|
||||||
|
|
||||||
|
Non-comment lines that don't begin with Plugin, Path, Debug, or Set are
|
||||||
|
silently ignored.
|
||||||
|
|
||||||
|
The ssuuddoo..ccoonnff file is always parsed in the ``C'' locale.
|
||||||
|
|
||||||
|
PPlluuggiinn ccoonnffiigguurraattiioonn
|
||||||
|
ssuuddoo supports a plugin architecture for security policies and
|
||||||
|
input/output logging. Third parties can develop and distribute their own
|
||||||
|
policy and I/O logging plugins to work seamlessly with the ssuuddoo front
|
||||||
|
end. Plugins are dynamically loaded based on the contents of ssuuddoo..ccoonnff.
|
||||||
|
|
||||||
|
A Plugin line consists of the Plugin keyword, followed by the _s_y_m_b_o_l___n_a_m_e
|
||||||
|
and the _p_a_t_h to the shared object containing the plugin. The _s_y_m_b_o_l___n_a_m_e
|
||||||
|
is the name of the struct policy_plugin or struct io_plugin in the plugin
|
||||||
|
shared object. The _p_a_t_h may be fully qualified or relative. If not
|
||||||
|
fully qualified, it is relative to the _/_u_s_r_/_l_o_c_a_l_/_l_i_b_e_x_e_c directory. In
|
||||||
|
other words:
|
||||||
|
|
||||||
|
Plugin sudoers_policy sudoers.so
|
||||||
|
|
||||||
|
is equivalent to:
|
||||||
|
|
||||||
|
Plugin sudoers_policy /usr/local/libexec/sudoers.so
|
||||||
|
|
||||||
|
Any additional parameters after the _p_a_t_h are passed as arguments to the
|
||||||
|
plugin's _o_p_e_n function. For example, to override the compile-time
|
||||||
|
default sudoers file mode:
|
||||||
|
|
||||||
|
Plugin sudoers_policy sudoers.so sudoers_mode=0440
|
||||||
|
|
||||||
|
If no ssuuddoo..ccoonnff file is present, or if it contains no Plugin lines, the
|
||||||
|
ssuuddooeerrss plugin will be used as the default security policy and for I/O
|
||||||
|
logging (if enabled by the policy). This is equivalent to the following:
|
||||||
|
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
|
||||||
|
For more information on the ssuuddoo plugin architecture, see the
|
||||||
|
sudo_plugin(1m) manual.
|
||||||
|
|
||||||
|
PPaatthh sseettttiinnggss
|
||||||
|
A Path line consists of the Path keyword, followed by the name of the
|
||||||
|
path to set and its value. For example:
|
||||||
|
|
||||||
|
Path noexec /usr/local/libexec/sudo_noexec.so
|
||||||
|
Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
|
||||||
|
The following plugin-agnostic paths may be set in the _/_e_t_c_/_s_u_d_o_._c_o_n_f
|
||||||
|
file:
|
||||||
|
|
||||||
|
askpass The fully qualified path to a helper program used to read the
|
||||||
|
user's password when no terminal is available. This may be the
|
||||||
|
case when ssuuddoo is executed from a graphical (as opposed to
|
||||||
|
text-based) application. The program specified by _a_s_k_p_a_s_s
|
||||||
|
should display the argument passed to it as the prompt and
|
||||||
|
write the user's password to the standard output. The value of
|
||||||
|
_a_s_k_p_a_s_s may be overridden by the SUDO_ASKPASS environment
|
||||||
|
variable.
|
||||||
|
|
||||||
|
noexec The fully-qualified path to a shared library containing dummy
|
||||||
|
versions of the eexxeeccvv(), eexxeeccvvee() and ffeexxeeccvvee() library
|
||||||
|
functions that just return an error. This is used to implement
|
||||||
|
the _n_o_e_x_e_c functionality on systems that support LD_PRELOAD or
|
||||||
|
its equivalent. The default value is:
|
||||||
|
_/_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.
|
||||||
|
|
||||||
|
OOtthheerr sseettttiinnggss
|
||||||
|
The ssuuddoo..ccoonnff file also supports the following front end settings:
|
||||||
|
|
||||||
|
disable_coredump
|
||||||
|
Core dumps of ssuuddoo itself are disabled by default. To aid in
|
||||||
|
debugging ssuuddoo crashes, you may wish to re-enable core dumps by
|
||||||
|
setting ``disable_coredump'' to false in ssuuddoo..ccoonnff as follows:
|
||||||
|
|
||||||
|
Set disable_coredump false
|
||||||
|
|
||||||
|
Note that most operating systems disable core dumps from setuid
|
||||||
|
programs, including ssuuddoo. To actually get a ssuuddoo core file you
|
||||||
|
will likely need to enable core dumps for setuid processes. On
|
||||||
|
BSD and Linux systems this is accomplished via the sysctl
|
||||||
|
command. On Solaris, the coreadm command is used to configure
|
||||||
|
core dump behavior.
|
||||||
|
|
||||||
|
This setting is only available in ssuuddoo version 1.8.4 and
|
||||||
|
higher.
|
||||||
|
|
||||||
|
group_source
|
||||||
|
ssuuddoo passes the invoking user's group list to the policy and
|
||||||
|
I/O plugins. On most systems, there is an upper limit to the
|
||||||
|
number of groups that a user may belong to simultaneously
|
||||||
|
(typically 16 for compatibility with NFS). On systems with the
|
||||||
|
getconf(1) utility, running:
|
||||||
|
getconf NGROUPS_MAX
|
||||||
|
will return the maximum number of groups.
|
||||||
|
|
||||||
|
However, it is still possible to be a member of a larger number
|
||||||
|
of groups--they simply won't be included in the group list
|
||||||
|
returned by the kernel for the user. Starting with ssuuddoo
|
||||||
|
version 1.8.7, if the user's kernel group list has the maximum
|
||||||
|
number of entries, ssuuddoo will consult the group database
|
||||||
|
directly to determine the group list. This makes it possible
|
||||||
|
for the security policy to perform matching by group name even
|
||||||
|
when the user is a member of more than the maximum number of
|
||||||
|
groups.
|
||||||
|
|
||||||
|
The _g_r_o_u_p___s_o_u_r_c_e setting allows the administrator to change
|
||||||
|
this default behavior. Supported values for _g_r_o_u_p___s_o_u_r_c_e are:
|
||||||
|
|
||||||
|
static Use the static group list that the kernel returns.
|
||||||
|
Retrieving the group list this way is very fast but
|
||||||
|
it is subject to an upper limit as described above.
|
||||||
|
It is ``static'' in that it does not reflect changes
|
||||||
|
to the group database made after the user logs in.
|
||||||
|
This was the default behavior prior to ssuuddoo 1.8.7.
|
||||||
|
|
||||||
|
dynamic Always query the group database directly. It is
|
||||||
|
``dynamic'' in that changes made to the group
|
||||||
|
database after the user logs in will be reflected in
|
||||||
|
the group list. On some systems, querying the group
|
||||||
|
database for all of a user's groups can be time
|
||||||
|
consuming when querying a network-based group
|
||||||
|
database. Most operating systems provide an
|
||||||
|
efficient method of performing such queries.
|
||||||
|
Currently, ssuuddoo supports efficient group queries on
|
||||||
|
AIX, BSD, HP-UX, Linux and Solaris.
|
||||||
|
|
||||||
|
adaptive Only query the group database if the static group
|
||||||
|
list returned by the kernel has the maximum number of
|
||||||
|
entries. This is the default behavior in ssuuddoo 1.8.7
|
||||||
|
and higher.
|
||||||
|
|
||||||
|
For example, to cause ssuuddoo to only use the kernel's static list
|
||||||
|
of groups for the user:
|
||||||
|
|
||||||
|
Set group_source static
|
||||||
|
|
||||||
|
This setting is only available in ssuuddoo version 1.8.7 and
|
||||||
|
higher.
|
||||||
|
|
||||||
|
DDeebbuugg ffllaaggss
|
||||||
|
ssuuddoo versions 1.8.4 and higher support a flexible debugging framework
|
||||||
|
that can help track down what ssuuddoo is doing internally if there is a
|
||||||
|
problem.
|
||||||
|
|
||||||
|
A Debug line consists of the Debug keyword, followed by the name of the
|
||||||
|
program (or plugin) to debug (ssuuddoo, vviissuuddoo, ssuuddoorreeppllaayy, ssuuddooeerrss), the
|
||||||
|
debug file name and a comma-separated list of debug flags. The debug
|
||||||
|
flag syntax used by ssuuddoo and the ssuuddooeerrss plugin is _s_u_b_s_y_s_t_e_m@_p_r_i_o_r_i_t_y but
|
||||||
|
a plugin is free to use a different format so long as it does not include
|
||||||
|
a comma (`,').
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
Debug sudo /var/log/sudo_debug all@warn,plugin@info
|
||||||
|
|
||||||
|
would log all debugging statements at the _w_a_r_n level and higher in
|
||||||
|
addition to those at the _i_n_f_o level for the plugin subsystem.
|
||||||
|
|
||||||
|
Currently, only one Debug entry per program is supported. The ssuuddoo Debug
|
||||||
|
entry is shared by the ssuuddoo front end, ssuuddooeeddiitt and the plugins. A
|
||||||
|
future release may add support for per-plugin Debug lines and/or support
|
||||||
|
for multiple debugging files for a single program.
|
||||||
|
|
||||||
|
The priorities used by the ssuuddoo front end, in order of decreasing
|
||||||
|
severity, are: _c_r_i_t, _e_r_r, _w_a_r_n, _n_o_t_i_c_e, _d_i_a_g, _i_n_f_o, _t_r_a_c_e and _d_e_b_u_g.
|
||||||
|
Each priority, when specified, also includes all priorities higher than
|
||||||
|
it. For example, a priority of _n_o_t_i_c_e would include debug messages
|
||||||
|
logged at _n_o_t_i_c_e and higher.
|
||||||
|
|
||||||
|
The following subsystems are used by the ssuuddoo front-end:
|
||||||
|
|
||||||
|
_a_l_l matches every subsystem
|
||||||
|
|
||||||
|
_a_r_g_s command line argument processing
|
||||||
|
|
||||||
|
_c_o_n_v user conversation
|
||||||
|
|
||||||
|
_e_d_i_t sudoedit
|
||||||
|
|
||||||
|
_e_x_e_c command execution
|
||||||
|
|
||||||
|
_m_a_i_n ssuuddoo main function
|
||||||
|
|
||||||
|
_n_e_t_i_f network interface handling
|
||||||
|
|
||||||
|
_p_c_o_m_m communication with the plugin
|
||||||
|
|
||||||
|
_p_l_u_g_i_n plugin configuration
|
||||||
|
|
||||||
|
_p_t_y pseudo-tty related code
|
||||||
|
|
||||||
|
_s_e_l_i_n_u_x SELinux-specific handling
|
||||||
|
|
||||||
|
_u_t_i_l utility functions
|
||||||
|
|
||||||
|
_u_t_m_p utmp handling
|
||||||
|
|
||||||
|
FFIILLEESS
|
||||||
|
_/_e_t_c_/_s_u_d_o_._c_o_n_f ssuuddoo front end configuration
|
||||||
|
|
||||||
|
EEXXAAMMPPLLEESS
|
||||||
|
#
|
||||||
|
# Default /etc/sudo.conf file
|
||||||
|
#
|
||||||
|
# Format:
|
||||||
|
# Plugin plugin_name plugin_path plugin_options ...
|
||||||
|
# Path askpass /path/to/askpass
|
||||||
|
# Path noexec /path/to/sudo_noexec.so
|
||||||
|
# Debug sudo /var/log/sudo_debug all@warn
|
||||||
|
# Set disable_coredump true
|
||||||
|
#
|
||||||
|
# The plugin_path is relative to /usr/local/libexec unless
|
||||||
|
# fully qualified.
|
||||||
|
# The plugin_name corresponds to a global symbol in the plugin
|
||||||
|
# that contains the plugin interface structure.
|
||||||
|
# The plugin_options are optional.
|
||||||
|
#
|
||||||
|
# The sudoers plugin is used by default if no Plugin lines are
|
||||||
|
# present.
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo askpass:
|
||||||
|
#
|
||||||
|
# An askpass helper program may be specified to provide a graphical
|
||||||
|
# password prompt for "sudo -A" support. Sudo does not ship with
|
||||||
|
# its own askpass program but can use the OpenSSH askpass.
|
||||||
|
#
|
||||||
|
# Use the OpenSSH askpass
|
||||||
|
#Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
#
|
||||||
|
# Use the Gnome OpenSSH askpass
|
||||||
|
#Path askpass /usr/libexec/openssh/gnome-ssh-askpass
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo noexec:
|
||||||
|
#
|
||||||
|
# Path to a shared library containing dummy versions of the execv(),
|
||||||
|
# execve() and fexecve() library functions that just return an error.
|
||||||
|
# This is used to implement the "noexec" functionality on systems that
|
||||||
|
# support C<LD_PRELOAD> or its equivalent.
|
||||||
|
# The compiled-in value is usually sufficient and should only be
|
||||||
|
# changed if you rename or move the sudo_noexec.so file.
|
||||||
|
#
|
||||||
|
#Path noexec /usr/local/libexec/sudo_noexec.so
|
||||||
|
|
||||||
|
#
|
||||||
|
# Core dumps:
|
||||||
|
#
|
||||||
|
# By default, sudo disables core dumps while it is executing
|
||||||
|
# (they are re-enabled for the command that is run).
|
||||||
|
# To aid in debugging sudo problems, you may wish to enable core
|
||||||
|
# dumps by setting "disable_coredump" to false.
|
||||||
|
#
|
||||||
|
#Set disable_coredump false
|
||||||
|
|
||||||
|
#
|
||||||
|
# User groups:
|
||||||
|
#
|
||||||
|
# Sudo passes the user's group list to the policy plugin.
|
||||||
|
# If the user is a member of the maximum number of groups (usually 16),
|
||||||
|
# sudo will query the group database directly to be sure to include
|
||||||
|
# the full list of groups.
|
||||||
|
#
|
||||||
|
# On some systems, this can be expensive so the behavior is configurable.
|
||||||
|
# The "group_source" setting has three possible values:
|
||||||
|
# static - use the user's list of groups returned by the kernel.
|
||||||
|
# dynamic - query the group database to find the list of groups.
|
||||||
|
# adaptive - if user is in less than the maximum number of groups.
|
||||||
|
# use the kernel list, else query the group database.
|
||||||
|
#
|
||||||
|
#Set group_source static
|
||||||
|
|
||||||
|
SSEEEE AALLSSOO
|
||||||
|
sudoers(4), sudo(1m), sudo_plugin(1m),
|
||||||
|
|
||||||
|
HHIISSTTOORRYY
|
||||||
|
See the HISTORY file in the ssuuddoo distribution
|
||||||
|
(http://www.sudo.ws/sudo/history.html) for a brief history of sudo.
|
||||||
|
|
||||||
|
AAUUTTHHOORRSS
|
||||||
|
Many people have worked on ssuuddoo over the years; this version consists of
|
||||||
|
code written primarily by:
|
||||||
|
|
||||||
|
Todd C. Miller
|
||||||
|
|
||||||
|
See the CONTRIBUTORS file in the ssuuddoo distribution
|
||||||
|
(http://www.sudo.ws/sudo/contributors.html) for an exhaustive list of
|
||||||
|
people who have contributed to ssuuddoo.
|
||||||
|
|
||||||
|
BBUUGGSS
|
||||||
|
If you feel you have found a bug in ssuuddoo, please submit a bug report at
|
||||||
|
http://www.sudo.ws/sudo/bugs/
|
||||||
|
|
||||||
|
SSUUPPPPOORRTT
|
||||||
|
Limited free support is available via the sudo-users mailing list, see
|
||||||
|
http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or search the
|
||||||
|
archives.
|
||||||
|
|
||||||
|
DDIISSCCLLAAIIMMEERR
|
||||||
|
ssuuddoo is provided ``AS IS'' and any express or implied warranties,
|
||||||
|
including, but not limited to, the implied warranties of merchantability
|
||||||
|
and fitness for a particular purpose are disclaimed. See the LICENSE
|
||||||
|
file distributed with ssuuddoo or http://www.sudo.ws/sudo/license.html for
|
||||||
|
complete details.
|
||||||
|
|
||||||
|
Sudo 1.8.7 February 1, 2013 Sudo 1.8.7
|
573
doc/sudo.conf.man.in
Normal file
573
doc/sudo.conf.man.in
Normal file
@@ -0,0 +1,573 @@
|
|||||||
|
.\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!
|
||||||
|
.\" IT IS GENERATED AUTOMATICALLY FROM sudo.conf.mdoc.in
|
||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
.\"
|
||||||
|
.TH "SUDO" "5" "February 1, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
|
||||||
|
.nh
|
||||||
|
.if n .ad l
|
||||||
|
.SH "NAME"
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
\- configuration for sudo front end
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
The
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
file is used to configure the
|
||||||
|
\fBsudo\fR
|
||||||
|
front end.
|
||||||
|
It specifies the security policy and I/O logging plugins, debug flags
|
||||||
|
as well as plugin-agnostic path names and settings.
|
||||||
|
.PP
|
||||||
|
The
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
file supports the following directives, described in detail below.
|
||||||
|
.TP 10n
|
||||||
|
Plugin
|
||||||
|
a security policy or I/O logging plugin
|
||||||
|
.TP 10n
|
||||||
|
Path
|
||||||
|
a plugin-agnostic path
|
||||||
|
.TP 10n
|
||||||
|
Set
|
||||||
|
a front end setting, such as
|
||||||
|
\fIdisable_coredump\fR
|
||||||
|
or
|
||||||
|
\fIgroup_source\fR
|
||||||
|
.TP 10n
|
||||||
|
Debug
|
||||||
|
debug flags to aid in debugging
|
||||||
|
\fBsudo\fR,
|
||||||
|
\fBsudoreplay\fR,
|
||||||
|
\fBvisudo\fR,
|
||||||
|
and the
|
||||||
|
\fBsudoers\fR
|
||||||
|
plugin.
|
||||||
|
.PP
|
||||||
|
The pound sign
|
||||||
|
(`#')
|
||||||
|
is used to indicate a comment.
|
||||||
|
Both the comment character and any text after it, up to the end of
|
||||||
|
the line, are ignored.
|
||||||
|
.PP
|
||||||
|
Non-comment lines that don't begin with
|
||||||
|
\fRPlugin\fR,
|
||||||
|
\fRPath\fR,
|
||||||
|
\fRDebug\fR,
|
||||||
|
or
|
||||||
|
\fRSet\fR
|
||||||
|
are silently ignored.
|
||||||
|
.PP
|
||||||
|
The
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
file is always parsed in the
|
||||||
|
``\fRC\fR''
|
||||||
|
locale.
|
||||||
|
.SS "Plugin configuration"
|
||||||
|
\fBsudo\fR
|
||||||
|
supports a plugin architecture for security policies and input/output
|
||||||
|
logging.
|
||||||
|
Third parties can develop and distribute their own policy and I/O
|
||||||
|
logging plugins to work seamlessly with the
|
||||||
|
\fBsudo\fR
|
||||||
|
front end.
|
||||||
|
Plugins are dynamically loaded based on the contents of
|
||||||
|
\fBsudo.conf\fR.
|
||||||
|
.PP
|
||||||
|
A
|
||||||
|
\fRPlugin\fR
|
||||||
|
line consists of the
|
||||||
|
\fRPlugin\fR
|
||||||
|
keyword, followed by the
|
||||||
|
\fIsymbol_name\fR
|
||||||
|
and the
|
||||||
|
\fIpath\fR
|
||||||
|
to the shared object containing the plugin.
|
||||||
|
The
|
||||||
|
\fIsymbol_name\fR
|
||||||
|
is the name of the
|
||||||
|
\fRstruct policy_plugin\fR
|
||||||
|
or
|
||||||
|
\fRstruct io_plugin\fR
|
||||||
|
in the plugin shared object.
|
||||||
|
The
|
||||||
|
\fIpath\fR
|
||||||
|
may be fully qualified or relative.
|
||||||
|
If not fully qualified, it is relative to the
|
||||||
|
\fI@PLUGINDIR@\fR
|
||||||
|
directory.
|
||||||
|
In other words:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Plugin sudoers_policy sudoers.so
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
is equivalent to:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Plugin sudoers_policy @PLUGINDIR@/sudoers.so
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
Any additional parameters after the
|
||||||
|
\fIpath\fR
|
||||||
|
are passed as arguments to the plugin's
|
||||||
|
\fIopen\fR
|
||||||
|
function.
|
||||||
|
For example, to override the compile-time default sudoers file mode:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Plugin sudoers_policy sudoers.so sudoers_mode=0440
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
If no
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
file is present, or if it contains no
|
||||||
|
\fRPlugin\fR
|
||||||
|
lines, the
|
||||||
|
\fBsudoers\fR
|
||||||
|
plugin will be used as the default security policy and for I/O logging
|
||||||
|
(if enabled by the policy).
|
||||||
|
This is equivalent to the following:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
For more information on the
|
||||||
|
\fBsudo\fR
|
||||||
|
plugin architecture, see the
|
||||||
|
sudo_plugin(@mansectsu@)
|
||||||
|
manual.
|
||||||
|
.SS "Path settings"
|
||||||
|
A
|
||||||
|
\fRPath\fR
|
||||||
|
line consists of the
|
||||||
|
\fRPath\fR
|
||||||
|
keyword, followed by the name of the path to set and its value.
|
||||||
|
For example:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Path noexec @noexec_file@
|
||||||
|
Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
The following plugin-agnostic paths may be set in the
|
||||||
|
\fI@sysconfdir@/sudo.conf\fR
|
||||||
|
file:
|
||||||
|
.TP 10n
|
||||||
|
askpass
|
||||||
|
The fully qualified path to a helper program used to read the user's
|
||||||
|
password when no terminal is available.
|
||||||
|
This may be the case when
|
||||||
|
\fBsudo\fR
|
||||||
|
is executed from a graphical (as opposed to text-based) application.
|
||||||
|
The program specified by
|
||||||
|
\fIaskpass\fR
|
||||||
|
should display the argument passed to it as the prompt and write
|
||||||
|
the user's password to the standard output.
|
||||||
|
The value of
|
||||||
|
\fIaskpass\fR
|
||||||
|
may be overridden by the
|
||||||
|
\fRSUDO_ASKPASS\fR
|
||||||
|
environment variable.
|
||||||
|
.TP 10n
|
||||||
|
noexec
|
||||||
|
The fully-qualified path to a shared library containing dummy
|
||||||
|
versions of the
|
||||||
|
\fBexecv\fR(),
|
||||||
|
\fBexecve\fR()
|
||||||
|
and
|
||||||
|
\fBfexecve\fR()
|
||||||
|
library functions that just return an error.
|
||||||
|
This is used to implement the
|
||||||
|
\fInoexec\fR
|
||||||
|
functionality on systems that support
|
||||||
|
\fRLD_PRELOAD\fR
|
||||||
|
or its equivalent.
|
||||||
|
The default value is:
|
||||||
|
\fI@noexec_file@\fR.
|
||||||
|
.SS "Other settings"
|
||||||
|
The
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
file also supports the following front end settings:
|
||||||
|
.TP 10n
|
||||||
|
disable_coredump
|
||||||
|
Core dumps of
|
||||||
|
\fBsudo\fR
|
||||||
|
itself are disabled by default.
|
||||||
|
To aid in debugging
|
||||||
|
\fBsudo\fR
|
||||||
|
crashes, you may wish to re-enable core dumps by setting
|
||||||
|
``disable_coredump''
|
||||||
|
to false in
|
||||||
|
\fBsudo.conf\fR
|
||||||
|
as follows:
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Set disable_coredump false
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.sp
|
||||||
|
Note that most operating systems disable core dumps from setuid programs,
|
||||||
|
including
|
||||||
|
\fBsudo\fR.
|
||||||
|
To actually get a
|
||||||
|
\fBsudo\fR
|
||||||
|
core file you will likely need to enable core dumps for setuid processes.
|
||||||
|
On BSD and Linux systems this is accomplished via the
|
||||||
|
sysctl
|
||||||
|
command.
|
||||||
|
On Solaris, the
|
||||||
|
coreadm
|
||||||
|
command is used to configure core dump behavior.
|
||||||
|
.sp
|
||||||
|
This setting is only available in
|
||||||
|
\fBsudo\fR
|
||||||
|
version 1.8.4 and higher.
|
||||||
|
.PP
|
||||||
|
.RE
|
||||||
|
.PD 0
|
||||||
|
.TP 10n
|
||||||
|
group_source
|
||||||
|
\fBsudo\fR
|
||||||
|
passes the invoking user's group list to the policy and I/O plugins.
|
||||||
|
On most systems, there is an upper limit to the number of groups that
|
||||||
|
a user may belong to simultaneously (typically 16 for compatibility
|
||||||
|
with NFS).
|
||||||
|
On systems with the
|
||||||
|
getconf(1)
|
||||||
|
utility, running:
|
||||||
|
.RS 6n
|
||||||
|
getconf NGROUPS_MAX
|
||||||
|
.RE
|
||||||
|
will return the maximum number of groups.
|
||||||
|
.sp
|
||||||
|
However, it is still possible to be a member of a larger number of
|
||||||
|
groups--they simply won't be included in the group list returned
|
||||||
|
by the kernel for the user.
|
||||||
|
Starting with
|
||||||
|
\fBsudo\fR
|
||||||
|
version 1.8.7, if the user's kernel group list has the maximum number
|
||||||
|
of entries,
|
||||||
|
\fBsudo\fR
|
||||||
|
will consult the group database directly to determine the group list.
|
||||||
|
This makes it possible for the security policy to perform matching by group
|
||||||
|
name even when the user is a member of more than the maximum number of groups.
|
||||||
|
.sp
|
||||||
|
The
|
||||||
|
\fIgroup_source\fR
|
||||||
|
setting allows the administrator to change this default behavior.
|
||||||
|
Supported values for
|
||||||
|
\fIgroup_source\fR
|
||||||
|
are:
|
||||||
|
.RS
|
||||||
|
.PD
|
||||||
|
.TP 10n
|
||||||
|
static
|
||||||
|
Use the static group list that the kernel returns.
|
||||||
|
Retrieving the group list this way is very fast but it is subject
|
||||||
|
to an upper limit as described above.
|
||||||
|
It is
|
||||||
|
``static''
|
||||||
|
in that it does not reflect changes to the group database made
|
||||||
|
after the user logs in.
|
||||||
|
This was the default behavior prior to
|
||||||
|
\fBsudo\fR
|
||||||
|
1.8.7.
|
||||||
|
.TP 10n
|
||||||
|
dynamic
|
||||||
|
Always query the group database directly.
|
||||||
|
It is
|
||||||
|
``dynamic''
|
||||||
|
in that changes made to the group database after the user logs in
|
||||||
|
will be reflected in the group list.
|
||||||
|
On some systems, querying the group database for all of a user's
|
||||||
|
groups can be time consuming when querying a network-based group
|
||||||
|
database.
|
||||||
|
Most operating systems provide an efficient method of performing
|
||||||
|
such queries.
|
||||||
|
Currently,
|
||||||
|
\fBsudo\fR
|
||||||
|
supports efficient group queries on AIX, BSD, HP-UX, Linux and
|
||||||
|
Solaris.
|
||||||
|
.TP 10n
|
||||||
|
adaptive
|
||||||
|
Only query the group database if the static group list returned
|
||||||
|
by the kernel has the maximum number of entries.
|
||||||
|
This is the default behavior in
|
||||||
|
\fBsudo\fR
|
||||||
|
1.8.7 and higher.
|
||||||
|
.PP
|
||||||
|
For example, to cause
|
||||||
|
\fBsudo\fR
|
||||||
|
to only use the kernel's static list of groups for the user:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Set group_source static
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.sp
|
||||||
|
This setting is only available in
|
||||||
|
\fBsudo\fR
|
||||||
|
version 1.8.7 and higher.
|
||||||
|
.RE
|
||||||
|
.SS "Debug flags"
|
||||||
|
\fBsudo\fR
|
||||||
|
versions 1.8.4 and higher support a flexible debugging framework
|
||||||
|
that can help track down what
|
||||||
|
\fBsudo\fR
|
||||||
|
is doing internally if there is a problem.
|
||||||
|
.PP
|
||||||
|
A
|
||||||
|
\fRDebug\fR
|
||||||
|
line consists of the
|
||||||
|
\fRDebug\fR
|
||||||
|
keyword, followed by the name of the program (or plugin) to debug
|
||||||
|
(\fBsudo\fR, \fBvisudo\fR, \fBsudoreplay\fR, \fBsudoers\fR),
|
||||||
|
the debug file name and a comma-separated list of debug flags.
|
||||||
|
The debug flag syntax used by
|
||||||
|
\fBsudo\fR
|
||||||
|
and the
|
||||||
|
\fBsudoers\fR
|
||||||
|
plugin is
|
||||||
|
\fIsubsystem\fR@\fIpriority\fR
|
||||||
|
but a plugin is free to use a different format so long as it does
|
||||||
|
not include a comma
|
||||||
|
(`\&,').
|
||||||
|
.PP
|
||||||
|
For example:
|
||||||
|
.nf
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Debug sudo /var/log/sudo_debug all@warn,plugin@info
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
would log all debugging statements at the
|
||||||
|
\fIwarn\fR
|
||||||
|
level and higher in addition to those at the
|
||||||
|
\fIinfo\fR
|
||||||
|
level for the plugin subsystem.
|
||||||
|
.PP
|
||||||
|
Currently, only one
|
||||||
|
\fRDebug\fR
|
||||||
|
entry per program is supported.
|
||||||
|
The
|
||||||
|
\fBsudo\fR
|
||||||
|
\fRDebug\fR
|
||||||
|
entry is shared by the
|
||||||
|
\fBsudo\fR
|
||||||
|
front end,
|
||||||
|
\fBsudoedit\fR
|
||||||
|
and the plugins.
|
||||||
|
A future release may add support for per-plugin
|
||||||
|
\fRDebug\fR
|
||||||
|
lines and/or support for multiple debugging files for a single
|
||||||
|
program.
|
||||||
|
.PP
|
||||||
|
The priorities used by the
|
||||||
|
\fBsudo\fR
|
||||||
|
front end, in order of decreasing severity, are:
|
||||||
|
\fIcrit\fR, \fIerr\fR, \fIwarn\fR, \fInotice\fR, \fIdiag\fR, \fIinfo\fR, \fItrace\fR
|
||||||
|
and
|
||||||
|
\fIdebug\fR.
|
||||||
|
Each priority, when specified, also includes all priorities higher
|
||||||
|
than it.
|
||||||
|
For example, a priority of
|
||||||
|
\fInotice\fR
|
||||||
|
would include debug messages logged at
|
||||||
|
\fInotice\fR
|
||||||
|
and higher.
|
||||||
|
.PP
|
||||||
|
The following subsystems are used by the
|
||||||
|
\fBsudo\fR
|
||||||
|
front-end:
|
||||||
|
.TP 12n
|
||||||
|
\fIall\fR
|
||||||
|
matches every subsystem
|
||||||
|
.TP 12n
|
||||||
|
\fIargs\fR
|
||||||
|
command line argument processing
|
||||||
|
.TP 12n
|
||||||
|
\fIconv\fR
|
||||||
|
user conversation
|
||||||
|
.TP 12n
|
||||||
|
\fIedit\fR
|
||||||
|
sudoedit
|
||||||
|
.TP 12n
|
||||||
|
\fIexec\fR
|
||||||
|
command execution
|
||||||
|
.TP 12n
|
||||||
|
\fImain\fR
|
||||||
|
\fBsudo\fR
|
||||||
|
main function
|
||||||
|
.TP 12n
|
||||||
|
\fInetif\fR
|
||||||
|
network interface handling
|
||||||
|
.TP 12n
|
||||||
|
\fIpcomm\fR
|
||||||
|
communication with the plugin
|
||||||
|
.TP 12n
|
||||||
|
\fIplugin\fR
|
||||||
|
plugin configuration
|
||||||
|
.TP 12n
|
||||||
|
\fIpty\fR
|
||||||
|
pseudo-tty related code
|
||||||
|
.TP 12n
|
||||||
|
\fIselinux\fR
|
||||||
|
SELinux-specific handling
|
||||||
|
.TP 12n
|
||||||
|
\fIutil\fR
|
||||||
|
utility functions
|
||||||
|
.TP 12n
|
||||||
|
\fIutmp\fR
|
||||||
|
utmp handling
|
||||||
|
.SH "FILES"
|
||||||
|
.TP 26n
|
||||||
|
\fI@sysconfdir@/sudo.conf\fR
|
||||||
|
\fBsudo\fR
|
||||||
|
front end configuration
|
||||||
|
.SH "EXAMPLES"
|
||||||
|
.nf
|
||||||
|
.RS 0n
|
||||||
|
#
|
||||||
|
# Default @sysconfdir@/sudo.conf file
|
||||||
|
#
|
||||||
|
# Format:
|
||||||
|
# Plugin plugin_name plugin_path plugin_options ...
|
||||||
|
# Path askpass /path/to/askpass
|
||||||
|
# Path noexec /path/to/sudo_noexec.so
|
||||||
|
# Debug sudo /var/log/sudo_debug all@warn
|
||||||
|
# Set disable_coredump true
|
||||||
|
#
|
||||||
|
# The plugin_path is relative to @PLUGINDIR@ unless
|
||||||
|
# fully qualified.
|
||||||
|
# The plugin_name corresponds to a global symbol in the plugin
|
||||||
|
# that contains the plugin interface structure.
|
||||||
|
# The plugin_options are optional.
|
||||||
|
#
|
||||||
|
# The sudoers plugin is used by default if no Plugin lines are
|
||||||
|
# present.
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo askpass:
|
||||||
|
#
|
||||||
|
# An askpass helper program may be specified to provide a graphical
|
||||||
|
# password prompt for "sudo -A" support. Sudo does not ship with
|
||||||
|
# its own askpass program but can use the OpenSSH askpass.
|
||||||
|
#
|
||||||
|
# Use the OpenSSH askpass
|
||||||
|
#Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
#
|
||||||
|
# Use the Gnome OpenSSH askpass
|
||||||
|
#Path askpass /usr/libexec/openssh/gnome-ssh-askpass
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo noexec:
|
||||||
|
#
|
||||||
|
# Path to a shared library containing dummy versions of the execv(),
|
||||||
|
# execve() and fexecve() library functions that just return an error.
|
||||||
|
# This is used to implement the "noexec" functionality on systems that
|
||||||
|
# support C<LD_PRELOAD> or its equivalent.
|
||||||
|
# The compiled-in value is usually sufficient and should only be
|
||||||
|
# changed if you rename or move the sudo_noexec.so file.
|
||||||
|
#
|
||||||
|
#Path noexec @noexec_file@
|
||||||
|
|
||||||
|
#
|
||||||
|
# Core dumps:
|
||||||
|
#
|
||||||
|
# By default, sudo disables core dumps while it is executing
|
||||||
|
# (they are re-enabled for the command that is run).
|
||||||
|
# To aid in debugging sudo problems, you may wish to enable core
|
||||||
|
# dumps by setting "disable_coredump" to false.
|
||||||
|
#
|
||||||
|
#Set disable_coredump false
|
||||||
|
|
||||||
|
#
|
||||||
|
# User groups:
|
||||||
|
#
|
||||||
|
# Sudo passes the user's group list to the policy plugin.
|
||||||
|
# If the user is a member of the maximum number of groups (usually 16),
|
||||||
|
# sudo will query the group database directly to be sure to include
|
||||||
|
# the full list of groups.
|
||||||
|
#
|
||||||
|
# On some systems, this can be expensive so the behavior is configurable.
|
||||||
|
# The "group_source" setting has three possible values:
|
||||||
|
# static - use the user's list of groups returned by the kernel.
|
||||||
|
# dynamic - query the group database to find the list of groups.
|
||||||
|
# adaptive - if user is in less than the maximum number of groups.
|
||||||
|
# use the kernel list, else query the group database.
|
||||||
|
#
|
||||||
|
#Set group_source static
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
sudoers(@mansectform@),
|
||||||
|
sudo(@mansectsu@),
|
||||||
|
sudo_plugin(@mansectsu@),
|
||||||
|
.SH "HISTORY"
|
||||||
|
See the HISTORY file in the
|
||||||
|
\fBsudo\fR
|
||||||
|
distribution (http://www.sudo.ws/sudo/history.html) for a brief
|
||||||
|
history of sudo.
|
||||||
|
.SH "AUTHORS"
|
||||||
|
Many people have worked on
|
||||||
|
\fBsudo\fR
|
||||||
|
over the years; this version consists of code written primarily by:
|
||||||
|
.sp
|
||||||
|
.RS 6n
|
||||||
|
Todd C. Miller
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
See the CONTRIBUTORS file in the
|
||||||
|
\fBsudo\fR
|
||||||
|
distribution (http://www.sudo.ws/sudo/contributors.html) for an
|
||||||
|
exhaustive list of people who have contributed to
|
||||||
|
\fBsudo\fR.
|
||||||
|
.SH "BUGS"
|
||||||
|
If you feel you have found a bug in
|
||||||
|
\fBsudo\fR,
|
||||||
|
please submit a bug report at http://www.sudo.ws/sudo/bugs/
|
||||||
|
.SH "SUPPORT"
|
||||||
|
Limited free support is available via the sudo-users mailing list,
|
||||||
|
see http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or
|
||||||
|
search the archives.
|
||||||
|
.SH "DISCLAIMER"
|
||||||
|
\fBsudo\fR
|
||||||
|
is provided
|
||||||
|
``AS IS''
|
||||||
|
and any express or implied warranties, including, but not limited
|
||||||
|
to, the implied warranties of merchantability and fitness for a
|
||||||
|
particular purpose are disclaimed.
|
||||||
|
See the LICENSE file distributed with
|
||||||
|
\fBsudo\fR
|
||||||
|
or http://www.sudo.ws/sudo/license.html for complete details.
|
522
doc/sudo.conf.mdoc.in
Normal file
522
doc/sudo.conf.mdoc.in
Normal file
@@ -0,0 +1,522 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
.\"
|
||||||
|
.Dd February 5, 2013
|
||||||
|
.Dt SUDO @mansectform@
|
||||||
|
.Os Sudo @PACKAGE_VERSION@
|
||||||
|
.Sh NAME
|
||||||
|
.Nm sudo.conf
|
||||||
|
.Nd configuration for sudo front end
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm sudo.conf
|
||||||
|
file is used to configure the
|
||||||
|
.Nm sudo
|
||||||
|
front end.
|
||||||
|
It specifies the security policy and I/O logging plugins, debug flags
|
||||||
|
as well as plugin-agnostic path names and settings.
|
||||||
|
.Pp
|
||||||
|
The
|
||||||
|
.Nm sudo.conf
|
||||||
|
file supports the following directives, described in detail below.
|
||||||
|
.Bl -tag -width 8n
|
||||||
|
.It Plugin
|
||||||
|
a security policy or I/O logging plugin
|
||||||
|
.It Path
|
||||||
|
a plugin-agnostic path
|
||||||
|
.It Set
|
||||||
|
a front end setting, such as
|
||||||
|
.Em disable_coredump
|
||||||
|
or
|
||||||
|
.Em group_source
|
||||||
|
.It Debug
|
||||||
|
debug flags to aid in debugging
|
||||||
|
.Nm sudo ,
|
||||||
|
.Nm sudoreplay ,
|
||||||
|
.Nm visudo ,
|
||||||
|
and the
|
||||||
|
.Nm sudoers
|
||||||
|
plugin.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
The pound sign
|
||||||
|
.Pq Ql #
|
||||||
|
is used to indicate a comment.
|
||||||
|
Both the comment character and any text after it, up to the end of
|
||||||
|
the line, are ignored.
|
||||||
|
.Pp
|
||||||
|
Non-comment lines that don't begin with
|
||||||
|
.Li Plugin ,
|
||||||
|
.Li Path ,
|
||||||
|
.Li Debug ,
|
||||||
|
or
|
||||||
|
.Li Set
|
||||||
|
are silently ignored.
|
||||||
|
.Pp
|
||||||
|
The
|
||||||
|
.Nm sudo.conf
|
||||||
|
file is always parsed in the
|
||||||
|
.Dq Li C
|
||||||
|
locale.
|
||||||
|
.Ss Plugin configuration
|
||||||
|
.Nm sudo
|
||||||
|
supports a plugin architecture for security policies and input/output
|
||||||
|
logging.
|
||||||
|
Third parties can develop and distribute their own policy and I/O
|
||||||
|
logging plugins to work seamlessly with the
|
||||||
|
.Nm sudo
|
||||||
|
front end.
|
||||||
|
Plugins are dynamically loaded based on the contents of
|
||||||
|
.Nm sudo.conf .
|
||||||
|
.Pp
|
||||||
|
A
|
||||||
|
.Li Plugin
|
||||||
|
line consists of the
|
||||||
|
.Li Plugin
|
||||||
|
keyword, followed by the
|
||||||
|
.Em symbol_name
|
||||||
|
and the
|
||||||
|
.Em path
|
||||||
|
to the shared object containing the plugin.
|
||||||
|
The
|
||||||
|
.Em symbol_name
|
||||||
|
is the name of the
|
||||||
|
.Li struct policy_plugin
|
||||||
|
or
|
||||||
|
.Li struct io_plugin
|
||||||
|
in the plugin shared object.
|
||||||
|
The
|
||||||
|
.Em path
|
||||||
|
may be fully qualified or relative.
|
||||||
|
If not fully qualified, it is relative to the
|
||||||
|
.Pa @PLUGINDIR@
|
||||||
|
directory.
|
||||||
|
In other words:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Plugin sudoers_policy sudoers.so
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
is equivalent to:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Plugin sudoers_policy @PLUGINDIR@/sudoers.so
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
Any additional parameters after the
|
||||||
|
.Em path
|
||||||
|
are passed as arguments to the plugin's
|
||||||
|
.Em open
|
||||||
|
function.
|
||||||
|
For example, to override the compile-time default sudoers file mode:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Plugin sudoers_policy sudoers.so sudoers_mode=0440
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
If no
|
||||||
|
.Nm sudo.conf
|
||||||
|
file is present, or if it contains no
|
||||||
|
.Li Plugin
|
||||||
|
lines, the
|
||||||
|
.Nm sudoers
|
||||||
|
plugin will be used as the default security policy and for I/O logging
|
||||||
|
(if enabled by the policy).
|
||||||
|
This is equivalent to the following:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
For more information on the
|
||||||
|
.Nm sudo
|
||||||
|
plugin architecture, see the
|
||||||
|
.Xr sudo_plugin @mansectsu@
|
||||||
|
manual.
|
||||||
|
.Ss Path settings
|
||||||
|
A
|
||||||
|
.Li Path
|
||||||
|
line consists of the
|
||||||
|
.Li Path
|
||||||
|
keyword, followed by the name of the path to set and its value.
|
||||||
|
For example:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Path noexec @noexec_file@
|
||||||
|
Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
The following plugin-agnostic paths may be set in the
|
||||||
|
.Pa @sysconfdir@/sudo.conf
|
||||||
|
file:
|
||||||
|
.Bl -tag -width 8n
|
||||||
|
.It askpass
|
||||||
|
The fully qualified path to a helper program used to read the user's
|
||||||
|
password when no terminal is available.
|
||||||
|
This may be the case when
|
||||||
|
.Nm sudo
|
||||||
|
is executed from a graphical (as opposed to text-based) application.
|
||||||
|
The program specified by
|
||||||
|
.Em askpass
|
||||||
|
should display the argument passed to it as the prompt and write
|
||||||
|
the user's password to the standard output.
|
||||||
|
The value of
|
||||||
|
.Em askpass
|
||||||
|
may be overridden by the
|
||||||
|
.Ev SUDO_ASKPASS
|
||||||
|
environment variable.
|
||||||
|
.It noexec
|
||||||
|
The fully-qualified path to a shared library containing dummy
|
||||||
|
versions of the
|
||||||
|
.Fn execv ,
|
||||||
|
.Fn execve
|
||||||
|
and
|
||||||
|
.Fn fexecve
|
||||||
|
library functions that just return an error.
|
||||||
|
This is used to implement the
|
||||||
|
.Em noexec
|
||||||
|
functionality on systems that support
|
||||||
|
.Ev LD_PRELOAD
|
||||||
|
or its equivalent.
|
||||||
|
The default value is:
|
||||||
|
.Pa @noexec_file@ .
|
||||||
|
.El
|
||||||
|
.Ss Other settings
|
||||||
|
The
|
||||||
|
.Nm sudo.conf
|
||||||
|
file also supports the following front end settings:
|
||||||
|
.Bl -tag -width 8n
|
||||||
|
.It disable_coredump
|
||||||
|
Core dumps of
|
||||||
|
.Nm sudo
|
||||||
|
itself are disabled by default.
|
||||||
|
To aid in debugging
|
||||||
|
.Nm sudo
|
||||||
|
crashes, you may wish to re-enable core dumps by setting
|
||||||
|
.Dq disable_coredump
|
||||||
|
to false in
|
||||||
|
.Nm sudo.conf
|
||||||
|
as follows:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Set disable_coredump false
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
Note that most operating systems disable core dumps from setuid programs,
|
||||||
|
including
|
||||||
|
.Nm sudo .
|
||||||
|
To actually get a
|
||||||
|
.Nm sudo
|
||||||
|
core file you will likely need to enable core dumps for setuid processes.
|
||||||
|
On BSD and Linux systems this is accomplished via the
|
||||||
|
.Xr sysctl
|
||||||
|
command.
|
||||||
|
On Solaris, the
|
||||||
|
.Xr coreadm
|
||||||
|
command is used to configure core dump behavior.
|
||||||
|
.Pp
|
||||||
|
This setting is only available in
|
||||||
|
.Nm sudo
|
||||||
|
version 1.8.4 and higher.
|
||||||
|
.It group_source
|
||||||
|
.Nm sudo
|
||||||
|
passes the invoking user's group list to the policy and I/O plugins.
|
||||||
|
On most systems, there is an upper limit to the number of groups that
|
||||||
|
a user may belong to simultaneously (typically 16 for compatibility
|
||||||
|
with NFS).
|
||||||
|
On systems with the
|
||||||
|
.Xr getconf 1
|
||||||
|
utility, running:
|
||||||
|
.Dl getconf NGROUPS_MAX
|
||||||
|
will return the maximum number of groups.
|
||||||
|
.Pp
|
||||||
|
However, it is still possible to be a member of a larger number of
|
||||||
|
groups--they simply won't be included in the group list returned
|
||||||
|
by the kernel for the user.
|
||||||
|
Starting with
|
||||||
|
.Nm sudo
|
||||||
|
version 1.8.7, if the user's kernel group list has the maximum number
|
||||||
|
of entries,
|
||||||
|
.Nm sudo
|
||||||
|
will consult the group database directly to determine the group list.
|
||||||
|
This makes it possible for the security policy to perform matching by group
|
||||||
|
name even when the user is a member of more than the maximum number of groups.
|
||||||
|
.Pp
|
||||||
|
The
|
||||||
|
.Em group_source
|
||||||
|
setting allows the administrator to change this default behavior.
|
||||||
|
Supported values for
|
||||||
|
.Em group_source
|
||||||
|
are:
|
||||||
|
.Bl -tag -width 8n
|
||||||
|
.It static
|
||||||
|
Use the static group list that the kernel returns.
|
||||||
|
Retrieving the group list this way is very fast but it is subject
|
||||||
|
to an upper limit as described above.
|
||||||
|
It is
|
||||||
|
.Dq static
|
||||||
|
in that it does not reflect changes to the group database made
|
||||||
|
after the user logs in.
|
||||||
|
This was the default behavior prior to
|
||||||
|
.Nm sudo
|
||||||
|
1.8.7.
|
||||||
|
.It dynamic
|
||||||
|
Always query the group database directly.
|
||||||
|
It is
|
||||||
|
.Dq dynamic
|
||||||
|
in that changes made to the group database after the user logs in
|
||||||
|
will be reflected in the group list.
|
||||||
|
On some systems, querying the group database for all of a user's
|
||||||
|
groups can be time consuming when querying a network-based group
|
||||||
|
database.
|
||||||
|
Most operating systems provide an efficient method of performing
|
||||||
|
such queries.
|
||||||
|
Currently,
|
||||||
|
.Nm sudo
|
||||||
|
supports efficient group queries on AIX, BSD, HP-UX, Linux and
|
||||||
|
Solaris.
|
||||||
|
.It adaptive
|
||||||
|
Only query the group database if the static group list returned
|
||||||
|
by the kernel has the maximum number of entries.
|
||||||
|
This is the default behavior in
|
||||||
|
.Nm sudo
|
||||||
|
1.8.7 and higher.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
For example, to cause
|
||||||
|
.Nm sudo
|
||||||
|
to only use the kernel's static list of groups for the user:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Set group_source static
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
This setting is only available in
|
||||||
|
.Nm sudo
|
||||||
|
version 1.8.7 and higher.
|
||||||
|
.El
|
||||||
|
.Ss Debug flags
|
||||||
|
.Nm sudo
|
||||||
|
versions 1.8.4 and higher support a flexible debugging framework
|
||||||
|
that can help track down what
|
||||||
|
.Nm sudo
|
||||||
|
is doing internally if there is a problem.
|
||||||
|
.Pp
|
||||||
|
A
|
||||||
|
.Li Debug
|
||||||
|
line consists of the
|
||||||
|
.Li Debug
|
||||||
|
keyword, followed by the name of the program (or plugin) to debug
|
||||||
|
.Pq Nm sudo , Nm visudo , Nm sudoreplay , Nm sudoers ,
|
||||||
|
the debug file name and a comma-separated list of debug flags.
|
||||||
|
The debug flag syntax used by
|
||||||
|
.Nm sudo
|
||||||
|
and the
|
||||||
|
.Nm sudoers
|
||||||
|
plugin is
|
||||||
|
.Em subsystem Ns No @ Ns Em priority
|
||||||
|
but a plugin is free to use a different format so long as it does
|
||||||
|
not include a comma
|
||||||
|
.Pq Ql \&, .
|
||||||
|
.Pp
|
||||||
|
For example:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
Debug sudo /var/log/sudo_debug all@warn,plugin@info
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
would log all debugging statements at the
|
||||||
|
.Em warn
|
||||||
|
level and higher in addition to those at the
|
||||||
|
.Em info
|
||||||
|
level for the plugin subsystem.
|
||||||
|
.Pp
|
||||||
|
Currently, only one
|
||||||
|
.Li Debug
|
||||||
|
entry per program is supported.
|
||||||
|
The
|
||||||
|
.Nm sudo
|
||||||
|
.Li Debug
|
||||||
|
entry is shared by the
|
||||||
|
.Nm sudo
|
||||||
|
front end,
|
||||||
|
.Nm sudoedit
|
||||||
|
and the plugins.
|
||||||
|
A future release may add support for per-plugin
|
||||||
|
.Li Debug
|
||||||
|
lines and/or support for multiple debugging files for a single
|
||||||
|
program.
|
||||||
|
.Pp
|
||||||
|
The priorities used by the
|
||||||
|
.Nm sudo
|
||||||
|
front end, in order of decreasing severity, are:
|
||||||
|
.Em crit , err , warn , notice , diag , info , trace
|
||||||
|
and
|
||||||
|
.Em debug .
|
||||||
|
Each priority, when specified, also includes all priorities higher
|
||||||
|
than it.
|
||||||
|
For example, a priority of
|
||||||
|
.Em notice
|
||||||
|
would include debug messages logged at
|
||||||
|
.Em notice
|
||||||
|
and higher.
|
||||||
|
.Pp
|
||||||
|
The following subsystems are used by the
|
||||||
|
.Nm sudo
|
||||||
|
front-end:
|
||||||
|
.Bl -tag -width Fl
|
||||||
|
.It Em all
|
||||||
|
matches every subsystem
|
||||||
|
.It Em args
|
||||||
|
command line argument processing
|
||||||
|
.It Em conv
|
||||||
|
user conversation
|
||||||
|
.It Em edit
|
||||||
|
sudoedit
|
||||||
|
.It Em exec
|
||||||
|
command execution
|
||||||
|
.It Em main
|
||||||
|
.Nm sudo
|
||||||
|
main function
|
||||||
|
.It Em netif
|
||||||
|
network interface handling
|
||||||
|
.It Em pcomm
|
||||||
|
communication with the plugin
|
||||||
|
.It Em plugin
|
||||||
|
plugin configuration
|
||||||
|
.It Em pty
|
||||||
|
pseudo-tty related code
|
||||||
|
.It Em selinux
|
||||||
|
SELinux-specific handling
|
||||||
|
.It Em util
|
||||||
|
utility functions
|
||||||
|
.It Em utmp
|
||||||
|
utmp handling
|
||||||
|
.El
|
||||||
|
.Sh FILES
|
||||||
|
.Bl -tag -width 24n
|
||||||
|
.It Pa @sysconfdir@/sudo.conf
|
||||||
|
.Nm sudo
|
||||||
|
front end configuration
|
||||||
|
.El
|
||||||
|
.Sh EXAMPLES
|
||||||
|
.Bd -literal
|
||||||
|
#
|
||||||
|
# Default @sysconfdir@/sudo.conf file
|
||||||
|
#
|
||||||
|
# Format:
|
||||||
|
# Plugin plugin_name plugin_path plugin_options ...
|
||||||
|
# Path askpass /path/to/askpass
|
||||||
|
# Path noexec /path/to/sudo_noexec.so
|
||||||
|
# Debug sudo /var/log/sudo_debug all@warn
|
||||||
|
# Set disable_coredump true
|
||||||
|
#
|
||||||
|
# The plugin_path is relative to @PLUGINDIR@ unless
|
||||||
|
# fully qualified.
|
||||||
|
# The plugin_name corresponds to a global symbol in the plugin
|
||||||
|
# that contains the plugin interface structure.
|
||||||
|
# The plugin_options are optional.
|
||||||
|
#
|
||||||
|
# The sudoers plugin is used by default if no Plugin lines are
|
||||||
|
# present.
|
||||||
|
Plugin policy_plugin sudoers.so
|
||||||
|
Plugin io_plugin sudoers.so
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo askpass:
|
||||||
|
#
|
||||||
|
# An askpass helper program may be specified to provide a graphical
|
||||||
|
# password prompt for "sudo -A" support. Sudo does not ship with
|
||||||
|
# its own askpass program but can use the OpenSSH askpass.
|
||||||
|
#
|
||||||
|
# Use the OpenSSH askpass
|
||||||
|
#Path askpass /usr/X11R6/bin/ssh-askpass
|
||||||
|
#
|
||||||
|
# Use the Gnome OpenSSH askpass
|
||||||
|
#Path askpass /usr/libexec/openssh/gnome-ssh-askpass
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sudo noexec:
|
||||||
|
#
|
||||||
|
# Path to a shared library containing dummy versions of the execv(),
|
||||||
|
# execve() and fexecve() library functions that just return an error.
|
||||||
|
# This is used to implement the "noexec" functionality on systems that
|
||||||
|
# support C<LD_PRELOAD> or its equivalent.
|
||||||
|
# The compiled-in value is usually sufficient and should only be
|
||||||
|
# changed if you rename or move the sudo_noexec.so file.
|
||||||
|
#
|
||||||
|
#Path noexec @noexec_file@
|
||||||
|
|
||||||
|
#
|
||||||
|
# Core dumps:
|
||||||
|
#
|
||||||
|
# By default, sudo disables core dumps while it is executing
|
||||||
|
# (they are re-enabled for the command that is run).
|
||||||
|
# To aid in debugging sudo problems, you may wish to enable core
|
||||||
|
# dumps by setting "disable_coredump" to false.
|
||||||
|
#
|
||||||
|
#Set disable_coredump false
|
||||||
|
|
||||||
|
#
|
||||||
|
# User groups:
|
||||||
|
#
|
||||||
|
# Sudo passes the user's group list to the policy plugin.
|
||||||
|
# If the user is a member of the maximum number of groups (usually 16),
|
||||||
|
# sudo will query the group database directly to be sure to include
|
||||||
|
# the full list of groups.
|
||||||
|
#
|
||||||
|
# On some systems, this can be expensive so the behavior is configurable.
|
||||||
|
# The "group_source" setting has three possible values:
|
||||||
|
# static - use the user's list of groups returned by the kernel.
|
||||||
|
# dynamic - query the group database to find the list of groups.
|
||||||
|
# adaptive - if user is in less than the maximum number of groups.
|
||||||
|
# use the kernel list, else query the group database.
|
||||||
|
#
|
||||||
|
#Set group_source static
|
||||||
|
.Ed
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr sudoers @mansectform@ ,
|
||||||
|
.Xr sudo @mansectsu@ ,
|
||||||
|
.Xr sudo_plugin @mansectsu@
|
||||||
|
.Sh HISTORY
|
||||||
|
See the HISTORY file in the
|
||||||
|
.Nm sudo
|
||||||
|
distribution (http://www.sudo.ws/sudo/history.html) for a brief
|
||||||
|
history of sudo.
|
||||||
|
.Sh AUTHORS
|
||||||
|
Many people have worked on
|
||||||
|
.Nm sudo
|
||||||
|
over the years; this version consists of code written primarily by:
|
||||||
|
.Bd -ragged -offset indent
|
||||||
|
Todd C. Miller
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
See the CONTRIBUTORS file in the
|
||||||
|
.Nm sudo
|
||||||
|
distribution (http://www.sudo.ws/sudo/contributors.html) for an
|
||||||
|
exhaustive list of people who have contributed to
|
||||||
|
.Nm sudo .
|
||||||
|
.Sh BUGS
|
||||||
|
If you feel you have found a bug in
|
||||||
|
.Nm sudo ,
|
||||||
|
please submit a bug report at http://www.sudo.ws/sudo/bugs/
|
||||||
|
.Sh SUPPORT
|
||||||
|
Limited free support is available via the sudo-users mailing list,
|
||||||
|
see http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or
|
||||||
|
search the archives.
|
||||||
|
.Sh DISCLAIMER
|
||||||
|
.Nm sudo
|
||||||
|
is provided
|
||||||
|
.Dq AS IS
|
||||||
|
and any express or implied warranties, including, but not limited
|
||||||
|
to, the implied warranties of merchantability and fitness for a
|
||||||
|
particular purpose are disclaimed.
|
||||||
|
See the LICENSE file distributed with
|
||||||
|
.Nm sudo
|
||||||
|
or http://www.sudo.ws/sudo/license.html for complete details.
|
Reference in New Issue
Block a user