Annotation of embedaddon/sudo/NEWS, revision 1.1.1.6
1.1.1.6 ! misho 1: What's new in Sudo 1.8.10p3?
! 2:
! 3: * Fixed expansion of %p in the prompt for "sudo -l" when rootpw,
! 4: runaspw or targetpw is set. Bug #639
! 5:
! 6: * Fixed matching of uids and gids which was broken in version 1.8.9.
! 7: Bug #640
! 8:
! 9: * PAM credential initialization has been re-enabled. It was
! 10: unintentionally disabled by default in version 1.8.8. The way
! 11: credentials are initialized has also been fixed. Bug #642.
! 12:
! 13: * Fixed a descriptor leak on Linux when determing boot time. Sudo
! 14: normally closes extra descriptors before running a command so
! 15: the impact is limited. Bug #645
! 16:
! 17: * Fixed flushing of the last buffer of data when I/O logging is
! 18: enabled. This bug, introduced in version 1.8.9, could cause
! 19: incomplete command output on some systems. Bug #646
! 20:
! 21: What's new in Sudo 1.8.10p2?
! 22:
! 23: * Fixed a hang introduced in sudo 1.8.10 when timestamp_timeout
! 24: is set to zero.
! 25:
! 26: What's new in Sudo 1.8.10p1?
! 27:
! 28: * Fixed a bug introduced in sudo 1.8.10 that prevented the disabling
! 29: of tty-based tickets.
! 30:
! 31: * Fixed a bug with netgated commands in "sudo -l command" that
! 32: could cause the command to be listed even when it was explicitly
! 33: denied. This only affected list mode when a command was specified.
! 34: Bug #636
! 35:
! 36: What's new in Sudo 1.8.10?
! 37:
! 38: * It is now possible to disable network interface probing in
! 39: sudo.conf by changing the value of the probe_interfaces
! 40: setting.
! 41:
! 42: * When listing a user's privileges (sudo -l), the sudoers plugin
! 43: will now prompt for the user's password even if the targetpw,
! 44: rootpw or runaspw options are set.
! 45:
! 46: * The sudoers plugin uses a new format for its time stamp files.
! 47: Each user now has a single file which may contain multiple records
! 48: when per-tty time stamps are in use (the default). The time
! 49: stamps use a monotonic timer where available and are once again
! 50: located in a directory under /var/run. The lecture status is
! 51: now stored separately from the time stamps in a different directory.
! 52: Bug #616
! 53:
! 54: * sudo's -K option will now remove all of the user's time stamps,
! 55: not just the time stamp for the current terminal. The -k option
! 56: can be used to only disable time stamps for the current terminal.
! 57:
! 58: * If sudo was started in the background and needed to prompt for
! 59: a password, it was not possible to suspend it at the password
! 60: prompt. This now works properly.
! 61:
! 62: * LDAP-based sudoers now uses a default search filter of
! 63: (objectClass=sudoRole) for more efficient queries. The netgroup
! 64: query has been modified to avoid falling below the minimum length
! 65: for OpenLDAP substring indices.
! 66:
! 67: * The new "use_netgroups" sudoers option can be used to explicitly
! 68: enable or disable netgroups support. For LDAP-based sudoers,
! 69: netgroup support requires an expensive substring match on the
! 70: server. If netgroups are not needed, this option can be disabled
! 71: to reduce the load on the LDAP server.
! 72:
! 73: * Sudo is once again able to open the sudoers file when the group
! 74: on sudoers doesn't match the expected value, so long as the file
! 75: is not group writable.
! 76:
! 77: * Sudo now installs an init.d script to clear the time stamp
! 78: directory at boot time on AIX and HP-UX systems. These systems
! 79: either lack /var/run or do not clear it on boot.
! 80:
! 81: * The JSON format used by "visudo -x" now properly supports the
! 82: negation operator. In addition, the Options object is now the
! 83: same for both Defaults and Cmnd_Specs.
! 84:
! 85: * Czech and Serbian translations for sudoers from translationproject.org.
! 86:
! 87: * Catalan translation for sudo from translationproject.org.
! 88:
! 89: What's new in Sudo 1.8.9p5?
! 90:
! 91: * Fixed a compilation error on AIX when LDAP support is enabled.
! 92:
! 93: * Fixed parsing of the "umask" defaults setting in sudoers. Bug #632.
! 94:
! 95: * Fixed a failed assertion when the "closefrom_override" defaults
! 96: setting is enabled in sudoers and sudo's -C flag is used. Bug #633.
! 97:
! 98: What's new in Sudo 1.8.9p4?
! 99:
! 100: * Fixed a bug where sudo could consume large amounts of CPU while
! 101: the command was running when I/O logging is not enabled. Bug #631
! 102:
! 103: * Fixed a bug where sudo would exit with an error when the debug
! 104: level is set to util@debug or all@debug and I/O logging is not
! 105: enabled. The command would continue runnning after sudo exited.
! 106:
! 107: What's new in Sudo 1.8.9p3?
! 108:
! 109: * Fixed a bug introduced in sudo 1.8.9 that prevented the tty name
! 110: from being resolved properly on Linux systems. Bug #630.
! 111:
! 112: What's new in Sudo 1.8.9p2?
! 113:
! 114: * Updated config.guess, config.sub and libtool to support the ppc64le
! 115: architecture (IBM PowerPC Little Endian).
! 116:
! 117: What's new in Sudo 1.8.9p1?
! 118:
! 119: * Fixed a problem with gcc 4.8's handling of bit fields that could
! 120: lead to the noexec flag being enabled even when it was not
! 121: explicitly set.
! 122:
! 123: What's new in Sudo 1.8.9?
! 124:
! 125: * Reworked sudo's main event loop to use a simple event subsystem
! 126: using poll(2) or select(2) as the back end.
! 127:
! 128: * It is now possible to statically compile the sudoers plugin into
! 129: the sudo binary without disabling shared library support. The
! 130: sudo.conf file may still be used to configure other plugins.
! 131:
! 132: * Sudo can now be compiled again with a C preprocessor that does
! 133: not support variadic macros.
! 134:
! 135: * Visudo can now export a sudoers file in JSON format using the
! 136: new -x flag.
! 137:
! 138: * The locale is now set correctly again for visudo and sudoreplay.
! 139:
! 140: * The plugin API has been extended to allow the plugin to exclude
! 141: specific file descriptors from the "closefrom" range.
! 142:
! 143: * There is now a workaround for a Solaris-specific problem where
! 144: NOEXEC was overriding traditional root DAC behavior.
! 145:
! 146: * Add user netgroup filtering for SSSD. Previously, rules for
! 147: a netgroup were applied to all even when they did not belong
! 148: to the specified netgroup.
! 149:
! 150: * On systems with BSD login classes, if the user specified a group
! 151: (not a user) to run the command as, it was possible to specify
! 152: a different login class even when the command was not run as the
! 153: super user.
! 154:
! 155: * The closefrom() emulation on Mac OS X now uses /dev/fd if possible.
! 156:
! 157: * Fixed a bug where sudoedit would not update the original file
! 158: from the temporary when PAM or I/O logging is not enabled.
! 159:
! 160: * When recycling I/O logs, the log files are now truncated properly.
! 161:
! 162: * Fixes bugs #617, #621, #622, #623, #624, #625, #626
! 163:
1.1.1.5 misho 164: What's new in Sudo 1.8.8?
165:
166: * Removed a warning on PAM systems with stacked auth modules
167: where the first module on the stack does not succeed.
168:
169: * Sudo, sudoreplay and visudo now support GNU-style long options.
170:
171: * The -h (--host) option may now be used to specify a host name.
172: This is currently only used by the sudoers plugin in conjunction
173: with the -l (--list) option.
174:
175: * Program usage messages and manual SYNOPSIS sections have been
176: simplified.
177:
178: * Sudo's LDAP SASL support now works properly with Kerberos.
179: Previously, the SASL library was unable to locate the user's
180: credential cache.
181:
182: * It is now possible to set the nproc resource limit to unlimited
183: via pam_limits on Linux (bug #565).
184:
185: * New "pam_service" and "pam_login_service" sudoers options
186: that can be used to specify the PAM service name to use.
187:
188: * New "pam_session" and "pam_setcred" sudoers options that
189: can be used to disable PAM session and credential support.
190:
191: * The sudoers plugin now properly supports UIDs and GIDs
192: that are larger than 0x7fffffff on 32-bit platforms.
193:
194: * Fixed a visudo bug introduced in sudo 1.8.7 where per-group
195: Defaults entries would cause an internal error.
196:
197: * If the "tty_tickets" sudoers option is enabled (the default),
198: but there is no tty present, sudo will now use a ticket file
199: based on the parent process ID. This makes it possible to support
200: the normal timeout behavior for the session.
201:
202: * Fixed a problem running commands that change their process
203: group and then attempt to change the terminal settings when not
204: running the command in a pseudo-terminal. Previously, the process
205: would receive SIGTTOU since it was effectively a background
206: process. Sudo will now grant the child the controlling tty and
207: continue it when this happens.
208:
209: * The "closefrom_override" sudoers option may now be used in
210: a command-specified Defaults entry (bug #610).
211:
212: * Sudo's BSM audit support now works on Solaris 11.
213:
214: * Brazilian Portuguese translation for sudo and sudoers from
215: translationproject.org.
216:
217: * Czech translation for sudo from translationproject.org.
218:
219: * French translation for sudo from translationproject.org.
220:
221: * Sudo's noexec support on Mac OS X 10.4 and above now uses dynamic
222: symbol interposition instead of setting DYLD_FORCE_FLAT_NAMESPACE=1
223: which causes issues with some programs.
224:
225: * Fixed visudo's -q (--quiet) flag, broken in sudo 1.8.6.
226:
227: * Root may no longer change its SELinux role without entering
228: a password.
229:
230: * Fixed a bug introduced in Sudo 1.8.7 where the indexes written
231: to the I/O log timing file are two greater than they should be.
232: Sudoreplay now contains a work-around to parse those files.
233:
234: * In sudoreplay's list mode, the "this" qualifier in "fromdate"
235: or "todate" expressions now behaves more sensibly. Previously,
236: it would often match a date that was "one more" than expected.
237: For example, "this week" now matches the current week instead
238: of the following week.
239:
1.1.1.4 misho 240: What's new in Sudo 1.8.7?
241:
242: * The non-Unix group plugin is now supported when sudoers data
243: is stored in LDAP.
244:
245: * Sudo now uses a workaround for a locale bug on Solaris 11.0
246: that prevents setuid programs like sudo from fully using locales.
247:
248: * User messages are now always displayed in the user's locale,
249: even when the same message is being logged or mailed in a
250: different locale.
251:
252: * Log files created by sudo now explicitly have the group set
253: to group ID 0 rather than relying on BSD group semantics (which
254: may not be the default).
255:
256: * A new "exec_background" sudoers option can be used to initially
257: run the command without read access to the terminal when running
258: a command in a pseudo-tty. If the command tries to read from
259: the terminal it will be stopped by the kernel (via SIGTTIN or
1.1.1.5 misho 260: SIGTTOU) and sudo will immediately restart it as the foreground
1.1.1.4 misho 261: process (if possible). This allows sudo to only pass terminal
262: input to the program if the program actually is expecting it.
263: Unfortunately, a few poorly-behaved programs (like "su" on most
264: Linux systems) do not handle SIGTTIN and SIGTTOU properly.
265:
266: * Sudo now uses an efficient group query to get all the groups
267: for a user instead of iterating over every record in the group
268: database on HP-UX and Solaris.
269:
270: * Sudo now produces better error messages when there is an error
271: in the sudo.conf file.
272:
273: * Two new settings have been added to sudo.conf to give the admin
274: better control of how group database queries are performed. The
275: "group_source" specifies how the group list for a user will be
276: determined. Legal values are "static" (use the kernel groups
277: list), "dynamic" (perform a group database query) and "adaptive"
278: (only perform a group database query if the kernel list is full).
1.1.1.5 misho 279: The "max_groups" setting specifies the maximum number of groups
280: a user may belong to when performing a group database query.
1.1.1.4 misho 281:
282: * The sudo.conf file now supports line continuation by using a
283: backslash as the last character on the line.
284:
285: * There is now a standalone sudo.conf manual page.
286:
1.1.1.5 misho 287: * Sudo now stores its libexec files in a "sudo" sub-directory instead
1.1.1.4 misho 288: of in libexec itself. For backwards compatibility, if the plugin
289: is not found in the default plugin directory, sudo will check
290: the parent directory if the default directory ends in "/sudo".
291:
292: * The sudoers I/O logging plugin now logs the terminal size.
293:
294: * A new sudoers option "maxseq" can be used to limit the number of
295: I/O log entries that are stored.
296:
297: * The "system_group" and "group_file" sudoers group provider plugins
298: are now installed by default.
299:
300: * The list output (sudo -l) output from the sudoers plugin is now
301: less ambiguous when an entry includes different runas users.
302: The long list output (sudo -ll) for file-based sudoers is now
303: more consistent with the format of LDAP-based sudoers.
304:
305: * A uid may now be used in the sudoRunAsUser attributes for LDAP
306: sudoers.
307:
308: * Minor plugin API change: the close and version functions are now
309: optional. If the policy plugin does not provide a close function
310: and the command is not being run in a new pseudo-tty, sudo may
311: now execute the command directly instead of in a child process.
312:
313: * A new sudoers option "pam_session" can be used to disable sudo's
314: PAM session support.
315:
316: * On HP-UX systems, sudo will now use the pstat() function to
317: determine the tty instead of ttyname().
318:
319: * Turkish translation for sudo and sudoers from translationproject.org.
320:
321: * Dutch translation for sudo and sudoers from translationproject.org.
322:
323: * Tivoli Directory Server client libraries may now be used with
324: HP-UX where libibmldap has a hidden dependency on libCsup.
325:
326: * The sudoers plugin will now ignore invalid domain names when
327: checking netgroup membership. Most Linux systems use the string
328: "(none)" for the NIS-style domain name instead of an empty string.
329:
330: * New support for specifying a SHA-2 digest along with the command
331: in sudoers. Supported hash types are sha224, sha256, sha384 and
332: sha512. See the description of Digest_Spec in the sudoers manual
333: or the description of sudoCommand in the sudoers.ldap manual for
334: details.
335:
336: * The paths to ldap.conf and ldap.secret may now be specified as
337: arguments to the sudoers plugin in the sudo.conf file.
338:
339: * Fixed potential false positives in visudo's alias cycle detection.
340:
341: * Fixed a problem where the time stamp file was being treated
342: as out of date on Linux systems where the change time on the
343: pseudo-tty device node can change after it is allocated.
344:
345: * Sudo now only builds Position Independent Executables (PIE)
346: by default on Linux systems and verifies that a trivial test
347: program builds and runs.
348:
349: * On Solaris 11.1 and higher, sudo binaries will now have the
350: ASLR tag enabled if supported by the linker.
351:
352: What's new in Sudo 1.8.6p8?
353:
354: * Terminal detection now works properly on 64-bit AIX kernels.
355: This was broken by the removal of the ttyname() fallback in Sudo
356: 1.8.6p6. Sudo is now able to map an AIX 64-bit device number
357: to the corresponding device file in /dev.
358:
359: * Sudo now checks for crypt() returning NULL when performing
360: passwd-based authentication.
361:
362: What's new in Sudo 1.8.6p7?
363:
364: * A time stamp file with the date set to the epoch by "sudo -k"
365: is now completely ignored regardless of what the local clock is
366: set to. Previously, if the local clock was set to a value between
367: the epoch and the time stamp timeout value, a time stamp reset
368: by "sudo -k" would be considered current.
369:
370: * The tty-specific time stamp file now includes the session ID
371: of the sudo process that created it. If a process with the same
372: tty but a different session ID runs sudo, the user will now be
373: prompted for a password (assuming authentication is required for
374: the command).
375:
376: What's new in Sudo 1.8.6p6?
377:
378: * On systems where the controlling tty can be determined via /proc
379: or sysctl(), sudo will no longer fall back to using ttyname()
380: if the process has no controlling tty. This prevents sudo from
381: using a non-controlling tty for logging and time stamp purposes.
382:
383: What's new in Sudo 1.8.6p5?
384:
385: * Fixed a potential crash in visudo's alias cycle detection.
386:
387: * Improved performance on Solaris when retrieving the group list
388: for the target user. On systems with a large number of groups
389: where the group database is not local (NIS, LDAP, AD), fetching
390: the group list could take a minute or more.
391:
392: What's new in Sudo 1.8.6p4?
393:
394: * The -fstack-protector is now used when linking visudo, sudoreplay
395: and testsudoers.
396:
397: * Avoid building PIE binaries on FreeBSD/ia64 as they don't run
398: properly.
399:
400: * Fixed a crash in visudo strict mode when an unknown Defaults
401: setting is encountered.
402:
403: * Do not inform the user that the command was not permitted by the
404: policy if they do not successfully authenticate. This is a
405: regression introduced in sudo 1.8.6.
406:
407: * Allow sudo to be build with sss support without also including
408: ldap support.
409:
410: * Fix running commands that need the terminal in the background
411: when I/O logging is enabled. E.g. "sudo vi &". When the command
412: is foregrounded, it will now resume properly.
413:
1.1.1.3 misho 414: What's new in Sudo 1.8.6p3?
415:
416: * Fixed post-processing of the man pages on systems with legacy
417: versions of sed.
418:
419: * Fixed "sudoreplay -l" on Linux systems with file systems that
420: set DT_UNKNOWN in the d_type field of struct dirent.
421:
422: What's new in Sudo 1.8.6p2?
423:
424: * Fixed suspending a command after it has already been resumed
425: once when I/O logging (or use_pty) is not enabled.
426: This was a regression introduced in version 1.8.6.
427:
428: What's new in Sudo 1.8.6p1?
429:
430: * Fixed the setting of LOGNAME, USER and USERNAME variables in the
431: command's environment when env_reset is enabled (the default).
432: This was a regression introduced in version 1.8.6.
433:
434: * Sudo now honors SUCCESS=return in /etc/nsswitch.conf.
435:
436: What's new in Sudo 1.8.6?
437:
438: * Sudo is now built with the -fstack-protector flag if the the
439: compiler supports it. Also, the -zrelro linker flag is used if
440: supported. The --disable-hardening configure option can be used
441: to build sudo without stack smashing protection.
442:
443: * Sudo is now built as a Position Independent Executable (PIE)
444: if supported by the compiler and linker.
445:
446: * If the user is a member of the "exempt" group in sudoers, they
447: will no longer be prompted for a password even if the -k flag
448: is specified with the command. This makes "sudo -k command"
449: consistent with the behavior one would get if the user ran "sudo
450: -k" immediately before running the command.
451:
452: * The sudoers file may now be a symbolic link. Previously, sudo
453: would refuse to read sudoers unless it was a regular file.
454:
455: * The sudoreplay command can now properly replay sessions where
456: no tty was present.
457:
458: * The sudoers plugin now takes advantage of symbol visibility
459: controls when supported by the compiler or linker. As a result,
460: only a small number of symbols are exported which significantly
461: reduces the chances of a conflict with other shared objects.
462:
463: * Improved support for the Tivoli Directory Server LDAP client
464: libraries. This includes support for using LDAP over SSL (ldaps)
465: as well as support for the BIND_TIMELIMIT, TLS_KEY and TLS_CIPHERS
466: ldap.conf options. A new ldap.conf option, TLS_KEYPW can be
467: used to specify a password to decrypt the key database.
468:
1.1.1.4 misho 469: * When constructing a time filter for use with LDAP sudoNotBefore
1.1.1.3 misho 470: and sudoNotAfter attributes, the current time now includes tenths
471: of a second. This fixes a problem with timed entries on Active
472: Directory.
473:
474: * If a user fails to authenticate and the command would be rejected
475: by sudoers, it is now logged with "command not allowed" instead
476: of "N incorrect password attempts". Likewise, the "mail_no_perms"
477: sudoers option now takes precedence over "mail_badpass".
478:
479: * The sudo manuals are now formatted using the mdoc macros. Versions
480: using the legacy man macros are provided for systems that lack mdoc.
481:
482: * New support for Solaris privilege sets. This makes it possible
483: to specify fine-grained privileges in the sudoers file on Solaris
484: 10 and above. A Runas_Spec that contains no Runas_Lists can be
485: used to give a user the ability to run a command as themselves
486: but with an expanded privilege set.
487:
488: * Fixed a problem with the reboot and shutdown commands on some
489: systems (such as HP-UX and BSD). On these systems, reboot sends
490: all processes (except itself) SIGTERM. When sudo received
491: SIGTERM, it would relay it to the reboot process, thus killing
492: reboot before it had a chance to actually reboot the system.
493:
494: * Support for using the System Security Services Daemon (SSSD) as
495: a source of sudoers data.
496:
497: * Slovenian translation for sudo and sudoers from translationproject.org.
498:
499: * Visudo will now warn about unknown Defaults entries that are
500: per-host, per-user, per-runas or per-command.
501:
502: * Fixed a race condition that could cause sudo to receive SIGTTOU
503: (and stop) when resuming a shell that was run via sudo when I/O
504: logging (and use_pty) is not enabled.
505:
506: * Sending SIGTSTP directly to the sudo process will now suspend the
507: running command when I/O logging (and use_pty) is not enabled.
508:
509: What's new in Sudo 1.8.5p3?
510:
511: * Fixed the loading of I/O plugins that conform to a plugin API
512: version older than 1.2.
513:
514: What's new in Sudo 1.8.5p2?
515:
516: * Fixed use of the SUDO_ASKPASS environment variable which was
517: broken in Sudo 1.8.5.
518:
519: * Fixed a problem reading the sudoers file when the file mode is
520: more restrictive than the expected mode. For example, when the
521: expected sudoers file mode is 0440 but the actual mode is 0400.
522:
1.1.1.2 misho 523: What's new in Sudo 1.8.5p1?
524:
525: * Fixed a bug that prevented files in an include directory from
526: being evaluated.
527:
528: What's new in Sudo 1.8.5?
529:
530: * When "noexec" is enabled, sudo_noexec.so will now be prepended
531: to any existing LD_PRELOAD variable instead of replacing it.
532:
533: * The sudo_noexec.so shared library now wraps the execvpe(),
534: exect(), posix_spawn() and posix_spawnp() functions.
535:
536: * The user/group/mode checks on sudoers files have been relaxed.
537: As long as the file is owned by the sudoers uid, not world-writable
538: and not writable by a group other than the sudoers gid, the file
539: is considered OK. Note that visudo will still set the mode to
540: the value specified at configure time.
541:
542: * It is now possible to specify the sudoers path, uid, gid and
543: file mode as options to the plugin in the sudo.conf file.
544:
545: * Croatian, Galician, German, Lithuanian, Swedish and Vietnamese
546: translations from translationproject.org.
547:
548: * /etc/environment is no longer read directly on Linux systems
549: when PAM is used. Sudo now merges the PAM environment into the
550: user's environment which is typically set by the pam_env module.
551:
552: * The initial evironment created when env_reset is in effect now
553: includes the contents of /etc/environment on AIX systems and the
554: "setenv" and "path" entries from /etc/login.conf on BSD systems.
555:
556: * The plugin API has been extended in three ways. First, options
557: specified in sudo.conf after the plugin pathname are passed to
558: the plugin's open function. Second, sudo has limited support
559: for hooks that can be used by plugins. Currently, the hooks are
560: limited to environment handling functions. Third, the init_session
561: policy plugin function is passed a pointer to the user environment
562: which can be updated during session setup. The plugin API version
563: has been incremented to version 1.2. See the sudo_plugin manual
564: for more information.
565:
566: * The policy plugin's init_session function is now called by the
567: parent sudo process, not the child process that executes the
568: command. This allows the PAM session to be open and closed in
569: the same process, which some PAM modules require.
570:
571: * Fixed parsing of "Path askpass" and "Path noexec" in sudo.conf,
572: which was broken in version 1.8.4.
573:
574: * On systems with an SVR4-style /proc file system, the /proc/pid/psinfo
575: file is now uses to determine the controlling terminal, if possible.
576: This allows tty-based tickets to work properly even when, e.g.
577: standard input, output and error are redirected to /dev/null.
578:
579: * The output of "sudoreplay -l" is now sorted by file name (or
580: sequence number). Previously, entries were displayed in the
581: order in which they were found on the file system.
582:
583: * Sudo now behaves properly when I/O logging is enabled and the
584: controlling terminal is revoked (e.g. the running sshd is killed).
585: Previously, sudo may have exited without calling the I/O plugin's
586: close function which can lead to an incomplete I/O log.
587:
588: * Sudo can now detect when a user has logged out and back in again
589: on Solaris 11, just like it can on Solaris 10.
590:
591: * The built-in zlib included with Sudo has been upgraded to version
592: 1.2.6.
593:
594: * Setting the SSL parameter to start_tls in ldap.conf now works
595: properly when using Mozilla-based SDKs that support the
596: ldap_start_tls_s() function.
597:
598: * The TLS_CHECKPEER parameter in ldap.conf now works when the
599: Mozilla NSS crypto backend is used with OpenLDAP.
600:
601: * A new group provider plugin, system_group, is included which
602: performs group look ups by name using the system groups database.
603: This can be used to restore the pre-1.7.3 sudo group lookup
604: behavior.
605:
606: What's new in Sudo 1.8.4p5?
607:
608: * Fixed a bug when matching against an IP address with an associated
609: netmask in the sudoers file. In certain circumstances, this
610: could allow users to run commands on hosts they are not authorized
611: for.
612:
613: What's new in Sudo 1.8.4p4?
614:
615: * Fixed a bug introduced in Sudo 1.8.4 which prevented "sudo -v"
616: from working.
617:
618: What's new in Sudo 1.8.4p3?
619:
620: * Fixed a crash on FreeBSD when no tty is present.
621:
622: * Fixed a bug introduced in Sudo 1.8.4 that allowed users to
623: specify environment variables to set on the command line without
624: having sudo "ALL" permissions or the "SETENV" tag.
625:
626: * When visudo is run with the -c (check) option, the sudoers
627: file(s) owner and mode are now also checked unless the -f option
628: was specified.
629:
630: What's new in Sudo 1.8.4p2?
631:
632: * Fixed a bug introduced in Sudo 1.8.4 where insufficient space
633: was allocated for group IDs in the LDAP filter.
634:
635: * Fixed a bug introduced in Sudo 1.8.4 where the path to sudo.conf
636: was "/sudo.conf" instead of "/etc/sudo.conf".
637:
638: * Fixed a bug introduced in Sudo 1.8.4 which could cause a hang
639: when I/O logging is enabled and input is from a pipe or file.
640:
641: What's new in Sudo 1.8.4p1?
642:
643: * Fixed a bug introduced in sudo 1.8.4 that broke adding to or
644: deleting from the env_keep, env_check and env_delete lists in
645: sudoers on some platforms.
646:
647: What's new in Sudo 1.8.4?
648:
649: * The -D flag in sudo has been replaced with a more general debugging
650: framework that is configured in sudo.conf.
651:
652: * Fixed a false positive in visudo strict mode when aliases are
653: in use.
654:
655: * Fixed a crash with "sudo -i" when a runas group was specified
656: without a runas user.
657:
658: * The line on which a syntax error is reported in the sudoers file
659: is now more accurate. Previously it was often off by a line.
660:
661: * Fixed a bug where stack garbage could be printed at the end of
662: the lecture when the "lecture_file" option was enabled.
663:
664: * "make install" now honors the LINGUAS environment variable.
665:
666: * The #include and #includedir directives in sudoers now support
667: relative paths. If the path is not fully qualified it is expected
668: to be located in the same directory of the sudoers file that is
669: including it.
670:
671: * Serbian and Spanish translations for sudo from translationproject.org.
672:
673: * LDAP-based sudoers may now access by group ID in addition to
674: group name.
675:
676: * visudo will now fix the mode on the sudoers file even if no changes
677: are made unless the -f option is specified.
678:
679: * The "use_loginclass" sudoers option works properly again.
680:
681: * On systems that use login.conf, "sudo -i" now sets environment
682: variables based on login.conf.
683:
684: * For LDAP-based sudoers, values in the search expression are now
685: escaped as per RFC 4515.
686:
687: * The plugin close function is now properly called when a login
688: session is killed (as opposed to the actual command being killed).
689: This can happen when an ssh session is disconnected or the
690: terminal window is closed.
691:
692: * The deprecated "noexec_file" sudoers option is no longer supported.
693:
694: * Fixed a race condition when I/O logging is not enabled that could
695: result in tty-generated signals (e.g. control-C) being received
696: by the command twice.
697:
698: * If none of the standard input, output or error are connected to
699: a tty device, sudo will now check its parent's standard input,
700: output or error for the tty name on systems with /proc and BSD
701: systems that support the KERN_PROC_PID sysctl. This allows
702: tty-based tickets to work properly even when, e.g. standard
703: input, output and error are redirected to /dev/null.
704:
705: * Added the --enable-kerb5-instance configure option to allow
706: people using Kerberos V authentication to specify a custom
707: instance so the principal name can be, e.g. "username/sudo"
708: similar to how ksu uses "username/root".
709:
710: * Fixed a bug where a pattern like "/usr/*" included /usr/bin/ in
711: the results, which would be incorrectly be interpreted as if the
712: sudoers file had specified a directory.
713:
714: * "visudo -c" will now list any include files that were checked
715: in addition to the main sudoers file when everything parses OK.
716:
717: * Users that only have read-only access to the sudoers file may
718: now run "visudo -c". Previously, write permissions were required
719: even though no writing is down in check-only mode.
720:
721: * It is now possible to prevent the disabling of core dumps from
722: within sudo itself by adding a line to the sudo.conf file like
723: "Set disable_coredump false".
724:
1.1 misho 725: What's new in Sudo 1.8.3p2?
726:
727: * Fixed a format string vulnerability when the sudo binary (or a
728: symbolic link to the sudo binary) contains printf format escapes
729: and the -D (debugging) flag is used.
730:
731: What's new in Sudo 1.8.3p1?
732:
733: * Fixed a crash in the monitor process on Solaris when NOPASSWD
734: was specified or when authentication was disabled.
1.1.1.4 misho 735:
1.1 misho 736: * Fixed matching of a Runas_Alias in the group section of a
737: Runas_Spec.
738:
739: What's new in Sudo 1.8.3?
740:
741: * Fixed expansion of strftime() escape sequences in the "log_dir"
742: sudoers setting.
743:
744: * Esperanto, Italian and Japanese translations from translationproject.org.
745:
746: * Sudo will now use PAM by default on AIX 6 and higher.
747:
748: * Added --enable-werror configure option for gcc's -Werror flag.
749:
750: * Visudo no longer assumes all editors support the +linenumber
751: command line argument. It now uses a whitelist of editors known
752: to support the option.
753:
754: * Fixed matching of network addresses when a netmask is specified
755: but the address is not the first one in the CIDR block.
756:
757: * The configure script now check whether or not errno.h declares
758: the errno variable. Previously, sudo would always declare errno
759: itself for older systems that don't declare it in errno.h.
760:
761: * The NOPASSWD tag is now honored for denied commands too, which
762: matches historic sudo behavior (prior to sudo 1.7.0).
763:
764: * Sudo now honors the "DEREF" setting in ldap.conf which controls
765: how alias dereferencing is done during an LDAP search.
766:
767: * A symbol conflict with the pam_ssh_agent_auth PAM module that
768: would cause a crash been resolved.
769:
770: * The inability to load a group provider plugin is no longer
771: a fatal error.
772:
773: * A potential crash in the utmp handling code has been fixed.
774:
775: * Two PAM session issues have been resolved. In previous versions
776: of sudo, the PAM session was opened as one user and closed as
777: another. Additionally, if no authentication was performed, the
778: PAM session would never be closed.
779:
780: * Sudo will now work correctly with LDAP-based sudoers using TLS
781: or SSL on Debian systems.
782:
783: * The LOGNAME, USER and USERNAME environment variables are preserved
784: correctly again in sudoedit mode.
785:
786: What's new in Sudo 1.8.2?
787:
788: * Sudo, visudo, sudoreplay and the sudoers plug-in now have natural
789: language support (NLS). This can be disabled by passing configure
790: the --disable-nls option. Sudo will use gettext(), if available,
791: to display translated messages. All translations are coordinated
792: via The Translation Project, http://translationproject.org/.
793:
794: * Plug-ins are now loaded with the RTLD_GLOBAL flag instead of
795: RTLD_LOCAL. This fixes missing symbol problems in PAM modules
796: on certain platforms, such as FreeBSD and SuSE Linux Enterprise.
797:
798: * I/O logging is now supported for commands run in background mode
799: (using sudo's -b flag).
800:
801: * Group ownership of the sudoers file is now only enforced when
802: the file mode on sudoers allows group readability or writability.
803:
804: * Visudo now checks the contents of an alias and warns about cycles
805: when the alias is expanded.
806:
1.1.1.2 misho 807: * If the user specifies a group via sudo's -g option that matches
1.1 misho 808: the target user's group in the password database, it is now
809: allowed even if no groups are present in the Runas_Spec.
810:
811: * The sudo Makefiles now have more complete dependencies which are
812: automatically generated instead of being maintained manually.
813:
814: * The "use_pty" sudoers option is now correctly passed back to the
815: sudo front end. This was missing in previous versions of sudo
816: 1.8 which prevented "use_pty" from being honored.
817:
818: * "sudo -i command" now works correctly with the bash version
819: 2.0 and higher. Previously, the .bash_profile would not be
820: sourced prior to running the command unless bash was built with
821: NON_INTERACTIVE_LOGIN_SHELLS defined.
822:
823: * When matching groups in the sudoers file, sudo will now match
824: based on the name of the group instead of the group ID. This can
825: substantially reduce the number of group lookups for sudoers
826: files that contain a large number of groups.
827:
828: * Multi-factor authentication is now supported on AIX.
829:
830: * Added support for non-RFC 4517 compliant LDAP servers that require
831: that seconds be present in a timestamp, such as Tivoli Directory Server.
832:
833: * If the group vector is to be preserved, the PATH search for the
834: command is now done with the user's original group vector.
835:
836: * For LDAP-based sudoers, the "runas_default" sudoOption now works
837: properly in a sudoRole that contains a sudoCommand.
838:
839: * Spaces in command line arguments for "sudo -s" and "sudo -i" are
840: now escaped with a backslash when checking the security policy.
841:
842: What's new in Sudo 1.8.1p2?
843:
844: * Two-character CIDR-style IPv4 netmasks are now matched correctly
845: in the sudoers file.
846:
847: * A build error with MIT Kerberos V has been resolved.
848:
849: * A crash on HP-UX in the sudoers plugin when wildcards are
850: present in the sudoers file has been resolved.
851:
852: * Sudo now works correctly on Tru64 Unix again.
853:
854: What's new in Sudo 1.8.1p1?
855:
856: * Fixed a problem on AIX where sudo was unable to set the final
857: uid if the PAM module modified the effective uid.
858:
859: * A non-existent includedir is now treated the same as an empty
860: directory and not reported as an error.
861:
862: * Removed extraneous parens in LDAP filter when sudoers_search_filter
863: is enabled that can cause an LDAP search error.
864:
865: * Fixed a "make -j" problem for "make install".
866:
867: What's new in Sudo 1.8.1?
868:
869: * A new LDAP setting, sudoers_search_filter, has been added to
870: ldap.conf. This setting can be used to restrict the set of
871: records returned by the LDAP query. Based on changes from Matthew
872: Thomas.
873:
874: * White space is now permitted within a User_List when used in
875: conjunction with a per-user Defaults definition.
876:
877: * A group ID (%#gid) may now be specified in a User_List or Runas_List.
878: Likewise, for non-Unix groups the syntax is %:#gid.
879:
880: * Support for double-quoted words in the sudoers file has been fixed.
881: The change in 1.7.5 for escaping the double quote character
882: caused the double quoting to only be available at the beginning
883: of an entry.
884:
885: * The fix for resuming a suspended shell in 1.7.5 caused problems
886: with resuming non-shells on Linux. Sudo will now save the process
887: group ID of the program it is running on suspend and restore it
888: when resuming, which fixes both problems.
889:
890: * A bug that could result in corrupted output in "sudo -l" has been
891: fixed.
892:
893: * Sudo will now create an entry in the utmp (or utmpx) file when
894: allocating a pseudo-tty (e.g. when logging I/O). The "set_utmp"
895: and "utmp_runas" sudoers file options can be used to control this.
896: Other policy plugins may use the "set_utmp" and "utmp_user"
897: entries in the command_info list.
898:
899: * The sudoers policy now stores the TSID field in the logs
900: even when the "iolog_file" sudoers option is defined to a value
901: other than %{sessid}. Previously, the TSID field was only
902: included in the log file when the "iolog_file" option was set
903: to its default value.
904:
905: * The sudoreplay utility now supports arbitrary session IDs.
906: Previously, it would only work with the base-36 session IDs
907: that the sudoers plugin uses by default.
908:
909: * Sudo now passes "run_shell=true" to the policy plugin in the
910: settings list when sudo's -s command line option is specified.
911: The sudoers policy plugin uses this to implement the "set_home"
912: sudoers option which was missing from sudo 1.8.0.
913:
914: * The "noexec" functionality has been moved out of the sudoers
915: policy plugin and into the sudo front-end, which matches the
916: behavior documented in the plugin writer's guide. As a result,
917: the path to the noexec file is now specified in the sudo.conf
918: file instead of the sudoers file.
919:
920: * On Solaris 10, the PRIV_PROC_EXEC privilege is now used to
921: implement the "noexec" feature. Previously, this was implemented
922: via the LD_PRELOAD environment variable.
923:
924: * The exit values for "sudo -l", "sudo -v" and "sudo -l command"
925: have been fixed in the sudoers policy plugin.
926:
927: * The sudoers policy plugin now passes the login class, if any,
928: back to the sudo front-end.
929:
930: * The sudoers policy plugin was not being linked with requisite
931: libraries in certain configurations.
932:
933: * Sudo now parses command line arguments before loading any plugins.
934: This allows "sudo -V" or "sudo -h" to work even if there is a problem
935: with sudo.conf
936:
937: * Plugins are now linked with the static version of libgcc to allow
938: the plugin to run on a system where no shared libgcc is installed,
939: or where it is installed in a different location.
940:
941: What's new in Sudo 1.8.0?
942:
943: * Sudo has been refactored to use a modular framework that can
944: support third-party policy and I/O logging plugins. The default
945: plugin is "sudoers" which provides the traditional sudo functionality.
946: See the sudo_plugin manual for details on the plugin API and the
947: sample in the plugins directory for a simple example.
948:
949: What's new in Sudo 1.7.5?
950:
951: * When using visudo in check mode, a file named "-" may be used to
952: check sudoers data on the standard input.
953:
954: * Sudo now only fetches shadow password entries when using the
955: password database directly for authentication.
956:
957: * Password and group entries are now cached using the same key
958: that was used to look them up. This fixes a problem when looking
959: up entries by name if the name in the retrieved entry does not
960: match the name used to look it up. This may happen on some systems
961: that do case insensitive lookups or that truncate long names.
962:
963: * GCC will no longer display warnings on glibc systems that use
964: the warn_unused_result attribute for write(2) and other system calls.
965:
966: * If a PAM account management module denies access, sudo now prints
967: a more useful error message and stops trying to validate the user.
968:
969: * Fixed a potential hang on idle systems when the sudo-run process
970: exits immediately.
971:
972: * Sudo now includes a copy of zlib that will be used on systems
973: that do not have zlib installed.
974:
975: * The --with-umask-override configure flag has been added to enable
976: the "umask_override" sudoers Defaults option at build time.
977:
978: * Sudo now unblocks all signals on startup to avoid problems caused
979: by the parent process changing the default signal mask.
980:
981: * LDAP Sudoers entries may now specify a time period for which
982: the entry is valid. This requires an updated sudoers schema
983: that includes the sudoNotBefore and sudoNotAfter attributes.
984: Support for timed entries must be explicitly enabled in the
985: ldap.conf file. Based on changes from Andreas Mueller.
986:
987: * LDAP Sudoers entries may now specify a sudoOrder attribute that
988: determines the order in which matching entries are applied. The
989: last matching entry is used, just like file-based sudoers. This
990: requires an updated sudoers schema that includes the sudoOrder
991: attribute. Based on changes from Andreas Mueller.
992:
993: * When run as sudoedit, or when given the -e flag, sudo now treats
994: command line arguments as pathnames. This means that slashes
995: in the sudoers file entry must explicitly match slashes in
996: the command line arguments. As a result, and entry such as:
997: user ALL = sudoedit /etc/*
998: will allow editing of /etc/motd but not /etc/security/default.
999:
1000: * NETWORK_TIMEOUT is now an alias for BIND_TIMELIMIT in ldap.conf for
1001: compatibility with OpenLDAP configuration files.
1002:
1003: * The LDAP API TIMEOUT parameter is now honored in ldap.conf.
1004:
1005: * The I/O log directory may now be specified in the sudoers file.
1006:
1007: * Sudo will no longer refuse to run if the sudoers file is writable
1008: by root.
1009:
1010: * Sudo now performs command line escaping for "sudo -s" and "sudo -i"
1011: after validating the command so the sudoers entries do not need
1012: to include the backslashes.
1013:
1014: * Logging and email sending are now done in the locale specified
1015: by the "sudoers_locale" setting ("C" by default). Email send by
1016: sudo now includes MIME headers when "sudoers_locale" is not "C".
1017:
1018: * The configure script has a new option, --disable-env-reset, to
1019: allow one to change the default for the sudoers Default setting
1020: "env_reset" at compile time.
1021:
1022: * When logging "sudo -l command", sudo will now prepend "list "
1023: to the command in the log line to distinguish between an
1024: actual command invocation in the logs.
1025:
1026: * Double-quoted group and user names may now include escaped double
1027: quotes as part of the name. Previously this was a parse error.
1028:
1029: * Sudo once again restores the state of the signal handlers it
1030: modifies before executing the command. This allows sudo to be
1031: used with the nohup command.
1032:
1033: * Resuming a suspended shell now works properly when I/O logging
1034: is not enabled (the I/O logging case was already correct).
1035:
1036: What's new in Sudo 1.7.4p6?
1037:
1038: * A bug has been fixed in the I/O logging support that could cause
1039: visual artifacts in full-screen programs such as text editors.
1040:
1041: What's new in Sudo 1.7.4p5?
1042:
1043: * A bug has been fixed that would allow a command to be run without the
1044: user entering a password when sudo's -g flag is used without the -u flag.
1045:
1046: * If user has no supplementary groups, sudo will now fall back on checking
1047: the group file explicitly, which restores historic sudo behavior.
1048:
1049: * A crash has been fixed when sudo's -g flag is used without the -u flag
1050: and the sudoers file contains an entry with no runas user or group listed.
1051:
1052: * A crash has been fixed when the Solaris project support is enabled
1053: and sudo's -g flag is used without the -u flag.
1054:
1055: * Sudo no longer exits with an error when support for auditing is
1056: compiled in but auditing is not enabled.
1057:
1058: * Fixed a bug introduced in sudo 1.7.3 where the ticket file was not
1059: being honored when the "targetpw" sudoers Defaults option was enabled.
1060:
1061: * The LOG_INPUT and LOG_OUTPUT tags in sudoers are now parsed correctly.
1062:
1063: * A crash has been fixed in "sudo -l" when sudo is built with auditing
1064: support and the user is not allowed to run any commands on the host.
1065:
1066: What's new in Sudo 1.7.4p4?
1067:
1068: * A potential security issue has been fixed with respect to the handling
1069: of sudo's -g command line option when -u is also specified. The flaw
1070: may allow an attacker to run commands as a user that is not authorized
1071: by the sudoers file.
1072:
1073: * A bug has been fixed where "sudo -l" output was incomplete if multiple
1074: sudoers sources were defined in nsswitch.conf and there was an error
1075: querying one of the sources.
1076:
1077: * The log_input, log_output, and use_pty sudoers options now work correctly
1078: on AIX. Previously, sudo would hang if they were enabled.
1079:
1080: * The "make install" target now works correctly when sudo is built in a
1081: directory other than the source directory.
1082:
1083: * The "runas_default" sudoers setting now works properly in a per-command
1084: Defaults line.
1085:
1086: * Suspending and resuming the bash shell when PAM is in use now works
1087: correctly. The SIGCONT signal was not propagated to the child process.
1088:
1089: What's new in Sudo 1.7.4p3?
1090:
1091: * A bug has been fixed where duplicate HOME environment variables could be
1092: present when the env_reset setting was disabled and the always_set_home
1093: setting was enabled in sudoers.
1094:
1095: * The value of sysconfdir is now substituted into the path to the sudoers.d
1096: directory in the installed sudoers file.
1097:
1098: * Compilation problems on IRIX and other platforms have been fixed.
1099:
1100: * If multiple PAM "auth" actions are specified and the user enters ^C at
1101: the password prompt, sudo will no longer prompt for a password for any
1102: subsequent "auth" actions. Previously it was necessary to enter ^C for
1103: each "auth" action.
1104:
1105: What's new in Sudo 1.7.4p2?
1106:
1107: * A bug where sudo could spin in a busy loop waiting for the child process
1108: has been fixed.
1109:
1110: What's new in Sudo 1.7.4p1?
1111:
1112: * A bug introduced in sudo 1.7.3 that prevented the -k and -K options from
1113: functioning when the tty_tickets sudoers option is enabled has been fixed.
1114:
1115: * Sudo no longer prints a warning when the -k or -K options are specified
1116: and the ticket file does not exist.
1117:
1118: * It is now easier to cross-compile sudo.
1119:
1120: What's new in Sudo 1.7.4?
1121:
1122: * Sudoedit will now preserve the file extension in the name of the
1123: temporary file being edited. The extension is used by some
1124: editors (such as emacs) to choose the editing mode.
1125:
1126: * Time stamp files have moved from /var/run/sudo to either /var/db/sudo,
1127: /var/lib/sudo or /var/adm/sudo. The directories are checked for
1128: existence in that order. This prevents users from receiving the
1129: sudo lecture every time the system reboots. Time stamp files older
1130: than the boot time are ignored on systems where it is possible to
1131: determine this.
1132:
1133: * The tty_tickets sudoers option is now enabled by default.
1134:
1135: * Ancillary documentation (README files, LICENSE, etc) is now installed
1136: in a sudo documentation directory.
1137:
1138: * Sudo now recognizes "tls_cacert" as an alias for "tls_cacertfile"
1139: in ldap.conf.
1140:
1141: * Defaults settings that are tied to a user, host or command may
1142: now include the negation operator. For example:
1143: Defaults:!millert lecture
1144: will match any user but millert.
1145:
1146: * The default PATH environment variable, used when no PATH variable
1147: exists, now includes /usr/sbin and /sbin.
1148:
1149: * Sudo now uses polypkg (http://rc.quest.com/topics/polypkg/)
1150: for cross-platform packing.
1151:
1152: * On Linux, sudo will now restore the nproc resource limit before
1153: executing a command, unless the limit appears to have been modified
1154: by pam_limits. This avoids a problem with bash scripts that open
1155: more than 32 descriptors on SuSE Linux, where sysconf(_SC_CHILD_MAX)
1156: will return -1 when RLIMIT_NPROC is set to RLIMIT_UNLIMITED (-1).
1157:
1158: * The HOME and MAIL environment variables are now reset based on the
1159: target user's password database entry when the env_reset sudoers option
1160: is enabled (which is the case in the default configuration). Users
1161: wishing to preserve the original values should use a sudoers entry like:
1162: Defaults env_keep += HOME
1163: to preserve the old value of HOME and
1164: Defaults env_keep += MAIL
1165: to preserve the old value of MAIL.
1166:
1167: * Fixed a problem in the restoration of the AIX authdb registry setting.
1168:
1169: * Sudo will now fork(2) and wait until the command has completed before
1170: calling pam_close_session().
1171:
1172: * The default syslog facility is now "authpriv" if the operating system
1173: supports it, else "auth".
1174:
1175: What's new in Sudo 1.7.3?
1176:
1177: * Support for logging I/O for the command being run.
1178: For more information, see the documentation for the "log_input"
1179: and "log_output" Defaults options in the sudoers manual. Also
1180: see the sudoreplay manual for how to replay I/O log sessions.
1181:
1182: * The use_pty sudoers option can be used to force a command to be
1183: run in a pseudo-pty, even when I/O logging is not enabled.
1184:
1185: * On some systems, sudo can now detect when a user has logged out
1186: and back in again when tty-based time stamps are in use. Supported
1187: systems include Solaris systems with the devices file system,
1188: Mac OS X, and Linux systems with the devpts filesystem (pseudo-ttys
1189: only).
1190:
1191: * On AIX systems, the registry setting in /etc/security/user is
1192: now taken into account when looking up users and groups. Sudo
1193: now applies the correct the user and group ids when running a
1194: command as a user whose account details come from a different
1195: source (e.g. LDAP or DCE vs. local files).
1196:
1197: * Support for multiple 'sudoers_base' and 'uri' entries in ldap.conf.
1198: When multiple entries are listed, sudo will try each one in the
1199: order in which they are specified.
1200:
1201: * Sudo's SELinux support should now function correctly when running
1202: commands as a non-root user and when one of stdin, stdout or stderr
1203: is not a terminal.
1204:
1205: * Sudo will now use the Linux audit system with configure with
1206: the --with-linux-audit flag.
1207:
1208: * Sudo now uses mbr_check_membership() on systems that support it
1209: to determine group membership. Currently, only Darwin (Mac OS X)
1210: supports this.
1211:
1212: * When the tty_tickets sudoers option is enabled but there is no
1213: terminal device, sudo will no longer use or create a tty-based
1214: ticket file. Previously, sudo would use a tty name of "unknown".
1215: As a consequence, if a user has no terminal device, sudo will
1216: now always prompt for a password.
1217:
1218: * The passwd_timeout and timestamp_timeout options may now be
1219: specified as floating point numbers for more granular timeout
1220: values.
1221:
1222: * Negating the fqdn option in sudoers now works correctly when sudo
1223: is configured with the --with-fqdn option. In previous versions
1224: of sudo the fqdn was set before sudoers was parsed.
1225:
1226: What's new in Sudo 1.7.2?
1227:
1228: * A new #includedir directive is available in sudoers. This can be
1229: used to implement an /etc/sudo.d directory. Files in an includedir
1230: are not edited by visudo unless they contain a syntax error.
1231:
1232: * The -g option did not work properly when only setting the group
1233: (and not the user). Also, in -l mode the wrong user was displayed
1234: for sudoers entries where only the group was allowed to be set.
1235:
1236: * Fixed a problem with the alias checking in visudo which
1237: could prevent visudo from exiting.
1238:
1239: * Sudo will now correctly parse the shell-style /etc/environment
1240: file format used by pam_env on Linux.
1241:
1242: * When doing password and group database lookups, sudo will only
1243: cache an entry by name or by id, depending on how the entry was
1244: looked up. Previously, sudo would cache by both name and id
1245: from a single lookup, but this breaks sites that have multiple
1246: password or group database names that map to the same uid or
1247: gid.
1248:
1249: * User and group names in sudoers may now be enclosed in double
1250: quotes to avoid having to escape special characters.
1251:
1252: * BSM audit fixes when changing to a non-root uid.
1253:
1254: * Experimental non-Unix group support. Currently only works with
1255: Quest Authorization Services and allows Active Directory groups
1256: fixes for Minix-3.
1257:
1258: * For Netscape/Mozilla-derived LDAP SDKs the certificate and key
1259: paths may be specified as a directory or a file. However, version
1260: 5.0 of the SDK only appears to support using a directory (despite
1261: documentation to the contrary). If SSL client initialization
1262: fails and the certificate or key paths look like they could be
1263: default file name, strip off the last path element and try again.
1264:
1265: * A setenv() compatibility fix for Linux systems, where a NULL
1266: value is treated the same as an empty string and the variable
1267: name is checked against the NULL pointer.
1268:
1269: What's new in Sudo 1.7.1?
1270:
1271: * A new Defaults option "pwfeedback" will cause sudo to provide visual
1272: feedback when the user is entering a password.
1273:
1274: * A new Defaults option "fast_glob" will cause sudo to use the fnmatch()
1275: function for file name globbing instead of glob(). When this option
1276: is enabled, sudo will not check the file system when expanding wildcards.
1277: This is faster but a side effect is that relative paths with wildcard
1278: will no longer work.
1279:
1280: * New BSM audit support for systems that support it such as FreeBSD
1281: and Mac OS X.
1282:
1283: * The file name specified with the #include directive may now include
1284: a %h escape which is expanded to the short form of hostname.
1285:
1286: * The -k flag may now be specified along with a command, causing the
1287: user's timestamp file to be ignored.
1288:
1289: * New support for Tivoli-based LDAP START_TLS, present in AIX.
1290:
1291: * New support for /etc/netsvc.conf on AIX.
1292:
1293: * The unused alias checks in visudo now handle the case of an alias
1294: referring to another alias.
1295:
1296: What's new in Sudo 1.7.0?
1297:
1298: * Rewritten parser that converts sudoers into a set of data structures.
1299: This eliminates a number of ordering issues and makes it possible to
1300: apply sudoers Defaults entries before searching for the command.
1301: It also adds support for per-command Defaults specifications.
1302:
1303: * Sudoers now supports a #include facility to allow the inclusion of other
1304: sudoers-format files.
1305:
1306: * Sudo's -l (list) flag has been enhanced:
1307: o applicable Defaults options are now listed
1308: o a command argument can be specified for testing whether a user
1309: may run a specific command.
1310: o a new -U flag can be used in conjunction with "sudo -l" to allow
1311: root (or a user with "sudo ALL") list another user's privileges.
1312:
1313: * A new -g flag has been added to allow the user to specify a
1314: primary group to run the command as. The sudoers syntax has been
1315: extended to include a group section in the Runas specification.
1316:
1317: * A uid may now be used anywhere a username is valid.
1318:
1319: * The "secure_path" run-time Defaults option has been restored.
1320:
1321: * Password and group data is now cached for fast lookups.
1322:
1323: * The file descriptor at which sudo starts closing all open files is now
1324: configurable via sudoers and, optionally, the command line.
1325:
1326: * Visudo will now warn about aliases that are defined but not used.
1327:
1328: * The -i and -s command line flags now take an optional command
1329: to be run via the shell. Previously, the argument was passed
1330: to the shell as a script to run.
1331:
1332: * Improved LDAP support. SASL authentication may now be used in
1333: conjunction when connecting to an LDAP server. The krb5_ccname
1334: parameter in ldap.conf may be used to enable Kerberos.
1335:
1336: * Support for /etc/nsswitch.conf. LDAP users may now use nsswitch.conf
1337: to specify the sudoers order. E.g.:
1338: sudoers: ldap files
1339: to check LDAP, then /etc/sudoers. The default is "files", even
1340: when LDAP support is compiled in. This differs from sudo 1.6
1341: where LDAP was always consulted first.
1342:
1343: * Support for /etc/environment on AIX and Linux. If sudo is run
1344: with the -i flag, the contents of /etc/environment are used to
1345: populate the new environment that is passed to the command being
1346: run.
1347:
1348: * If no terminal is available or if the new -A flag is specified,
1349: sudo will use a helper program to read the password if one is
1350: configured. Typically, this is a graphical password prompter
1351: such as ssh-askpass.
1352:
1353: * A new Defaults option, "mailfrom" that sets the value of the
1354: "From:" field in the warning/error mail. If unspecified, the
1355: login name of the invoking user is used.
1356:
1357: * A new Defaults option, "env_file" that refers to a file containing
1358: environment variables to be set in the command being run.
1359:
1360: * A new flag, -n, may be used to indicate that sudo should not
1361: prompt the user for a password and, instead, exit with an error
1362: if authentication is required.
1363:
1364: * If sudo needs to prompt for a password and it is unable to disable
1365: echo (and no askpass program is defined), it will refuse to run
1366: unless the "visiblepw" Defaults option has been specified.
1367:
1368: * Prior to version 1.7.0, hitting enter/return at the Password: prompt
1369: would exit sudo. In sudo 1.7.0 and beyond, this is treated as
1370: an empty password. To exit sudo, the user must press ^C or ^D
1371: at the prompt.
1372:
1373: * visudo will now check the sudoers file owner and mode in -c (check)
1374: mode when the -s (strict) flag is specified.
1375:
1376: * A new Defaults option "umask_override" will cause sudo to set the
1377: umask specified in sudoers even if it is more permissive than the
1378: invoking user's umask.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>