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