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

    1: Sudo installation instructions
    2: ==============================
    3: 
    4: Sudo uses a `configure' script to probe the capabilities and type
    5: of the system in question.  In this release, `configure' takes many
    6: more options than it did before.  Please read this document fully
    7: before configuring and building sudo.  You may also wish to read the
    8: file INSTALL.configure which explains more about the `configure' script.
    9: 
   10: System requirements
   11: ===================
   12: 
   13: To build sudo from the source distribution you need a POSIX-compliant
   14: operating system (any modern version of BSD, Linux or Unix should work),
   15: an ANSI/ISO C compiler that supports the "long long" type, variadic
   16: macros (a C99 feature) as well as the ar, make and ranlib utilities.
   17: 
   18: If you wish to modify the parser then you will need flex version
   19: 2.5.2 or later and either bison or byacc (sudo comes with a
   20: pre-generated parser).  You'll also have to run configure with the
   21: --with-devel option or pass DEVEL=1 to make.  You can get flex from
   22: http://flex.sourceforge.net/.  You can get GNU bison from
   23: ftp://ftp.gnu.org/pub/gnu/bison/ or any GNU mirror.
   24: 
   25: Simple sudo installation
   26: ========================
   27: 
   28: For most systems and configurations it is possible simply to:
   29: 
   30:     0) If you are upgrading from a previous version of sudo
   31:        please read the info in the UPGRADE file before proceeding.
   32: 
   33:     1) Read the `OS dependent notes' section for any particular
   34:        "gotchas" relating to your operating system.
   35: 
   36:     2) `cd' to the source or build directory and type `./configure'
   37:        to generate a Makefile and config.h file suitable for building
   38:        sudo.  Before you actually run configure you should read the
   39:        `Available configure options' section to see if there are
   40:        any special options you may want or need.
   41: 
   42:     4) Type `make' to compile sudo.  If you are building sudo
   43:        in a separate build tree (apart from the sudo source) GNU
   44:        make will probably be required.  If `configure' did its job
   45:        properly (and you have a supported configuration) there won't
   46:        be any problems.  If this doesn't work, take a look at the
   47:        doc/TROUBLESHOOTING file for tips on what might have gone
   48:        wrong.  Please mail us if you have a fix or if you are unable
   49:        to come up with a fix (address at EOF).
   50: 
   51:     5) Type `make install' (as root) to install sudo, visudo, the
   52:        man pages, and a skeleton sudoers file.  Note that the install
   53:        will not overwrite an existing sudoers file.  You can also
   54:        install various pieces the package via the install-binaries,
   55:        install-doc, and install-sudoers make targets.
   56: 
   57:     6) Edit the sudoers file with `visudo' as necessary for your
   58:        site.  You will probably want to refer the sample.sudoers
   59:        file and sudoers man page included with the sudo package.
   60: 
   61:     7) If you want to use syslogd(8) to do the logging, you'll need
   62:        to update your /etc/syslog.conf file.  See the sample.syslog.conf
   63:        file included in the distribution for an example.
   64: 
   65: Available configure options
   66: ===========================
   67: 
   68: This section describes flags accepted by the sudo's `configure' script.
   69: Defaults are listed in brackets after the description.
   70: 
   71: Configuration:
   72:   --cache-file=FILE
   73: 	Cache test results in FILE
   74: 
   75:   --config-cache, -C
   76: 	Alias for `--cache-file=config.cache'
   77: 
   78:   --help, -h
   79: 	Print the usage/help info
   80: 
   81:   --no-create, -n
   82: 	Do not create output files
   83: 
   84:   --quiet, --silent, -q
   85: 	Do not print `checking...' messages
   86: 
   87:   --srcdir=DIR
   88: 	Find the sources in DIR [configure dir or `..']
   89: 
   90: Directory and file names:
   91:   --prefix=PREFIX
   92: 	Install architecture-independent files in PREFIX.  [/usr/local]
   93: 
   94:   --exec-prefix=EPREFIX
   95:         Install architecture-dependent files in EPREFIX.
   96: 	This includes the executables and plugins.  [same as PREFIX]
   97: 
   98:   --bindir=DIR
   99: 	Install `sudo', `sudoedit' and `sudoreplay' in DIR. [EPREFIX/bin]
  100: 
  101:   --sbindir=DIR
  102: 	Install `visudo' in DIR. [EPREFIX/sbin]
  103: 
  104:   --libexecdir=DIR
  105: 	Install plugins and helper programs in DIR/sudo [PREFIX/libexec/sudo]
  106: 
  107:   --sysconfdir=DIR
  108: 	Look for `sudo.conf' and `sudoers' files in DIR. [/etc]
  109: 
  110:   --includedir=DIR
  111: 	Install sudo_plugin.h include file in DIR [PREFIX/include]
  112: 
  113:   --datarootdir=DIR
  114: 	Root directory for platform-independent data files [PREFIX/share]
  115: 
  116:   --localedir=DIR
  117: 	Install sudo and sudoers locale files in DIR [DATAROOTDIR/locale]
  118: 
  119:   --mandir=DIR
  120: 	Install man pages in DIR [PREFIX/man]
  121: 
  122:   --docdir=DIR
  123: 	Install other sudo documentation in DIR [DATAROOTDIR/doc/sudo]
  124: 
  125:   --with-plugindir=PATH
  126: 	Set the directory that sudo looks in to find the policy and I/O
  127: 	logging plugins.  Defaults to the LIBEXEC/sudo.
  128: 
  129:   --with-timedir=PATH
  130:         Use PATH to store the sudo time stamp files.  By default,
  131:         the first existing directory in the following list is used:
  132:         /var/db, /var/lib, /var/adm, /usr/adm.
  133: 
  134: Compilation options:
  135:   --disable-hardening
  136: 	Disable the use of compiler/linker exploit mitigation options
  137: 	which are enabled by default.  This includes compiling with
  138: 	_FORTIFY_SOURCE defined to 2, building with -fstack-protector
  139: 	and linking with -zrelro, where supported.
  140: 
  141:   --enable-pie
  142:         Build sudo and related programs as as a position independent
  143:         executables (PIE).  This improves the effectiveness of address
  144: 	space layout randomization (ASLR) on systems that support it.
  145: 	Sudo will create PIE binaries by default on Linux systems.
  146: 
  147:   --disable-pie
  148:         Disable the creation of position independent executables (PIE),
  149:         even if the compiler creates PIE binaries by default.  This
  150:         option may be needed on some Linux systems where PIE binaries
  151:         are not fully supported.
  152: 
  153:   --disable-rpath
  154:         By default, configure will use -Rpath in addition to -Lpath
  155:         when passing library paths to the loader.  This option will
  156:         disable the use of -Rpath.
  157: 
  158:   --disable-shared
  159:         Disable dynamic shared object support.  By default, sudo
  160:         is built with a plugin API capable of loading arbitrary
  161:         policy and I/O logging plugins.  If the --disable-shared
  162:         option is specified, this support is disabled and the default
  163:         sudoers policy and I/O plugins are embedded in the sudo
  164:         binary itself.  This will also disable the noexec option
  165:         as it too relies on dynamic shared object support.
  166: 
  167:   --enable-zlib[=location]
  168: 	Enable the use of the zlib compress library when storing
  169: 	I/O log files.  If specified, location is the base directory
  170: 	containing the zlib include and lib directories.  The special
  171: 	values "system" and "builtin" can be used to indicate that
  172: 	the system version of zlib should be used or that the version
  173: 	of zlib shipped with sudo should be used instead.
  174: 	If this option is not specified, configure will use the
  175: 	system zlib if it is present.
  176: 
  177:   --with-incpath=DIR
  178: 	Adds the specified directory (or directories) to CPPFLAGS
  179: 	so configure and the compiler will look there for include
  180: 	files.  Multiple directories may be specified as long as
  181: 	they are space separated.
  182: 	E.g. --with-incpath="/usr/local/include /opt/include"
  183: 
  184:   --with-libpath=DIR
  185: 	Adds the specified directory (or directories) to LDFLAGS
  186: 	so configure and the compiler will look there for libraries.
  187: 	Multiple directories may be specified as with --with-incpath.
  188: 
  189:   --with-libraries=LIBRARY
  190: 	Adds the specified library (or libraries) to SUDO_LIBS and
  191: 	and VISUDO_LIBS so sudo will link against them.  If the
  192: 	library doesn't start with `-l' or end in `.a' or `.o' a
  193: 	`-l' will be pre-pended to it.  Multiple libraries may be
  194: 	specified as long as they are space separated.
  195: 
  196:   --with-libtool=PATH
  197:         By default, sudo will use the included version of libtool
  198:         to build shared libraries.  The --with-libtool option can
  199:         be used to specify a different version of libtool to use.
  200:         The special values "system" and "builtin" can be used in
  201:         place of a path to denote the default system libtool (obtained
  202:         via the user's PATH) and the default libtool that comes
  203:         with sudo.
  204: 
  205: Optional features:
  206:   --disable-root-mailer
  207: 	By default sudo will run the mailer as root when tattling
  208: 	on a user so as to prevent that user from killing the mailer.
  209: 	With this option, sudo will run the mailer as the invoking
  210: 	user which some people consider to be safer.
  211: 
  212:   --enable-nls[=location]
  213:         Enable natural language support using the gettext() family
  214:         of functions.  If specified, location is the base directory
  215:         containing the libintl include and lib directories.  If
  216:         this option is not specified, configure will look for the
  217:         gettext() family of functions in the standard C library
  218:         first, then check for a standalone libintl (linking with
  219:         libiconv as needed).
  220: 
  221:   --disable-nls
  222:         Disable natural language support.  By default, sudo will
  223:         use the gettext() family of functions, if available, to
  224:         implement messages in the invoking user's native language.
  225: 	Note that translations do not exist for all languages.
  226: 
  227:   --with-ldap[=DIR]
  228: 	Enable LDAP support.  If specified, DIR is the base directory
  229: 	containing the LDAP include and lib directories.  Please see
  230: 	README.LDAP for more information.
  231: 
  232:   --with-ldap-conf-file=PATH
  233: 	Path to LDAP configuration file.  If specified, sudo reads
  234: 	this file instead of /etc/ldap.conf to locate the LDAP server.
  235: 
  236:   --with-ldap-secret-file=PATH
  237: 	Path to LDAP secret password file.  If specified, sudo uses
  238: 	this file instead of /etc/ldap.secret to read the secret password
  239: 	when rootbinddn is specified in the ldap config file.
  240: 
  241:   --with-logincap
  242: 	This adds support for login classes specified in /etc/login.conf.
  243: 	It is enabled by default on BSD/OS, Darwin, FreeBSD, OpenBSD and
  244: 	NetBSD (where available).  By default, a login class is not applied
  245: 	unless the 'use_loginclass' option is defined in sudoers or the user
  246: 	specifies a class on the command line.
  247: 
  248:   --with-interfaces=no, --without-interfaces
  249: 	This option keeps sudo from trying to glean the ip address
  250: 	from each attached Ethernet interface.  It is only useful
  251: 	on a machine where sudo's interface reading support does
  252: 	not work, which may be the case on some SysV-based OS's
  253: 	using STREAMS.
  254: 
  255:   --with-noexec[=PATH]
  256: 	Enable support for the "noexec" functionality which prevents
  257: 	a dynamically-linked program being run by sudo from executing
  258: 	another program (think shell escapes).  Please see the
  259: 	"PREVENTING SHELL ESCAPES" section in the sudoers man page
  260: 	for details.  If specified, PATH should be a fully qualified
  261: 	path name, e.g. /usr/local/libexec/sudo_noexec.so.  If PATH
  262: 	is "no", noexec support will not be compiled in.  The default
  263: 	is to compile noexec support if libtool supports building
  264: 	shared objects on your OS.
  265: 
  266:   --with-selinux 
  267: 	Enable support for role based access control (RBAC) on
  268: 	systems that support SELinux.
  269: 
  270:   --with-sssd
  271:         Enable support for using the System Security Services Daemon
  272:         (SSSD) as a sudoers data source.  For more information on
  273:         SSD, see http://fedorahosted.org/sssd/
  274: 
  275:   --with-sssd-lib=PATH
  276:         Specify the path to the SSSD shared library, which is loaded
  277:         at run-time.
  278: 
  279: Operating system-specific options:
  280:   --disable-setreuid
  281:         Disable use of the setreuid() function for operating systems
  282:         where it is broken.  For instance, 4.4BSD has setreuid()
  283:         that is not fully functional.
  284: 
  285:   --disable-setresuid
  286: 	Disable use of the setresuid() function for operating systems
  287: 	where it is broken (none currently known).
  288: 
  289:   --enable-admin-flag
  290: 	Enable the creation of an Ubuntu-style admin flag file
  291: 	the first time sudo is run.
  292: 
  293:   --with-bsm-audit
  294:         Enable support for sudo BSM audit logs on systems that support it.
  295: 	This includes recent versions of FreeBSD, Mac OS X and Solaris.
  296: 
  297:   --with-linux-audit
  298: 	Enable audit support for Linux systems.  Audits attempts
  299: 	to run a command as well as SELinux role changes.
  300: 
  301:   --with-man
  302:         Use the "man" macros for manual pages.  By default, mdoc versions
  303: 	of the manuals are installed if supported.  This can be used to
  304: 	override configure's test for "nroff -mdoc" support.
  305: 
  306:   --with-mdoc
  307:         Use the "mdoc" macros for manual pages.  By default, mdoc versions
  308: 	of the manuals are installed if supported.  This can be used to
  309: 	override configure's test for "nroff -mdoc" support.
  310: 
  311:   --with-netsvc[=PATH]
  312:         Path to netsvc.conf or "no" to disable netsvc.conf support.
  313:         If specified, sudo uses this file instead of /etc/netsvc.conf
  314:         on AIX systems.  If netsvc support is disabled but LDAP is
  315:         enabled, sudo will check LDAP first, then the sudoers file.
  316: 
  317:   --with-nsswitch[=PATH]
  318: 	Path to nsswitch.conf or "no" to disable nsswitch support.
  319: 	If specified, sudo uses this file instead of /etc/nsswitch.conf.
  320: 	If nsswitch support is disabled but LDAP is enabled, sudo will
  321: 	check LDAP first, then the sudoers file.
  322: 
  323:   --with-project
  324: 	Enable support for Solaris project resource limits.
  325: 	This option is only available on Solaris 9 and above.
  326: 
  327: Authentication options:
  328:   --with-AFS
  329: 	Enable AFS support with Kerberos authentication.  Should work under
  330: 	AFS 3.3.  If your AFS doesn't have -laudit you should be able to
  331: 	link without it.
  332: 
  333:   --with-aixauth
  334: 	Enable support for the AIX 4.x general authentication function.
  335: 	This will use the authentication scheme specified for the user
  336: 	on the machine.  It is on by default for AIX systems that
  337: 	support it.
  338: 
  339:   --with-bsdauth
  340: 	Enable support for BSD authentication.  This is the default
  341: 	for BSD/OS and OpenBSD systems that support it.
  342: 	It is not possible to mix BSD authentication with other
  343: 	authentication methods (and there really should be no need
  344: 	to do so).  Note that only the newer BSD authentication API
  345: 	is supported.  If you don't have /usr/include/bsd_auth.h
  346: 	then you cannot use this.
  347: 
  348:   --with-DCE
  349: 	Enable DCE support for systems without PAM.  Known to work on
  350: 	HP-UX 9.X, 10.X, and 11.0; other systems may require source
  351: 	code and/or `configure' changes.  On systems with PAM support
  352: 	(such as HP-UX 11.0 and higher, Solaris, FreeBSD and Linux), the
  353: 	DCE PAM module (usually libpam_dce) should be used instead.
  354: 
  355:   --with-fwtk[=DIR]
  356: 	Enable TIS Firewall Toolkit (FWTK) 'authsrv' support. If specified,
  357: 	DIR is the base directory containing the compiled FWTK package
  358: 	(or at least the library and header files).
  359: 
  360:   --with-kerb5[=DIR]
  361: 	Enable Kerberos V support.  If specified, DIR is the base
  362: 	directory containing the Kerberos V include and lib dirs.
  363: 	This uses Kerberos pass phrases for authentication but
  364: 	does not use the Kerberos cookie scheme.  Will not work for
  365: 	Kerberos V older than version 1.1.
  366: 
  367:   --enable-kerb5-instance=string
  368:         By default, the user name is used as the principal name
  369:         when authenticating via Kerberos V.  If this option is
  370:         enabled, the specified instance string will be appended to
  371:         the user name (separated by a slash) when creating the
  372:         principal name.
  373: 
  374:   --with-opie[=DIR]
  375: 	Enable NRL OPIE OTP (One Time Password) support.  If specified,
  376: 	DIR should contain include and lib directories with opie.h
  377: 	and libopie.a respectively.
  378: 
  379:   --with-otp-only
  380: 	This option is now just an alias for --without-passwd.
  381: 
  382:   --with-pam
  383: 	Enable PAM support.  This is on by default for Darwin, FreeBSD,
  384: 	Linux, Solaris and HP-UX (version 11 and higher).
  385: 
  386: 	NOTE: on RedHat Linux and Fedora you *must* have an /etc/pam.d/sudo
  387: 	file install.  You may either use the sample.pam file included with
  388: 	sudo or use /etc/pam.d/su as a reference.  The sample.pam file
  389: 	included with sudo may or may not work with other Linux distributions.
  390: 	On Solaris and HP-UX 11 systems you should check (and understand)
  391: 	the contents of /etc/pam.conf.  Do a "man pam.conf" for more
  392: 	information and consider using the "debug" option, if available,
  393: 	with your PAM libraries in /etc/pam.conf to obtain syslog output
  394: 	for debugging purposes.
  395: 
  396:   --with-pam-login
  397:         Enable a specific PAM session when sudo is given the -i option.
  398: 	This changes the PAM service name when sudo is run with the -i
  399: 	option from "sudo" to "sudo-i", allowing for a separate pam
  400: 	configuration for sudo's initial login mode.
  401: 
  402:   --disable-pam-session
  403:         Disable sudo's PAM session support.  This may be needed on
  404:         older PAM implementations or on operating systems where
  405:         opening a PAM session changes the utmp or wtmp files.  If
  406:         PAM session support is disabled, resource limits may not
  407:         be updated for the command being run.
  408: 
  409:   --with-passwd=no, --without-passwd
  410: 	This option excludes authentication via the passwd (or
  411: 	shadow) file.  It should only be used when another, alternative,
  412: 	authentication scheme is in use.
  413: 
  414:   --with-SecurID[=DIR]
  415: 	Enable SecurID support.  If specified, DIR is directory containing
  416: 	libaceclnt.a, acexport.h, and sdacmvls.h.
  417: 
  418:   --with-skey[=DIR]
  419: 	Enable S/Key OTP (One Time Password) support.  If specified,
  420: 	DIR should contain include and lib directories with skey.h
  421: 	and libskey.a respectively.
  422: 
  423:   --disable-sia
  424: 	Disable SIA support.  This is the "Security Integration
  425: 	Architecture" on Digital UNIX. If you disable SIA sudo will
  426: 	use its own authentication routines.
  427: 
  428:   --disable-shadow
  429: 	Disable shadow password support.  Normally, sudo will compile
  430: 	in shadow password support and use a shadow password if it
  431: 	exists.
  432: 
  433:   --enable-gss-krb5-ccache-name
  434:         Use the gss_krb5_ccache_name() function to set the Kerberos
  435:         V credential cache file name.  By default, sudo will use
  436:         the KRB5CCNAME environment variable to set this.  While
  437:         gss_krb5_ccache_name() provides a better API to do this it
  438:         is not supported by all Kerberos V and SASL combinations.
  439: 
  440: Development options:
  441:   --enable-env-debug
  442:         Enable debugging of the environment setting functions.  This
  443:         enables extra checks to make sure the environment does not
  444:         become corrupted.
  445: 
  446:   --enable-warnings
  447: 	Enable compiler warnings when building sudo with gcc.
  448: 
  449:   --enable-werror
  450: 	Enable the -Werror compiler option when building sudo with gcc.
  451: 
  452:   --with-devel
  453:         Configure development options.  This will enable compiler warnings
  454: 	and set up the Makefile to be able to regenerate the sudoers parser
  455: 	as well as the manual pages.
  456: 
  457:   --with-efence
  458: 	Link with the "electric fence" debugging malloc.
  459: 
  460: Options that set runtime-changeable default values:
  461:   --disable-authentication
  462: 	By default, sudo requires the user to authenticate via a
  463: 	password or similar means.  This options causes sudo to
  464: 	*not* require authentication.  It is possible to turn
  465: 	authentication back on in sudoers via the PASSWD attribute.
  466: 	Sudoers option: !authenticate
  467: 
  468:   --disable-env-reset
  469:         Disable environment resetting.  This sets the default value
  470:         of the "env_reset" Defaults option in sudoers to false.
  471: 	Sudoers option: !env_reset
  472: 
  473:   --disable-path-info
  474: 	Normally, sudo will tell the user when a command could not be found
  475: 	in their $PATH.  Some sites may wish to disable this as it could
  476: 	be used to gather information on the location of executables that
  477: 	the normal user does not have access to.  The disadvantage is that
  478: 	if the executable is simply not in the user's path, sudo will tell
  479: 	the user that they are not allowed to run it, which can be confusing.
  480: 	Sudoers option: path_info
  481: 
  482:   --disable-root-sudo
  483: 	Don't let root run sudo.  This can be used to prevent people from
  484: 	"chaining" sudo commands to get a root shell by doing something
  485: 	like "sudo sudo /bin/sh".
  486: 	Sudoers option: !root_sudo
  487: 
  488:   --disable-zlib
  489:         Disable the use of the zlib compress library when storing
  490:         I/O log files.
  491: 	Sudoers option: !compress_io
  492: 
  493:   --enable-log-host
  494: 	Log the hostname in the log file.
  495: 	Sudoers option: log_host
  496: 
  497:   --enable-noargs-shell
  498: 	If sudo is invoked with no arguments it acts as if the "-s" flag had
  499: 	been given.  That is, it runs a shell as root (the shell is determined
  500: 	by the SHELL environment variable, falling back on the shell listed
  501: 	in the invoking user's /etc/passwd entry).
  502: 	Sudoers option: shell_noargs
  503: 
  504:   --enable-shell-sets-home
  505: 	If sudo is invoked with the "-s" flag the HOME environment variable
  506: 	will be set to the home directory of the target user (which is root
  507: 	unless the "-u" option is used).  This option effectively makes the
  508: 	"-s" flag imply "-H".
  509: 	Sudoers option: set_home
  510: 
  511:   --with-all-insults
  512: 	Include all the insult sets listed below.  You must either specify
  513: 	--with-insults or enable insults in the sudoers file for this to
  514: 	have any effect.
  515: 
  516:   --with-askpass=PATH
  517:         Set PATH as the "askpass" program to use when no tty is
  518:         available.  Typically, this is a graphical password prompter,
  519:         similar to the one used by ssh.  The program must take a
  520:         prompt as an argument and print the received password to
  521:         the standard output.  This value may overridden at run-time
  522:         in the sudo.conf file.
  523: 
  524:   --with-badpass-message="BAD PASSWORD MESSAGE"
  525: 	Message that is displayed if a user enters an incorrect password.
  526: 	The default is "Sorry, try again." unless insults are turned on.
  527: 	Sudoers option: badpass_message
  528: 
  529:   --with-badpri=PRIORITY
  530: 	Determines which syslog priority to log unauthenticated
  531: 	commands and errors.  The following priorities are supported:
  532: 	alert, crit, debug, emerg, err, info, notice, and warning.
  533: 	Sudoers option: syslog_badpri
  534: 
  535:   --with-classic-insults
  536: 	Uses insults from sudo "classic."  If you just specify --with-insults
  537: 	you will get the classic and CSOps insults.  This is on by default if
  538: 	--with-insults is given.
  539: 
  540:   --with-csops-insults
  541: 	Insults the user with an extra set of insults (some quotes, some
  542: 	original) from a sysadmin group at CU (CSOps).  You must specify
  543: 	--with-insults as well for this to have any effect.  This is on by
  544: 	default if --with-insults is given.
  545: 
  546:   --with-editor=PATH
  547: 	Specify the default editor path for use by visudo.  This may be a
  548: 	single path name or a colon-separated list of editors.  In the latter
  549: 	case, visudo will choose the editor that matches the user's VISUAL
  550: 	or EDITOR environment variables or the first editor in the list that
  551: 	exists.  The default is the path to vi on your system.
  552: 	Sudoers option: editor
  553: 
  554:   --with-env-editor
  555: 	Makes visudo consult the VISUAL and EDITOR environment variables before
  556: 	falling back on the default editor list (as specified by --with-editor).
  557: 	Note that this may create a security hole as it allows the user to
  558: 	run any arbitrary command as root without logging.  A safer alternative
  559: 	is to use a colon-separated list of editors with the --with-editor
  560: 	option.  visudo will then only use the VISUAL or EDITOR variables
  561: 	if they match a value specified via --with-editor.
  562: 	Sudoers option: env_editor
  563: 
  564:   --with-exempt=GROUP
  565: 	Users in the specified group don't need to enter a password when
  566: 	running sudo.  This may be useful for sites that don't want their
  567: 	"core" sysadmins to have to enter a password but where Jr. sysadmins
  568: 	need to.  You should probably use NOPASSWD in sudoers instead.
  569: 	Sudoers option: exempt_group
  570: 
  571:   --with-fqdn
  572: 	Define this if you want to put fully qualified host names in the sudoers
  573: 	file.  Ie: instead of myhost you would use myhost.mydomain.edu.  You may
  574: 	still use the short form if you wish (and even mix the two).  Beware
  575: 	that turning FQDN on requires sudo to make DNS lookups which may make
  576: 	sudo unusable if your DNS is totally hosed.  Also note that you must
  577: 	use the host's official name as DNS knows it.  That is, you may not use
  578: 	a host alias (CNAME entry) due to performance issues and the fact that
  579: 	there is no way to get all aliases from DNS.
  580: 	Sudoers option: fqdn
  581: 
  582:   --with-goodpri=PRIORITY
  583: 	Determines which syslog priority to log successfully
  584: 	authenticated commands.  The following priorities are
  585: 	supported: alert, crit, debug, emerg, err, info, notice,
  586: 	and warning.
  587: 	Sudoers option: syslog_goodpri
  588: 
  589:   --with-goons-insults
  590: 	Insults the user with lines from the "Goon Show" when an incorrect
  591: 	password is entered.  You must either specify --with-insults or
  592: 	enable insults in the sudoers file for this to have any effect.
  593: 
  594:   --with-hal-insults
  595: 	Uses 2001-like insults when an incorrect password is entered.
  596: 	You must either specify --with-insults or enable insults in the
  597: 	sudoers file for this to have any effect.
  598: 
  599:   --with-ignore-dot
  600: 	If set, sudo will ignore '.' or '' (current dir) in $PATH.
  601: 	The $PATH itself is not modified.
  602: 	Sudoers option: ignore_dot
  603: 
  604:   --with-insults
  605: 	Define this if you want to be insulted for typing an incorrect password
  606: 	just like the original sudo(8).  This is off by default.
  607: 	Sudoers option: insults
  608: 
  609:   --with-insults=disabled
  610:         Include support for insults but disable them unless explicitly
  611:         enabled in sudoers.
  612: 	Sudoers option: !insults
  613: 
  614:   --with-iologdir[=DIR]
  615:         By default, sudo stores I/O log files in either /var/log/sudo-io,
  616:         /var/adm/sudo-io, or /usr/log/sudo-io.  If this option is
  617:         specified, I/O logs will be stored in the indicated directory
  618:         instead.
  619: 	Sudoers option: iolog_dir
  620: 
  621:   --with-lecture=no, --without-lecture
  622: 	Don't print the lecture the first time a user runs sudo.
  623: 	Sudoers option: !lecture
  624: 
  625:   --with-logfac=FACILITY
  626: 	Determines which syslog facility to log to.  This requires
  627: 	a 4.3BSD or later version of syslog.  You can still set
  628: 	this for ancient syslogs but it will have no effect.  The
  629: 	following facilities are supported: authpriv (if your OS
  630: 	supports it), auth, daemon, user, local0, local1, local2,
  631: 	local3, local4, local5, local6, and local7.
  632: 	Sudoers option: syslog
  633: 
  634:   --with-logging=TYPE
  635: 	How you want to do your logging.  You may choose "syslog",
  636: 	"file", or "both".  Setting this to "syslog" is nice because
  637: 	you can keep all of your sudo logs in one place (see the
  638: 	sample.syslog.conf file).  The default is "syslog".
  639: 	Sudoers options: syslog and logfile
  640: 
  641:   --with-loglen=NUMBER
  642: 	Number of characters per line for the file log.  This is only used if
  643: 	you are to "file" or "both".  This value is used to decide when to wrap
  644: 	lines for nicer log files.  The default is 80.  Setting this to 0
  645: 	will disable the wrapping.
  646: 	Sudoers options: loglinelen
  647: 
  648:   --with-logpath=PATH
  649: 	Override the default location of the sudo log file and use
  650: 	"path" instead.  By default will use /var/log/sudo.log if
  651: 	there is a /var/log dir, falling back to /var/adm/sudo.log
  652: 	or /usr/adm/sudo.log if not.
  653: 	Sudoers option: logfile
  654: 
  655:   --with-long-otp-prompt
  656: 	When validating with a One Time Password scheme (S/Key or
  657: 	OPIE), a two-line prompt is used to make it easier to cut
  658: 	and paste the challenge to a local window.  It's not as
  659: 	pretty as the default but some people find it more convenient.
  660: 	Sudoers option: long_otp_prompt
  661: 
  662:   --with-mail-if-no-user=no, --without-mail-if-no-user
  663: 	Normally, sudo will mail to the "alertmail" user if the user invoking
  664: 	sudo is not in the sudoers file.  This option disables that behavior.
  665: 	Sudoers option: mail_no_user
  666: 
  667:   --with-mail-if-no-host
  668: 	Send mail to the "alermail" user if the user exists in the sudoers
  669: 	file, but is not allowed to run commands on the current host.
  670: 	Sudoers option: mail_no_host
  671: 
  672:   --with-mail-if-noperms
  673: 	Send mail to the "alermail" user if the user is allowed to use sudo but
  674: 	the command they are trying is not listed in their sudoers file entry.
  675: 	Sudoers option: mail_no_perms
  676: 
  677:   --with-mailsubject="SUBJECT OF MAIL"
  678: 	Subject of the mail sent to the "mailto" user. The token "%h"
  679: 	will expand to the hostname of the machine.
  680: 	Default is "*** SECURITY information for %h ***".
  681: 	Sudoers option: mailsub
  682: 
  683:   --with-mailto=USER|MAIL_ALIAS
  684: 	User (or mail alias) that mail from sudo is sent to.
  685: 	This should go to a sysadmin at your site.  The default is "root".
  686: 	Sudoers option: mailto
  687: 
  688:   --with-passprompt="PASSWORD PROMPT"
  689: 	Default prompt to use when asking for a password; can be overridden
  690: 	via the -p option and the SUDO_PROMPT environment variable. Supports
  691: 	the "%H", "%h", "%U" and "%u" escapes as documented in the sudo
  692: 	manual page.  The default value is "Password:".
  693: 	Sudoers option: passprompt
  694: 
  695:   --with-password-timeout=NUMBER
  696: 	Number of minutes before the sudo password prompt times out.
  697: 	The default is 5, set this to 0 for no password timeout.
  698: 	Sudoers option: passwd_timeout
  699: 
  700:   --with-passwd-tries=NUMBER
  701: 	Number of tries a user gets to enter his/her password before sudo logs
  702: 	the failure and exits.  The default is 3.
  703: 	Sudoers option: passwd_tries
  704: 
  705:   --with-pc-insults
  706: 	Replace politically incorrect insults with less objectionable ones.
  707: 
  708:   --with-runas-default=USER
  709: 	The default user to run commands as if the -u flag is not specified
  710: 	on the command line.  This defaults to "root".
  711: 	Sudoers option: runas_default
  712: 
  713:   --with-secure-path[=PATH]
  714: 	Path used for every command run from sudo(8).  If you don't trust the
  715: 	people running sudo to have a sane PATH environment variable you may
  716: 	want to use this.  Another use is if you want to have the "root path"
  717: 	be separate from the "user path."  You will need to customize the path
  718: 	for your site.  NOTE: this is not applied to users in the group
  719: 	specified by --with-exemptgroup.  If you do not specify a path,
  720: 	"/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc" is used.
  721: 	Sudoers option: secure_path
  722: 
  723:   --with-sendmail=PATH
  724: 	Override configure's guess as to the location of sendmail.
  725: 	Sudoers option: mailerpath
  726: 
  727:   --with-sendmail=no, --without-sendmail
  728: 	Do not use sendmail to mail messages to the "mailto" user.
  729: 	Use only if you don't run sendmail or the equivalent.
  730: 	Sudoers options: !mailerpath or !mailto
  731: 
  732:   --with-sudoers-mode=MODE
  733:         File mode for the sudoers file (octal).  Note that if you
  734:         wish to NFS-mount the sudoers file this must be group
  735:         readable.  This value may overridden at run-time in the
  736:         sudo.conf file.  The default mode is 0440.
  737: 
  738:   --with-sudoers-uid=UID
  739:         User id that "owns" the sudoers file.  Note that this is
  740:         the numeric id, *not* the symbolic name.  This value may
  741:         overridden at run-time in the sudo.conf file.  The default
  742:         is 0.
  743: 
  744:   --with-sudoers-gid=GID
  745:         Group id that "owns" the sudoers file.  Note that this is
  746:         the numeric id, *not* the symbolic name.  This value may
  747:         overridden at run-time in the sudo.conf file.  The default
  748:         is 0.
  749: 
  750:   --with-timeout=NUMBER
  751: 	Number of minutes that can elapse before sudo will ask for a passwd
  752: 	again.  The default is 5, set this to 0 to always prompt for a password.
  753: 	Sudoers option: timestamp_timeout
  754: 
  755:   --with-tty-tickets=no, --without-tty-tickets
  756: 	By default, sudo uses a different ticket file for each user/tty combo.
  757: 	With this option disabled, a single ticket will be used for all
  758: 	of a user's login sessions.
  759: 	Sudoers option: tty_tickets
  760: 
  761:   --with-umask=MASK
  762: 	Umask to use when running the root command.  The default is 0022.
  763: 	Sudoers option: umask
  764: 
  765:   --with-umask=no, --without-umask
  766: 	Preserves the umask of the user invoking sudo.
  767: 	Sudoers option: !umask
  768: 
  769:   --with-umask-override
  770:         Use the umask specified in sudoers even if it is less restrictive
  771: 	than the user's.  The default is to use the intersection of the
  772: 	user's umask and the umask specified in sudoers.
  773: 	Sudoers option: umask_override
  774: 
  775: OS dependent notes
  776: ==================
  777: 
  778: HP-UX:
  779:     The default C compiler shipped with HP-UX is not an ANSI compiler.
  780:     You must use either the HP ANSI C compiler or gcc to build sudo.
  781:     Binary packages of gcc are available from http://hpux.connect.org.uk/.
  782: 
  783:     To prevent PAM from overriding the value of umask on HP-UX 11,
  784:     you will need to add a line like the following to /etc/pam.conf:
  785: 
  786:     sudo	session	required	libpam_hpsec.so.1 bypass_umask
  787: 
  788:     If every command run via sudo displays information about the last
  789:     successful login and the last authentication failure you should
  790:     make use an /etc/pam.conf line like:
  791: 
  792:     sudo	session	required	libpam_hpsec.so.1 bypass_umask bypass_last_login
  793: 
  794: Linux:
  795:     PAM and LDAP headers are not installed by default on most Linux
  796:     systems.  You will need to install the "pam-dev" package if
  797:     /usr/include/security/pam_appl.h is not present on your system.
  798:     If you wish to build with LDAP support you will also need the
  799:     openldap-devel package.
  800: 
  801: Mac OS X:
  802:     The pseudo-tty support in the Mac OS X kernel has bugs related
  803:     to its handling of the SIGTSTP, SIGTTIN and SIGTTOU signals.
  804:     It does not restart reads and writes when those signals are
  805:     delivered.  This may cause problems for some commands when I/O
  806:     logging is enabled.  The issue has been reported to Apple and
  807:     is bug id #7952709.
  808: 
  809: Solaris:
  810:     You need to have a C compiler in order to build sudo.  Since
  811:     Solaris does not come with one by default this means that you
  812:     either need to either install the Solaris Studio compiler suite,
  813:     available for free from www.oracle.com, or install the GNU C
  814:     compiler (gcc) which is can be installed via the pkg utility
  815:     on Solaris 11 and higher and is distributed on the Solaris
  816:     Companion CD for older Solaris releases.  You can also download
  817:     gcc packages from http://www.opencsw.org/packages/CSWgcc4core/
  818: 
  819: SunOS 4.x:
  820:     SunOS does not ship with an ANSI C compiler.  You will need to
  821:     install an ANSI compiler such as gcc to build sudo.
  822: 
  823:     The /bin/sh shipped with SunOS blows up while running configure.
  824:     You can work around this by installing bash or zsh.  If you
  825:     have bash or zsh in your path, configure will use it automatically.

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