mirror of
https://github.com/sudo-project/sudo.git
synced 2025-09-01 14:55:12 +00:00
Update OS specific notes. Delete some really ancient ones and move
older ones to the end of the list.
This commit is contained in:
180
INSTALL
180
INSTALL
@@ -1,4 +1,4 @@
|
|||||||
Installation instructions for Sudo 1.7
|
Installation instructions for Sudo 1.8
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
Sudo uses a `configure' script to probe the capabilities and type
|
Sudo uses a `configure' script to probe the capabilities and type
|
||||||
@@ -15,34 +15,28 @@ For most systems and configurations it is possible simply to:
|
|||||||
0) If you are upgrading from a previous version of sudo
|
0) If you are upgrading from a previous version of sudo
|
||||||
please read the info in the UPGRADE file before proceeding.
|
please read the info in the UPGRADE file before proceeding.
|
||||||
|
|
||||||
1) If you previously ran `configure' on a different host
|
1) Read the `OS dependent notes' section for any particular
|
||||||
you will probably want to do a `make distclean' to remove
|
|
||||||
the old `config.cache' file. Otherwise, `configure'
|
|
||||||
will complain and refuse to run. Alternately, one can
|
|
||||||
simply `rm config.cache'.
|
|
||||||
|
|
||||||
2) Read the `OS dependent notes' section for any particular
|
|
||||||
"gotchas" relating to your operating system.
|
"gotchas" relating to your operating system.
|
||||||
|
|
||||||
3) `cd' to the source or build directory and type `./configure'
|
2) `cd' to the source or build directory and type `./configure'
|
||||||
to generate a Makefile and config.h file suitable for
|
to generate a Makefile and config.h file suitable for
|
||||||
building sudo. Before you actually run configure you
|
building sudo. Before you actually run configure you
|
||||||
should read the `Available configure options' section
|
should read the `Available configure options' section
|
||||||
to see if there are any special options you may want
|
to see if there are any special options you may want
|
||||||
or need.
|
or need.
|
||||||
|
|
||||||
4) Edit the configure-generated Makefile if you wish to
|
3) Edit the configure-generated Makefile if you wish to
|
||||||
change any of the default paths (alternatively, you could
|
change any of the default paths (alternatively, you could
|
||||||
have changed the paths via options to `configure'.
|
have changed the paths via options to `configure'.
|
||||||
|
|
||||||
5) Type `make' to compile sudo. If you are building sudo
|
5) Type `make' to compile sudo. If you are building sudo
|
||||||
in a separate build tree (apart from the sudo source)
|
in a separate build tree (apart from the sudo source) GNU
|
||||||
GNU make will probably be required. If `configure' did
|
make will probably be required. If `configure' did its job
|
||||||
its job properly (and you have a supported configuration)
|
properly (and you have a supported configuration) there won't
|
||||||
there won't be any problems. If this doesn't work, take
|
be any problems. If this doesn't work, take a look at the
|
||||||
a look at the files TROUBLESHOOTING and PORTING for tips
|
TROUBLESHOOTING file for tips on what might have gone wrong.
|
||||||
on what might have gone wrong. Please mail us if you have a
|
Please mail us if you have a fix or if you are unable to
|
||||||
fix or if you are unable to come up with a fix (address at EOF).
|
come up with a fix (address at EOF).
|
||||||
|
|
||||||
6) Type `make install' (as root) to install sudo, visudo, the
|
6) Type `make install' (as root) to install sudo, visudo, the
|
||||||
man pages, and a skeleton sudoers file. Note that the install
|
man pages, and a skeleton sudoers file. Note that the install
|
||||||
@@ -637,31 +631,44 @@ Shadow passwords are known to work on the following platforms:
|
|||||||
Digital UNIX
|
Digital UNIX
|
||||||
IRIX >= 5.x
|
IRIX >= 5.x
|
||||||
AIX >= 3.2.x
|
AIX >= 3.2.x
|
||||||
ConvexOS with C2 security (not tested recently)
|
|
||||||
Linux
|
Linux
|
||||||
SCO >= 3.2.2
|
SCO >= 3.2.2
|
||||||
Pyramid DC/OSx
|
Pyramid DC/OSx
|
||||||
UnixWare
|
UnixWare
|
||||||
SVR4 (and variants using standard SVR4 shadow passwords)
|
SVR4 (and variants using standard SVR4 shadow passwords)
|
||||||
4.4BSD based systems (including OpenBSD, NetBSD, FreeBSD, and BSD/OS)
|
4.4BSD based systems (including OpenBSD, NetBSD, FreeBSD, and Mac OS X)
|
||||||
OS's using SecureWare's C2 security.
|
Systems using SecureWare's C2 security.
|
||||||
|
|
||||||
OS dependent notes
|
OS dependent notes
|
||||||
==================
|
==================
|
||||||
|
|
||||||
OpenBSD < 2.2 and NetBSD < 1.2.1:
|
Linux:
|
||||||
The fdesc file system has a bug wrt /dev/tty handling that
|
PAM and LDAP headers are not installed by default on most Linux
|
||||||
causes sudo to hang at the password prompt. The workaround
|
systems. You will need to install the "pam-dev" package if
|
||||||
is to run configure with --with-password-timeout=0
|
/usr/include/security/pam_appl.h is not present on your system.
|
||||||
|
If you wish to build with LDAP support you will also need the
|
||||||
|
openldap-devel package.
|
||||||
|
|
||||||
|
Versions of glibc 2.x previous to 2.0.7 have a broken lsearch().
|
||||||
|
You will need to either upgrade to glibc-2.0.7 or use sudo's
|
||||||
|
version of lsearch(). To use sudo's lsearch(), comment out
|
||||||
|
the "#define HAVE_LSEARCH 1" line in config.h and add lsearch.o
|
||||||
|
to the LIBOBJS line in the Makefile.
|
||||||
|
|
||||||
|
If you are using a Linux kernel older than 2.4 it is not possible
|
||||||
|
to access the sudoers file via NFS. This is due to a bug in
|
||||||
|
the Linux client-side NFS implementation that has since been
|
||||||
|
fixed. There is a workaround on the sudo ftp site, linux_nfs.patch,
|
||||||
|
if you need to NFS-mount sudoers on older Linux kernels.
|
||||||
|
|
||||||
Solaris 2.x:
|
Solaris 2.x:
|
||||||
You need to have a C compiler in order to build sudo.
|
You need to have a C compiler in order to build sudo. Since
|
||||||
Since Solaris 2.x does not come with one by default this
|
Solaris 2.x does not come with one by default this means that
|
||||||
means that you either need to have purchased the unbundled Sun
|
you either need to install the Sun Studio compiler suite,
|
||||||
C compiler or have a copy of the GNU C compiler (gcc).
|
available for free from www.sun.com, or have a copy of the GNU
|
||||||
The SunSoft Catalyst CD should contain gcc binaries for
|
C compiler (gcc) which is distributed on the Solaris Companion
|
||||||
Solaris. You can also get them from various places on the
|
CD. You can also get them from various places on the net,
|
||||||
net, including http://www.sunfreeware.com/
|
including http://www.sunfreeware.com/
|
||||||
NOTE: sudo will *not* build with the sun C compiler in BSD
|
NOTE: sudo will *not* build with the sun C compiler in BSD
|
||||||
compatibility mode (/usr/ucb/cc). Sudo is designed to
|
compatibility mode (/usr/ucb/cc). Sudo is designed to
|
||||||
compile with the standard C compiler (or gcc) and will
|
compile with the standard C compiler (or gcc) and will
|
||||||
@@ -669,36 +676,30 @@ Solaris 2.x:
|
|||||||
`--with-CC' option to point `configure' to the non-ucb
|
`--with-CC' option to point `configure' to the non-ucb
|
||||||
compiler if it is not the first cc in your path. Some
|
compiler if it is not the first cc in your path. Some
|
||||||
sites link /usr/ucb/cc to gcc; configure will not notice
|
sites link /usr/ucb/cc to gcc; configure will not notice
|
||||||
this an still refuse to use /usr/ucb/cc, so make sure gcc
|
this and still refuse to use /usr/ucb/cc, so make sure gcc
|
||||||
is also in your path if your site is setup this way.
|
is also in your path if your site is setup this way.
|
||||||
Also: Many versions of Solaris come with a broken syslogd.
|
Also: Older versions of Solaris come with a broken syslogd.
|
||||||
If you have having problems with sudo logging you should
|
If you have having problems with sudo logging you should
|
||||||
make sure you have the latest syslogd patch installed.
|
make sure you have the latest syslogd patch installed.
|
||||||
This is a problem for Solaris 2.4 and 2.5 at least.
|
This is a problem for Solaris 2.4 and 2.5 at least.
|
||||||
|
|
||||||
AIX 3.2.x:
|
Mac OS X:
|
||||||
I've had various problems with the AIX C compiler producing
|
The pseudo-tty support in the Mac OS X kernel has bugs related
|
||||||
incorrect code when the -O flag was used. When optimization
|
to its handling of the SIGTSTP, SIGTTIN and SIGTTOU signals.
|
||||||
is not used, the problems go away. Gcc does not appear
|
It does not restart reads and writes when those signals are
|
||||||
to have this problem.
|
delivered. This may cause problems for some commands when I/O
|
||||||
|
logging is enabled. The issue has been reported to Apple and
|
||||||
|
is bug id #7952709.
|
||||||
|
|
||||||
Also, the AIX 3.2.x lex will not work with sudo's parse.lex.
|
HP-UX:
|
||||||
This should not be a problem as sudo comes shipped with
|
The default C compiler shipped with HP-UX is not an ANSI compiler.
|
||||||
a pre-generated lex.yy.c (created by flex). If you want
|
You must use either the HP ANSI C compiler or gcc to build sudo.
|
||||||
to modify the lex tokenizer, make sure you grab a copy of
|
Binary packages of gcc are available from http://hpux.connect.org.uk/.
|
||||||
flex from ftp.ee.lbl.gov (also available on most GNU mirrors)
|
|
||||||
and sudo will use that instead.
|
|
||||||
|
|
||||||
Ultrix 4.x:
|
To prevent PAM from overriding the value of umask on HP-UX 11,
|
||||||
Ultrix still ships with the 4.2BSD syslog(3) which does not
|
you will need to add a line like the following to /etc/pam.conf:
|
||||||
allow things like logging different facilities to different
|
|
||||||
files, redirecting logs to a single loghost and other niceties.
|
sudo session required libpam_hpsec.so.1 bypass_umask
|
||||||
You may want to just grab and install:
|
|
||||||
ftp://gatekeeper.dec.com/pub/DEC/jtkohl-syslog-complete.tar.Z
|
|
||||||
(available via anonymous ftp) which is a port if the 4.3BSD
|
|
||||||
syslog/syslogd that is backwards compatible with the Ultrix version.
|
|
||||||
I recommend it highly. If you do not do this you probably want
|
|
||||||
to run configure with --with-logging=file
|
|
||||||
|
|
||||||
Digital UNIX:
|
Digital UNIX:
|
||||||
By default, sudo will use SIA (Security Integration Architecture)
|
By default, sudo will use SIA (Security Integration Architecture)
|
||||||
@@ -717,59 +718,38 @@ Digital UNIX:
|
|||||||
you can just make a copy in gcc's private include tree and
|
you can just make a copy in gcc's private include tree and
|
||||||
edit that.
|
edit that.
|
||||||
|
|
||||||
Linux:
|
AIX 3.2.x:
|
||||||
PAM and LDAP headers are not installed by default on most Linux
|
I've had various problems with the AIX C compiler producing
|
||||||
systems. You will need to install the "pav-dev" package if
|
incorrect code when the -O flag was used. When optimization
|
||||||
/usr/include/security/pam_appl.h is not present on your system.
|
is not used, the problems go away. Gcc does not appear
|
||||||
If you wish to build with LDAP support you will also need the
|
to have this problem.
|
||||||
openldap-devel package.
|
|
||||||
|
|
||||||
Versions of glibc 2.x previous to 2.0.7 have a broken lsearch().
|
|
||||||
You will need to either upgrade to glibc-2.0.7 or use sudo's
|
|
||||||
version of lsearch(). To use sudo's lsearch(), comment out
|
|
||||||
the "#define HAVE_LSEARCH 1" line in config.h and add lsearch.o
|
|
||||||
to the LIBOBJS line in the Makefile.
|
|
||||||
|
|
||||||
If you are using a Linux kernel older than 2.4 it is not possible
|
|
||||||
to access the sudoers file via NFS. This is due to a bug in
|
|
||||||
the Linux client-side NFS implementation that has since been
|
|
||||||
fixed. There is a workaround on the sudo ftp site, linux_nfs.patch,
|
|
||||||
if you need to NFS-mount sudoers on older Linux kernels.
|
|
||||||
|
|
||||||
Mac OS X:
|
|
||||||
It has been reported that for sudo to work on Mac OS X it must
|
|
||||||
either be built with the --with-password-timeout=0 option or the
|
|
||||||
password timeout must be disabled in the Defaults line in the
|
|
||||||
sudoers file. If sudo just hangs when you try to enter a password,
|
|
||||||
you need to disable the password timeout (Note: this is not a bug
|
|
||||||
in sudo).
|
|
||||||
|
|
||||||
SCO ODT:
|
SCO ODT:
|
||||||
You'll probably need libcrypt_i.a available via anonymous ftp
|
You'll probably need libcrypt_i.a available via anonymous ftp
|
||||||
from sosco.sco.com. The necessary files are /SLS/lng225b.Z
|
from sosco.sco.com. The necessary files are /SLS/lng225b.Z
|
||||||
and /SLS/lng225b.ltr.Z.
|
and /SLS/lng225b.ltr.Z.
|
||||||
|
|
||||||
Dynix:
|
|
||||||
Some people have experienced problems building sudo with gcc
|
|
||||||
on Dynix. If you experience problems compiling sudo using gcc
|
|
||||||
on Dynix, try using the native compiler (cc). You can do so
|
|
||||||
by removing the config.cache file and then re-running configure
|
|
||||||
with the --with-CC=cc option.
|
|
||||||
|
|
||||||
HP-UX:
|
|
||||||
The default C compiler shipped with HP-UX does not support creating
|
|
||||||
position independent code and so is unable to support sudo's "noexec"
|
|
||||||
functionality. You must use either the HP ANSI C compiler or gcc for
|
|
||||||
noexec to work. Binary packages of gcc are available from
|
|
||||||
http://hpux.connect.org.uk/ and http://hpux.cs.utah.edu/.
|
|
||||||
|
|
||||||
To prevent PAM from overriding the value of umask on HP-UX 11,
|
|
||||||
you will need to add a line like the following to /etc/pam.conf:
|
|
||||||
|
|
||||||
sudo session required libpam_hpsec.so.1 bypass_umask
|
|
||||||
|
|
||||||
SunOS 4.x:
|
SunOS 4.x:
|
||||||
The /bin/sh shipped with SunOS blows up while running configure.
|
The /bin/sh shipped with SunOS blows up while running configure.
|
||||||
You can work around this by installalling bash or zsh. If you
|
You can work around this by installing bash or zsh. If you
|
||||||
have bash or zsh in your path, configure will use it instead
|
have bash or zsh in your path, configure will use it instead
|
||||||
automatically.
|
automatically.
|
||||||
|
|
||||||
|
ULTRIX 4.x:
|
||||||
|
ULTRIX does not ship with an ANSI C compiler. You will need to
|
||||||
|
install an ANSI compiler such as gcc to build sudo.
|
||||||
|
|
||||||
|
The /bin/sh shipped with ULTRIX blows up while running configure.
|
||||||
|
You can work around this by installing bash or zsh. If you
|
||||||
|
have bash or zsh in your path, configure will use it instead
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
ULTRIX ships with the 4.2BSD syslog(3) which does not
|
||||||
|
allow things like logging different facilities to different
|
||||||
|
files, redirecting logs to a single loghost and other niceties.
|
||||||
|
You may want to just grab and install:
|
||||||
|
ftp://www.sudo.ws/pub/sudo/misc/jtkohl-syslog-complete.tar.gz
|
||||||
|
(available via anonymous ftp) which is a port if the 4.3BSD
|
||||||
|
syslog/syslogd that is backwards compatible with the Ultrix version.
|
||||||
|
I recommend it highly. If you do not do this you probably want
|
||||||
|
to run configure with --with-logging=file
|
||||||
|
Reference in New Issue
Block a user