538 lines
22 KiB
Plaintext
538 lines
22 KiB
Plaintext
What's new in Sudo 1.8.1p2?
|
|
|
|
* Two-character CIDR-style IPv4 netmasks are now matched correctly
|
|
in the sudoers file.
|
|
|
|
* A build error with MIT Kerberos V has been resolved.
|
|
|
|
* A crash on HP-UX in the sudoers plugin when wildcards are
|
|
present in the sudoers file has been resolved.
|
|
|
|
* Sudo now works correctly on Tru64 Unix again.
|
|
|
|
What's new in Sudo 1.8.1p1?
|
|
|
|
* Fixed a problem on AIX where sudo was unable to set the final
|
|
uid if the PAM module modified the effective uid.
|
|
|
|
* A non-existent includedir is now treated the same as an empty
|
|
directory and not reported as an error.
|
|
|
|
* Removed extraneous parens in LDAP filter when sudoers_search_filter
|
|
is enabled that can cause an LDAP search error.
|
|
|
|
* Fixed a "make -j" problem for "make install".
|
|
|
|
What's new in Sudo 1.8.1?
|
|
|
|
* A new LDAP setting, sudoers_search_filter, has been added to
|
|
ldap.conf. This setting can be used to restrict the set of
|
|
records returned by the LDAP query. Based on changes from Matthew
|
|
Thomas.
|
|
|
|
* White space is now permitted within a User_List when used in
|
|
conjunction with a per-user Defaults definition.
|
|
|
|
* A group ID (%#gid) may now be specified in a User_List or Runas_List.
|
|
Likewise, for non-Unix groups the syntax is %:#gid.
|
|
|
|
* Support for double-quoted words in the sudoers file has been fixed.
|
|
The change in 1.7.5 for escaping the double quote character
|
|
caused the double quoting to only be available at the beginning
|
|
of an entry.
|
|
|
|
* The fix for resuming a suspended shell in 1.7.5 caused problems
|
|
with resuming non-shells on Linux. Sudo will now save the process
|
|
group ID of the program it is running on suspend and restore it
|
|
when resuming, which fixes both problems.
|
|
|
|
* A bug that could result in corrupted output in "sudo -l" has been
|
|
fixed.
|
|
|
|
* Sudo will now create an entry in the utmp (or utmpx) file when
|
|
allocating a pseudo-tty (e.g. when logging I/O). The "set_utmp"
|
|
and "utmp_runas" sudoers file options can be used to control this.
|
|
Other policy plugins may use the "set_utmp" and "utmp_user"
|
|
entries in the command_info list.
|
|
|
|
* The sudoers policy now stores the TSID field in the logs
|
|
even when the "iolog_file" sudoers option is defined to a value
|
|
other than %{sessid}. Previously, the TSID field was only
|
|
included in the log file when the "iolog_file" option was set
|
|
to its default value.
|
|
|
|
* The sudoreplay utility now supports arbitrary session IDs.
|
|
Previously, it would only work with the base-36 session IDs
|
|
that the sudoers plugin uses by default.
|
|
|
|
* Sudo now passes "run_shell=true" to the policy plugin in the
|
|
settings list when sudo's -s command line option is specified.
|
|
The sudoers policy plugin uses this to implement the "set_home"
|
|
sudoers option which was missing from sudo 1.8.0.
|
|
|
|
* The "noexec" functionality has been moved out of the sudoers
|
|
policy plugin and into the sudo front-end, which matches the
|
|
behavior documented in the plugin writer's guide. As a result,
|
|
the path to the noexec file is now specified in the sudo.conf
|
|
file instead of the sudoers file.
|
|
|
|
* On Solaris 10, the PRIV_PROC_EXEC privilege is now used to
|
|
implement the "noexec" feature. Previously, this was implemented
|
|
via the LD_PRELOAD environment variable.
|
|
|
|
* The exit values for "sudo -l", "sudo -v" and "sudo -l command"
|
|
have been fixed in the sudoers policy plugin.
|
|
|
|
* The sudoers policy plugin now passes the login class, if any,
|
|
back to the sudo front-end.
|
|
|
|
* The sudoers policy plugin was not being linked with requisite
|
|
libraries in certain configurations.
|
|
|
|
* Sudo now parses command line arguments before loading any plugins.
|
|
This allows "sudo -V" or "sudo -h" to work even if there is a problem
|
|
with sudo.conf
|
|
|
|
* Plugins are now linked with the static version of libgcc to allow
|
|
the plugin to run on a system where no shared libgcc is installed,
|
|
or where it is installed in a different location.
|
|
|
|
What's new in Sudo 1.8.0?
|
|
|
|
* Sudo has been refactored to use a modular framework that can
|
|
support third-party policy and I/O logging plugins. The default
|
|
plugin is "sudoers" which provides the traditional sudo functionality.
|
|
See the sudo_plugin manual for details on the plugin API and the
|
|
sample in the plugins directory for a simple example.
|
|
|
|
What's new in Sudo 1.7.5?
|
|
|
|
* When using visudo in check mode, a file named "-" may be used to
|
|
check sudoers data on the standard input.
|
|
|
|
* Sudo now only fetches shadow password entries when using the
|
|
password database directly for authentication.
|
|
|
|
* Password and group entries are now cached using the same key
|
|
that was used to look them up. This fixes a problem when looking
|
|
up entries by name if the name in the retrieved entry does not
|
|
match the name used to look it up. This may happen on some systems
|
|
that do case insensitive lookups or that truncate long names.
|
|
|
|
* GCC will no longer display warnings on glibc systems that use
|
|
the warn_unused_result attribute for write(2) and other system calls.
|
|
|
|
* If a PAM account management module denies access, sudo now prints
|
|
a more useful error message and stops trying to validate the user.
|
|
|
|
* Fixed a potential hang on idle systems when the sudo-run process
|
|
exits immediately.
|
|
|
|
* Sudo now includes a copy of zlib that will be used on systems
|
|
that do not have zlib installed.
|
|
|
|
* The --with-umask-override configure flag has been added to enable
|
|
the "umask_override" sudoers Defaults option at build time.
|
|
|
|
* Sudo now unblocks all signals on startup to avoid problems caused
|
|
by the parent process changing the default signal mask.
|
|
|
|
* LDAP Sudoers entries may now specify a time period for which
|
|
the entry is valid. This requires an updated sudoers schema
|
|
that includes the sudoNotBefore and sudoNotAfter attributes.
|
|
Support for timed entries must be explicitly enabled in the
|
|
ldap.conf file. Based on changes from Andreas Mueller.
|
|
|
|
* LDAP Sudoers entries may now specify a sudoOrder attribute that
|
|
determines the order in which matching entries are applied. The
|
|
last matching entry is used, just like file-based sudoers. This
|
|
requires an updated sudoers schema that includes the sudoOrder
|
|
attribute. Based on changes from Andreas Mueller.
|
|
|
|
* When run as sudoedit, or when given the -e flag, sudo now treats
|
|
command line arguments as pathnames. This means that slashes
|
|
in the sudoers file entry must explicitly match slashes in
|
|
the command line arguments. As a result, and entry such as:
|
|
user ALL = sudoedit /etc/*
|
|
will allow editing of /etc/motd but not /etc/security/default.
|
|
|
|
* NETWORK_TIMEOUT is now an alias for BIND_TIMELIMIT in ldap.conf for
|
|
compatibility with OpenLDAP configuration files.
|
|
|
|
* The LDAP API TIMEOUT parameter is now honored in ldap.conf.
|
|
|
|
* The I/O log directory may now be specified in the sudoers file.
|
|
|
|
* Sudo will no longer refuse to run if the sudoers file is writable
|
|
by root.
|
|
|
|
* Sudo now performs command line escaping for "sudo -s" and "sudo -i"
|
|
after validating the command so the sudoers entries do not need
|
|
to include the backslashes.
|
|
|
|
* Logging and email sending are now done in the locale specified
|
|
by the "sudoers_locale" setting ("C" by default). Email send by
|
|
sudo now includes MIME headers when "sudoers_locale" is not "C".
|
|
|
|
* The configure script has a new option, --disable-env-reset, to
|
|
allow one to change the default for the sudoers Default setting
|
|
"env_reset" at compile time.
|
|
|
|
* When logging "sudo -l command", sudo will now prepend "list "
|
|
to the command in the log line to distinguish between an
|
|
actual command invocation in the logs.
|
|
|
|
* Double-quoted group and user names may now include escaped double
|
|
quotes as part of the name. Previously this was a parse error.
|
|
|
|
* Sudo once again restores the state of the signal handlers it
|
|
modifies before executing the command. This allows sudo to be
|
|
used with the nohup command.
|
|
|
|
* Resuming a suspended shell now works properly when I/O logging
|
|
is not enabled (the I/O logging case was already correct).
|
|
|
|
What's new in Sudo 1.7.4p6?
|
|
|
|
* A bug has been fixed in the I/O logging support that could cause
|
|
visual artifacts in full-screen programs such as text editors.
|
|
|
|
What's new in Sudo 1.7.4p5?
|
|
|
|
* A bug has been fixed that would allow a command to be run without the
|
|
user entering a password when sudo's -g flag is used without the -u flag.
|
|
|
|
* If user has no supplementary groups, sudo will now fall back on checking
|
|
the group file explicitly, which restores historic sudo behavior.
|
|
|
|
* A crash has been fixed when sudo's -g flag is used without the -u flag
|
|
and the sudoers file contains an entry with no runas user or group listed.
|
|
|
|
* A crash has been fixed when the Solaris project support is enabled
|
|
and sudo's -g flag is used without the -u flag.
|
|
|
|
* Sudo no longer exits with an error when support for auditing is
|
|
compiled in but auditing is not enabled.
|
|
|
|
* Fixed a bug introduced in sudo 1.7.3 where the ticket file was not
|
|
being honored when the "targetpw" sudoers Defaults option was enabled.
|
|
|
|
* The LOG_INPUT and LOG_OUTPUT tags in sudoers are now parsed correctly.
|
|
|
|
* A crash has been fixed in "sudo -l" when sudo is built with auditing
|
|
support and the user is not allowed to run any commands on the host.
|
|
|
|
What's new in Sudo 1.7.4p4?
|
|
|
|
* A potential security issue has been fixed with respect to the handling
|
|
of sudo's -g command line option when -u is also specified. The flaw
|
|
may allow an attacker to run commands as a user that is not authorized
|
|
by the sudoers file.
|
|
|
|
* A bug has been fixed where "sudo -l" output was incomplete if multiple
|
|
sudoers sources were defined in nsswitch.conf and there was an error
|
|
querying one of the sources.
|
|
|
|
* The log_input, log_output, and use_pty sudoers options now work correctly
|
|
on AIX. Previously, sudo would hang if they were enabled.
|
|
|
|
* The "make install" target now works correctly when sudo is built in a
|
|
directory other than the source directory.
|
|
|
|
* The "runas_default" sudoers setting now works properly in a per-command
|
|
Defaults line.
|
|
|
|
* Suspending and resuming the bash shell when PAM is in use now works
|
|
correctly. The SIGCONT signal was not propagated to the child process.
|
|
|
|
What's new in Sudo 1.7.4p3?
|
|
|
|
* A bug has been fixed where duplicate HOME environment variables could be
|
|
present when the env_reset setting was disabled and the always_set_home
|
|
setting was enabled in sudoers.
|
|
|
|
* The value of sysconfdir is now substituted into the path to the sudoers.d
|
|
directory in the installed sudoers file.
|
|
|
|
* Compilation problems on IRIX and other platforms have been fixed.
|
|
|
|
* If multiple PAM "auth" actions are specified and the user enters ^C at
|
|
the password prompt, sudo will no longer prompt for a password for any
|
|
subsequent "auth" actions. Previously it was necessary to enter ^C for
|
|
each "auth" action.
|
|
|
|
What's new in Sudo 1.7.4p2?
|
|
|
|
* A bug where sudo could spin in a busy loop waiting for the child process
|
|
has been fixed.
|
|
|
|
What's new in Sudo 1.7.4p1?
|
|
|
|
* A bug introduced in sudo 1.7.3 that prevented the -k and -K options from
|
|
functioning when the tty_tickets sudoers option is enabled has been fixed.
|
|
|
|
* Sudo no longer prints a warning when the -k or -K options are specified
|
|
and the ticket file does not exist.
|
|
|
|
* It is now easier to cross-compile sudo.
|
|
|
|
What's new in Sudo 1.7.4?
|
|
|
|
* Sudoedit will now preserve the file extension in the name of the
|
|
temporary file being edited. The extension is used by some
|
|
editors (such as emacs) to choose the editing mode.
|
|
|
|
* Time stamp files have moved from /var/run/sudo to either /var/db/sudo,
|
|
/var/lib/sudo or /var/adm/sudo. The directories are checked for
|
|
existence in that order. This prevents users from receiving the
|
|
sudo lecture every time the system reboots. Time stamp files older
|
|
than the boot time are ignored on systems where it is possible to
|
|
determine this.
|
|
|
|
* The tty_tickets sudoers option is now enabled by default.
|
|
|
|
* Ancillary documentation (README files, LICENSE, etc) is now installed
|
|
in a sudo documentation directory.
|
|
|
|
* Sudo now recognizes "tls_cacert" as an alias for "tls_cacertfile"
|
|
in ldap.conf.
|
|
|
|
* Defaults settings that are tied to a user, host or command may
|
|
now include the negation operator. For example:
|
|
Defaults:!millert lecture
|
|
will match any user but millert.
|
|
|
|
* The default PATH environment variable, used when no PATH variable
|
|
exists, now includes /usr/sbin and /sbin.
|
|
|
|
* Sudo now uses polypkg (http://rc.quest.com/topics/polypkg/)
|
|
for cross-platform packing.
|
|
|
|
* On Linux, sudo will now restore the nproc resource limit before
|
|
executing a command, unless the limit appears to have been modified
|
|
by pam_limits. This avoids a problem with bash scripts that open
|
|
more than 32 descriptors on SuSE Linux, where sysconf(_SC_CHILD_MAX)
|
|
will return -1 when RLIMIT_NPROC is set to RLIMIT_UNLIMITED (-1).
|
|
|
|
* The HOME and MAIL environment variables are now reset based on the
|
|
target user's password database entry when the env_reset sudoers option
|
|
is enabled (which is the case in the default configuration). Users
|
|
wishing to preserve the original values should use a sudoers entry like:
|
|
Defaults env_keep += HOME
|
|
to preserve the old value of HOME and
|
|
Defaults env_keep += MAIL
|
|
to preserve the old value of MAIL.
|
|
|
|
* Fixed a problem in the restoration of the AIX authdb registry setting.
|
|
|
|
* Sudo will now fork(2) and wait until the command has completed before
|
|
calling pam_close_session().
|
|
|
|
* The default syslog facility is now "authpriv" if the operating system
|
|
supports it, else "auth".
|
|
|
|
What's new in Sudo 1.7.3?
|
|
|
|
* Support for logging I/O for the command being run.
|
|
For more information, see the documentation for the "log_input"
|
|
and "log_output" Defaults options in the sudoers manual. Also
|
|
see the sudoreplay manual for how to replay I/O log sessions.
|
|
|
|
* The use_pty sudoers option can be used to force a command to be
|
|
run in a pseudo-pty, even when I/O logging is not enabled.
|
|
|
|
* On some systems, sudo can now detect when a user has logged out
|
|
and back in again when tty-based time stamps are in use. Supported
|
|
systems include Solaris systems with the devices file system,
|
|
Mac OS X, and Linux systems with the devpts filesystem (pseudo-ttys
|
|
only).
|
|
|
|
* On AIX systems, the registry setting in /etc/security/user is
|
|
now taken into account when looking up users and groups. Sudo
|
|
now applies the correct the user and group ids when running a
|
|
command as a user whose account details come from a different
|
|
source (e.g. LDAP or DCE vs. local files).
|
|
|
|
* Support for multiple 'sudoers_base' and 'uri' entries in ldap.conf.
|
|
When multiple entries are listed, sudo will try each one in the
|
|
order in which they are specified.
|
|
|
|
* Sudo's SELinux support should now function correctly when running
|
|
commands as a non-root user and when one of stdin, stdout or stderr
|
|
is not a terminal.
|
|
|
|
* Sudo will now use the Linux audit system with configure with
|
|
the --with-linux-audit flag.
|
|
|
|
* Sudo now uses mbr_check_membership() on systems that support it
|
|
to determine group membership. Currently, only Darwin (Mac OS X)
|
|
supports this.
|
|
|
|
* When the tty_tickets sudoers option is enabled but there is no
|
|
terminal device, sudo will no longer use or create a tty-based
|
|
ticket file. Previously, sudo would use a tty name of "unknown".
|
|
As a consequence, if a user has no terminal device, sudo will
|
|
now always prompt for a password.
|
|
|
|
* The passwd_timeout and timestamp_timeout options may now be
|
|
specified as floating point numbers for more granular timeout
|
|
values.
|
|
|
|
* Negating the fqdn option in sudoers now works correctly when sudo
|
|
is configured with the --with-fqdn option. In previous versions
|
|
of sudo the fqdn was set before sudoers was parsed.
|
|
|
|
What's new in Sudo 1.7.2?
|
|
|
|
* A new #includedir directive is available in sudoers. This can be
|
|
used to implement an /etc/sudo.d directory. Files in an includedir
|
|
are not edited by visudo unless they contain a syntax error.
|
|
|
|
* The -g option did not work properly when only setting the group
|
|
(and not the user). Also, in -l mode the wrong user was displayed
|
|
for sudoers entries where only the group was allowed to be set.
|
|
|
|
* Fixed a problem with the alias checking in visudo which
|
|
could prevent visudo from exiting.
|
|
|
|
* Sudo will now correctly parse the shell-style /etc/environment
|
|
file format used by pam_env on Linux.
|
|
|
|
* When doing password and group database lookups, sudo will only
|
|
cache an entry by name or by id, depending on how the entry was
|
|
looked up. Previously, sudo would cache by both name and id
|
|
from a single lookup, but this breaks sites that have multiple
|
|
password or group database names that map to the same uid or
|
|
gid.
|
|
|
|
* User and group names in sudoers may now be enclosed in double
|
|
quotes to avoid having to escape special characters.
|
|
|
|
* BSM audit fixes when changing to a non-root uid.
|
|
|
|
* Experimental non-Unix group support. Currently only works with
|
|
Quest Authorization Services and allows Active Directory groups
|
|
fixes for Minix-3.
|
|
|
|
* For Netscape/Mozilla-derived LDAP SDKs the certificate and key
|
|
paths may be specified as a directory or a file. However, version
|
|
5.0 of the SDK only appears to support using a directory (despite
|
|
documentation to the contrary). If SSL client initialization
|
|
fails and the certificate or key paths look like they could be
|
|
default file name, strip off the last path element and try again.
|
|
|
|
* A setenv() compatibility fix for Linux systems, where a NULL
|
|
value is treated the same as an empty string and the variable
|
|
name is checked against the NULL pointer.
|
|
|
|
What's new in Sudo 1.7.1?
|
|
|
|
* A new Defaults option "pwfeedback" will cause sudo to provide visual
|
|
feedback when the user is entering a password.
|
|
|
|
* A new Defaults option "fast_glob" will cause sudo to use the fnmatch()
|
|
function for file name globbing instead of glob(). When this option
|
|
is enabled, sudo will not check the file system when expanding wildcards.
|
|
This is faster but a side effect is that relative paths with wildcard
|
|
will no longer work.
|
|
|
|
* New BSM audit support for systems that support it such as FreeBSD
|
|
and Mac OS X.
|
|
|
|
* The file name specified with the #include directive may now include
|
|
a %h escape which is expanded to the short form of hostname.
|
|
|
|
* The -k flag may now be specified along with a command, causing the
|
|
user's timestamp file to be ignored.
|
|
|
|
* New support for Tivoli-based LDAP START_TLS, present in AIX.
|
|
|
|
* New support for /etc/netsvc.conf on AIX.
|
|
|
|
* The unused alias checks in visudo now handle the case of an alias
|
|
referring to another alias.
|
|
|
|
What's new in Sudo 1.7.0?
|
|
|
|
* Rewritten parser that converts sudoers into a set of data structures.
|
|
This eliminates a number of ordering issues and makes it possible to
|
|
apply sudoers Defaults entries before searching for the command.
|
|
It also adds support for per-command Defaults specifications.
|
|
|
|
* Sudoers now supports a #include facility to allow the inclusion of other
|
|
sudoers-format files.
|
|
|
|
* Sudo's -l (list) flag has been enhanced:
|
|
o applicable Defaults options are now listed
|
|
o a command argument can be specified for testing whether a user
|
|
may run a specific command.
|
|
o a new -U flag can be used in conjunction with "sudo -l" to allow
|
|
root (or a user with "sudo ALL") list another user's privileges.
|
|
|
|
* A new -g flag has been added to allow the user to specify a
|
|
primary group to run the command as. The sudoers syntax has been
|
|
extended to include a group section in the Runas specification.
|
|
|
|
* A uid may now be used anywhere a username is valid.
|
|
|
|
* The "secure_path" run-time Defaults option has been restored.
|
|
|
|
* Password and group data is now cached for fast lookups.
|
|
|
|
* The file descriptor at which sudo starts closing all open files is now
|
|
configurable via sudoers and, optionally, the command line.
|
|
|
|
* Visudo will now warn about aliases that are defined but not used.
|
|
|
|
* The -i and -s command line flags now take an optional command
|
|
to be run via the shell. Previously, the argument was passed
|
|
to the shell as a script to run.
|
|
|
|
* Improved LDAP support. SASL authentication may now be used in
|
|
conjunction when connecting to an LDAP server. The krb5_ccname
|
|
parameter in ldap.conf may be used to enable Kerberos.
|
|
|
|
* Support for /etc/nsswitch.conf. LDAP users may now use nsswitch.conf
|
|
to specify the sudoers order. E.g.:
|
|
sudoers: ldap files
|
|
to check LDAP, then /etc/sudoers. The default is "files", even
|
|
when LDAP support is compiled in. This differs from sudo 1.6
|
|
where LDAP was always consulted first.
|
|
|
|
* Support for /etc/environment on AIX and Linux. If sudo is run
|
|
with the -i flag, the contents of /etc/environment are used to
|
|
populate the new environment that is passed to the command being
|
|
run.
|
|
|
|
* If no terminal is available or if the new -A flag is specified,
|
|
sudo will use a helper program to read the password if one is
|
|
configured. Typically, this is a graphical password prompter
|
|
such as ssh-askpass.
|
|
|
|
* A new Defaults option, "mailfrom" that sets the value of the
|
|
"From:" field in the warning/error mail. If unspecified, the
|
|
login name of the invoking user is used.
|
|
|
|
* A new Defaults option, "env_file" that refers to a file containing
|
|
environment variables to be set in the command being run.
|
|
|
|
* A new flag, -n, may be used to indicate that sudo should not
|
|
prompt the user for a password and, instead, exit with an error
|
|
if authentication is required.
|
|
|
|
* If sudo needs to prompt for a password and it is unable to disable
|
|
echo (and no askpass program is defined), it will refuse to run
|
|
unless the "visiblepw" Defaults option has been specified.
|
|
|
|
* Prior to version 1.7.0, hitting enter/return at the Password: prompt
|
|
would exit sudo. In sudo 1.7.0 and beyond, this is treated as
|
|
an empty password. To exit sudo, the user must press ^C or ^D
|
|
at the prompt.
|
|
|
|
* visudo will now check the sudoers file owner and mode in -c (check)
|
|
mode when the -s (strict) flag is specified.
|
|
|
|
* A new Defaults option "umask_override" will cause sudo to set the
|
|
umask specified in sudoers even if it is more permissive than the
|
|
invoking user's umask.
|