change any of the default paths (alternately you could
have changed the paths via options to `configure'.
- 5) Edit `options.h' to enable any particular non-default
- options you wish to use. Refer to the OPTIONS file for
- an explanation of each one. If you are building in
- a separate build directory you may make a local copy
- of options.h in that directory and edit it instead.
-
- 6) 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)
GNU make will probably be required. If `configure' did
its job properly (and you have a supported configuration)
on what might have gone wrong. Please mail us if you have a
fix or if you are unable to come up with a fix (address at EOF).
- 7) 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
will not overwrite an existing sudoers file. You can also
install various pieces the package via the install-binaries,
install-man, and install-sudoers make targets.
- 8) Edit the sudoers file with `visudo' as necessary for your
+ 7) Edit the sudoers file with `visudo' as necessary for your
site. You will probably want to refer the sample.sudoers
file and sudoers man page included with the sudo package.
OpenBSD < 2.2 and NetBSD < 1.2.1:
The fdesc filesystem has a bug wrt /dev/tty handling that
causes sudo to hang at the password prompt. The workaround
- is to set PASSWORD_TIMEOUT (in options.h) to 0.
+ is to run configure with --with-password-timeout=0
Solaris 2.x:
You need to have a C compiler in order to build sudo.
(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 set `LOGGING' to SLOG_FILE in options.h.
+ to run configure with --with-logging=file
Digital UNIX:
Digital UNIX 4.0 shipped with /usr/include/prot.h including acl.h,
install_uid = 0
install_gid = 0
-# See options.h and OPTIONS for a list of options
+# XXX - should go away
OPTIONS = @OPTIONS@ -D_PATH_SUDO_SUDOERS=\"$(sudoersdir)/sudoers\" -D_PATH_SUDO_STMP=\"$(sudoersdir)/stmp\" -DSUDOERS_UID=$(install_uid) -DSUDOERS_GID=$(install_gid)
#### End of system configuration section. ####
LIBOBJS = @LIBOBJS@ @ALLOCA@
-HDRS = sudo.h options.h compat.h version.h insults.h \
+HDRS = sudo.h compat.h version.h insults.h \
ins_2001.h ins_classic.h ins_goons.h ins_csops.h sudo.tab.h
VERSION = 1.5.7
DISTFILES = $(SRCS) $(HDRS) BUGS CHANGES COPYING HISTORY INSTALL \
- INSTALL.configure OPTIONS TODO PORTING README RUNSON \
+ INSTALL.configure TODO PORTING README RUNSON \
FAQ TROUBLESHOOTING Makefile.in acsite.m4 aixcrypt.exp \
config.h.in configure configure.in config.guess config.sub \
pathnames.h.in getcwd.c strdup.c indent.pro install-sh \
VERSIONFILES = emul/utime.h check.c compat.h config.h.in dce_pwent.c \
find_path.c getspwuid.c getcwd.c goodpath.c ins_2001.h \
ins_classic.h ins_csops.h ins_goons.h insults.h interfaces.c \
- logging.c options.h parse.c parse.lex parse.yacc pathnames.h.in \
+ logging.c parse.c parse.lex parse.yacc pathnames.h.in \
putenv.c strdup.c sudo.c sudo.h sudo_setenv.c testsudoers.c \
tgetpass.c utime.c visudo.c
Alternately, it may compile but not work (nothing happens at Password: prompt).
It is possible that your C library contains a broken or unusable crypt()
function--try linking with -lcrypt if that exists. Another possibility
-is that select() is not fully functional; setting PASSWORD_TIMEOUT to
-0 in options.h will disable the use of select(). If all else fails
+is that select() is not fully functional; running configure with
+--with-password-timeout=0 will disable the use of select(). If all else fails
you can run configure with the --with-getpass flag to use the system getpass().
You'll lose the timeout feature but gain a working sudo.
NOTE: S/Key and OPIE support will not work with most OS's getpass(3) routine.
messages.
A) Make sure you have an entry in your syslog.conf file to save
the sudo messages. The default log facility is local2
- (configurable in options.h) so you would want something like:
+ (configurable via configure) so you would want something like:
local2.debug /var/adm/sudo.log
or
local2.debug @loghost
Q) I don't run sendmail on my machine. Does this mean that I cannot
use sudo?
-A) No, you just need to comment out the MAILER #define in options.h.
+A) No, you just need to run use the --without-sendmail argument to configure.
Q) When I run visudo it uses vi as the editor and I hate vi. How
can I make it use another editor?
-A) Your best bet is to enable the ENV_EDITOR option in options.h.
+A) Your best bet is to run configure with the --with-env-editor switch.
This will make visudo use the editor specified by the user's
- EDITOR environmental variable. Alternately, you can change the
- default editor by setting the EDITOR macro in options.h to
- the editor of your choice.
+ EDITOR environmental variable. Alternately, you can run configure
+ with the --with-editor=path_to_your_editor.
Q) Sudo appears to be removing some variables from my environment, why?
A) Sudo removes the following "dangerous" environmental variables
to get tgetpass() to work, send mail to sudo-bugs@courtesan.com
if you need help.
-Q) My C compiler complains about:
- "./options.h", line xx "/*" detected in comment
- Should I be worried?
-A) No, this is due to the way options are commented out in options.h.
- Some ANSI compilers are just a bit too protective.
- If anyone have a better way to that is just as easy to uncomment
- and that doesn't produce a similar warning, please let me know.
-
Q) I modified parse.lex but the Makefile is not generating a new
lex.yy.c.
A) You need to uncomment the rule in Makefile (or Makefile.in)