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