Merge commit 'upstream/1.8.3'
[debian/sudo] / NEWS
1 What's new in Sudo 1.8.3?
2
3  * Fixed expansion of strftime() escape sequences in the "log_dir"
4    sudoers setting.
5
6  * Esperanto, Italian and Japanese translations from translationproject.org.
7
8  * Sudo will now use PAM by default on AIX 6 and higher.
9
10  * Added --enable-werror configure option for gcc's -Werror flag.
11
12  * Visudo no longer assumes all editors support the +linenumber
13    command line argument.  It now uses a whitelist of editors known
14    to support the option.
15
16  * Fixed matching of network addresses when a netmask is specified
17    but the address is not the first one in the CIDR block.
18
19  * The configure script now check whether or not errno.h declares
20    the errno variable.  Previously, sudo would always declare errno
21    itself for older systems that don't declare it in errno.h.
22
23  * The NOPASSWD tag is now honored for denied commands too, which
24    matches historic sudo behavior (prior to sudo 1.7.0).
25
26  * Sudo now honors the "DEREF" setting in ldap.conf which controls
27    how alias dereferencing is done during an LDAP search.
28
29  * A symbol conflict with the pam_ssh_agent_auth PAM module that
30    would cause a crash been resolved.
31
32  * The inability to load a group provider plugin is no longer
33    a fatal error.
34
35  * A potential crash in the utmp handling code has been fixed.
36
37  * Two PAM session issues have been resolved.  In previous versions
38    of sudo, the PAM session was opened as one user and closed as
39    another.  Additionally, if no authentication was performed, the
40    PAM session would never be closed.
41
42  * Sudo will now work correctly with LDAP-based sudoers using TLS
43    or SSL on Debian systems.
44
45  * The LOGNAME, USER and USERNAME environment variables are preserved
46    correctly again in sudoedit mode.
47
48 What's new in Sudo 1.8.2?
49
50  * Sudo, visudo, sudoreplay and the sudoers plug-in now have natural
51    language support (NLS). This can be disabled by passing configure
52    the --disable-nls option.  Sudo will use gettext(), if available,
53    to display translated messages.  All translations are coordinated
54    via The Translation Project, http://translationproject.org/.
55
56  * Plug-ins are now loaded with the RTLD_GLOBAL flag instead of
57    RTLD_LOCAL.  This fixes missing symbol problems in PAM modules
58    on certain platforms, such as FreeBSD and SuSE Linux Enterprise.
59
60  * I/O logging is now supported for commands run in background mode
61    (using sudo's -b flag).
62
63  * Group ownership of the sudoers file is now only enforced when
64    the file mode on sudoers allows group readability or writability.
65
66  * Visudo now checks the contents of an alias and warns about cycles
67    when the alias is expanded.
68
69  * If the user specifes a group via sudo's -g option that matches
70    the target user's group in the password database, it is now
71    allowed even if no groups are present in the Runas_Spec.
72
73  * The sudo Makefiles now have more complete dependencies which are
74    automatically generated instead of being maintained manually.
75
76  * The "use_pty" sudoers option is now correctly passed back to the
77    sudo front end.  This was missing in previous versions of sudo
78    1.8 which prevented "use_pty" from being honored.
79
80  * "sudo -i command" now works correctly with the bash version
81    2.0 and higher.  Previously, the .bash_profile would not be
82    sourced prior to running the command unless bash was built with
83    NON_INTERACTIVE_LOGIN_SHELLS defined.
84
85  * When matching groups in the sudoers file, sudo will now match
86    based on the name of the group instead of the group ID. This can
87    substantially reduce the number of group lookups for sudoers
88    files that contain a large number of groups.
89
90  * Multi-factor authentication is now supported on AIX.
91
92  * Added support for non-RFC 4517 compliant LDAP servers that require
93    that seconds be present in a timestamp, such as Tivoli Directory Server.
94
95  * If the group vector is to be preserved, the PATH search for the
96    command is now done with the user's original group vector.
97
98  * For LDAP-based sudoers, the "runas_default" sudoOption now works
99    properly in a sudoRole that contains a sudoCommand.
100
101  * Spaces in command line arguments for "sudo -s" and "sudo -i" are
102    now escaped with a backslash when checking the security policy.
103
104 What's new in Sudo 1.8.1p2?
105
106  * Two-character CIDR-style IPv4 netmasks are now matched correctly
107    in the sudoers file.
108
109  * A build error with MIT Kerberos V has been resolved.
110
111  * A crash on HP-UX in the sudoers plugin when wildcards are
112    present in the sudoers file has been resolved.
113
114  * Sudo now works correctly on Tru64 Unix again.
115
116 What's new in Sudo 1.8.1p1?
117
118  * Fixed a problem on AIX where sudo was unable to set the final
119    uid if the PAM module modified the effective uid.
120
121  * A non-existent includedir is now treated the same as an empty
122    directory and not reported as an error.
123
124  * Removed extraneous parens in LDAP filter when sudoers_search_filter
125    is enabled that can cause an LDAP search error.
126
127  * Fixed a "make -j" problem for "make install".
128
129 What's new in Sudo 1.8.1?
130
131  * A new LDAP setting, sudoers_search_filter, has been added to
132    ldap.conf.  This setting can be used to restrict the set of
133    records returned by the LDAP query.  Based on changes from Matthew
134    Thomas.
135
136  * White space is now permitted within a User_List when used in
137    conjunction with a per-user Defaults definition.
138
139  * A group ID (%#gid) may now be specified in a User_List or Runas_List.
140    Likewise, for non-Unix groups the syntax is %:#gid.
141
142  * Support for double-quoted words in the sudoers file has been fixed.
143    The change in 1.7.5 for escaping the double quote character
144    caused the double quoting to only be available at the beginning
145    of an entry.
146
147  * The fix for resuming a suspended shell in 1.7.5 caused problems
148    with resuming non-shells on Linux.  Sudo will now save the process
149    group ID of the program it is running on suspend and restore it
150    when resuming, which fixes both problems.
151
152  * A bug that could result in corrupted output in "sudo -l" has been
153    fixed.
154
155  * Sudo will now create an entry in the utmp (or utmpx) file when
156    allocating a pseudo-tty (e.g. when logging I/O).  The "set_utmp"
157    and "utmp_runas" sudoers file options can be used to control this.
158    Other policy plugins may use the "set_utmp" and "utmp_user"
159    entries in the command_info list.
160
161  * The sudoers policy now stores the TSID field in the logs
162    even when the "iolog_file" sudoers option is defined to a value
163    other than %{sessid}.  Previously, the TSID field was only
164    included in the log file when the "iolog_file" option was set
165    to its default value.
166
167  * The sudoreplay utility now supports arbitrary session IDs.
168    Previously, it would only work with the base-36 session IDs
169    that the sudoers plugin uses by default.
170
171  * Sudo now passes "run_shell=true" to the policy plugin in the
172    settings list when sudo's -s command line option is specified.
173    The sudoers policy plugin uses this to implement the "set_home"
174    sudoers option which was missing from sudo 1.8.0.
175
176  * The "noexec" functionality has been moved out of the sudoers
177    policy plugin and into the sudo front-end, which matches the
178    behavior documented in the plugin writer's guide.  As a result,
179    the path to the noexec file is now specified in the sudo.conf
180    file instead of the sudoers file.
181
182  * On Solaris 10, the PRIV_PROC_EXEC privilege is now used to
183    implement the "noexec" feature.  Previously, this was implemented
184    via the LD_PRELOAD environment variable.
185
186  * The exit values for "sudo -l", "sudo -v" and "sudo -l command"
187    have been fixed in the sudoers policy plugin.
188
189  * The sudoers policy plugin now passes the login class, if any,
190    back to the sudo front-end.
191
192  * The sudoers policy plugin was not being linked with requisite
193    libraries in certain configurations.
194
195  * Sudo now parses command line arguments before loading any plugins.
196    This allows "sudo -V" or "sudo -h" to work even if there is a problem
197    with sudo.conf
198
199  * Plugins are now linked with the static version of libgcc to allow
200    the plugin to run on a system where no shared libgcc is installed,
201    or where it is installed in a different location.
202
203 What's new in Sudo 1.8.0?
204
205  * Sudo has been refactored to use a modular framework that can
206    support third-party policy and I/O logging plugins.  The default
207    plugin is "sudoers" which provides the traditional sudo functionality.
208    See the sudo_plugin manual for details on the plugin API and the
209    sample in the plugins directory for a simple example.
210
211 What's new in Sudo 1.7.5?
212
213  * When using visudo in check mode, a file named "-" may be used to
214    check sudoers data on the standard input.
215
216  * Sudo now only fetches shadow password entries when using the
217    password database directly for authentication.
218
219  * Password and group entries are now cached using the same key
220    that was used to look them up.  This fixes a problem when looking
221    up entries by name if the name in the retrieved entry does not
222    match the name used to look it up.  This may happen on some systems
223    that do case insensitive lookups or that truncate long names.
224
225  * GCC will no longer display warnings on glibc systems that use
226    the warn_unused_result attribute for write(2) and other system calls.
227
228  * If a PAM account management module denies access, sudo now prints
229    a more useful error message and stops trying to validate the user.
230
231  * Fixed a potential hang on idle systems when the sudo-run process
232    exits immediately.
233
234  * Sudo now includes a copy of zlib that will be used on systems
235    that do not have zlib installed.
236
237  * The --with-umask-override configure flag has been added to enable
238    the "umask_override" sudoers Defaults option at build time.
239
240  * Sudo now unblocks all signals on startup to avoid problems caused
241    by the parent process changing the default signal mask.
242
243  * LDAP Sudoers entries may now specify a time period for which
244    the entry is valid.  This requires an updated sudoers schema
245    that includes the sudoNotBefore and sudoNotAfter attributes.
246    Support for timed entries must be explicitly enabled in the
247    ldap.conf file.  Based on changes from Andreas Mueller.
248
249  * LDAP Sudoers entries may now specify a sudoOrder attribute that
250    determines the order in which matching entries are applied.  The
251    last matching entry is used, just like file-based sudoers.  This
252    requires an updated sudoers schema that includes the sudoOrder
253    attribute.  Based on changes from Andreas Mueller.
254
255  * When run as sudoedit, or when given the -e flag, sudo now treats
256    command line arguments as pathnames.  This means that slashes
257    in the sudoers file entry must explicitly match slashes in
258    the command line arguments.  As a result, and entry such as:
259         user ALL = sudoedit /etc/*
260    will allow editing of /etc/motd but not /etc/security/default.
261
262  * NETWORK_TIMEOUT is now an alias for BIND_TIMELIMIT in ldap.conf for
263    compatibility with OpenLDAP configuration files.
264
265  * The LDAP API TIMEOUT parameter is now honored in ldap.conf.
266
267  * The I/O log directory may now be specified in the sudoers file.
268
269  * Sudo will no longer refuse to run if the sudoers file is writable
270    by root.
271
272  * Sudo now performs command line escaping for "sudo -s" and "sudo -i"
273    after validating the command so the sudoers entries do not need
274    to include the backslashes.
275
276  * Logging and email sending are now done in the locale specified
277    by the "sudoers_locale" setting ("C" by default).  Email send by
278    sudo now includes MIME headers when "sudoers_locale" is not "C".
279
280  * The configure script has a new option, --disable-env-reset, to
281    allow one to change the default for the sudoers Default setting
282    "env_reset" at compile time.
283
284  * When logging "sudo -l command", sudo will now prepend "list "
285    to the command in the log line to distinguish between an
286    actual command invocation in the logs.
287
288  * Double-quoted group and user names may now include escaped double
289    quotes as part of the name.  Previously this was a parse error.
290
291  * Sudo once again restores the state of the signal handlers it
292    modifies before executing the command.  This allows sudo to be
293    used with the nohup command.
294
295  * Resuming a suspended shell now works properly when I/O logging
296    is not enabled (the I/O logging case was already correct).
297
298 What's new in Sudo 1.7.4p6?
299
300  * A bug has been fixed in the I/O logging support that could cause
301    visual artifacts in full-screen programs such as text editors.
302
303 What's new in Sudo 1.7.4p5?
304
305  * A bug has been fixed that would allow a command to be run without the
306    user entering a password when sudo's -g flag is used without the -u flag.
307
308  * If user has no supplementary groups, sudo will now fall back on checking
309    the group file explicitly, which restores historic sudo behavior.
310
311  * A crash has been fixed when sudo's -g flag is used without the -u flag
312    and the sudoers file contains an entry with no runas user or group listed.
313
314  * A crash has been fixed when the Solaris project support is enabled
315    and sudo's -g flag is used without the -u flag.
316
317  * Sudo no longer exits with an error when support for auditing is
318    compiled in but auditing is not enabled.
319
320  * Fixed a bug introduced in sudo 1.7.3 where the ticket file was not
321    being honored when the "targetpw" sudoers Defaults option was enabled.
322
323  * The LOG_INPUT and LOG_OUTPUT tags in sudoers are now parsed correctly.
324
325  * A crash has been fixed in "sudo -l" when sudo is built with auditing
326    support and the user is not allowed to run any commands on the host.
327
328 What's new in Sudo 1.7.4p4?
329
330  * A potential security issue has been fixed with respect to the handling
331    of sudo's -g command line option when -u is also specified.  The flaw
332    may allow an attacker to run commands as a user that is not authorized
333    by the sudoers file.
334
335  * A bug has been fixed where "sudo -l" output was incomplete if multiple
336    sudoers sources were defined in nsswitch.conf and there was an error
337    querying one of the sources.
338
339  * The log_input, log_output, and use_pty sudoers options now work correctly
340    on AIX.  Previously, sudo would hang if they were enabled.
341
342  * The "make install" target now works correctly when sudo is built in a
343    directory other than the source directory.
344
345  * The "runas_default" sudoers setting now works properly in a per-command
346    Defaults line.
347
348  * Suspending and resuming the bash shell when PAM is in use now works
349    correctly.  The SIGCONT signal was not propagated to the child process.
350
351 What's new in Sudo 1.7.4p3?
352
353  * A bug has been fixed where duplicate HOME environment variables could be
354    present when the env_reset setting was disabled and the always_set_home
355    setting was enabled in sudoers.
356
357  * The value of sysconfdir is now substituted into the path to the sudoers.d
358    directory in the installed sudoers file.
359
360  * Compilation problems on IRIX and other platforms have been fixed.
361
362  * If multiple PAM "auth" actions are specified and the user enters ^C at
363    the password prompt, sudo will no longer prompt for a password for any
364    subsequent "auth" actions.  Previously it was necessary to enter ^C for
365    each "auth" action.
366
367 What's new in Sudo 1.7.4p2?
368
369  * A bug where sudo could spin in a busy loop waiting for the child process
370    has been fixed.
371
372 What's new in Sudo 1.7.4p1?
373
374  * A bug introduced in sudo 1.7.3 that prevented the -k and -K options from
375    functioning when the tty_tickets sudoers option is enabled has been fixed.
376
377  * Sudo no longer prints a warning when the -k or -K options are specified
378    and the ticket file does not exist.
379
380  * It is now easier to cross-compile sudo.
381
382 What's new in Sudo 1.7.4?
383
384  * Sudoedit will now preserve the file extension in the name of the
385    temporary file being edited.  The extension is used by some
386    editors (such as emacs) to choose the editing mode.
387
388  * Time stamp files have moved from /var/run/sudo to either /var/db/sudo,
389    /var/lib/sudo or /var/adm/sudo.  The directories are checked for
390    existence in that order.  This prevents users from receiving the
391    sudo lecture every time the system reboots.  Time stamp files older
392    than the boot time are ignored on systems where it is possible to
393    determine this.
394
395  * The tty_tickets sudoers option is now enabled by default.
396
397  * Ancillary documentation (README files, LICENSE, etc) is now installed
398    in a sudo documentation directory.
399
400  * Sudo now recognizes "tls_cacert" as an alias for "tls_cacertfile"
401    in ldap.conf.
402
403  * Defaults settings that are tied to a user, host or command may
404    now include the negation operator.  For example:
405         Defaults:!millert lecture
406    will match any user but millert.
407
408  * The default PATH environment variable, used when no PATH variable
409     exists, now includes /usr/sbin and /sbin.
410
411  * Sudo now uses polypkg (http://rc.quest.com/topics/polypkg/)
412    for cross-platform packing.
413
414  * On Linux, sudo will now restore the nproc resource limit before
415    executing a command, unless the limit appears to have been modified
416    by pam_limits.  This avoids a problem with bash scripts that open
417    more than 32 descriptors on SuSE Linux, where sysconf(_SC_CHILD_MAX)
418    will return -1 when RLIMIT_NPROC is set to RLIMIT_UNLIMITED (-1).
419
420  * The HOME and MAIL environment variables are now reset based on the
421    target user's password database entry when the env_reset sudoers option
422    is enabled (which is the case in the default configuration).  Users
423    wishing to preserve the original values should use a sudoers entry like:
424         Defaults env_keep += HOME
425    to preserve the old value of HOME and
426         Defaults env_keep += MAIL
427    to preserve the old value of MAIL.
428
429  * Fixed a problem in the restoration of the AIX authdb registry setting.
430
431  * Sudo will now fork(2) and wait until the command has completed before
432    calling pam_close_session().
433
434  * The default syslog facility is now "authpriv" if the operating system
435    supports it, else "auth".
436
437 What's new in Sudo 1.7.3?
438
439  * Support for logging I/O for the command being run.
440    For more information, see the documentation for the "log_input"
441    and "log_output" Defaults options in the sudoers manual.  Also
442    see the sudoreplay manual for how to replay I/O log sessions.
443
444  * The use_pty sudoers option can be used to force a command to be
445    run in a pseudo-pty, even when I/O logging is not enabled.
446
447  * On some systems, sudo can now detect when a user has logged out
448    and back in again when tty-based time stamps are in use.  Supported
449    systems include Solaris systems with the devices file system,
450    Mac OS X, and Linux systems with the devpts filesystem (pseudo-ttys
451    only).
452
453  * On AIX systems, the registry setting in /etc/security/user is
454    now taken into account when looking up users and groups.  Sudo
455    now applies the correct the user and group ids when running a
456    command as a user whose account details come from a different
457    source (e.g. LDAP or DCE vs.  local files).
458
459  * Support for multiple 'sudoers_base' and 'uri' entries in ldap.conf.
460    When multiple entries are listed, sudo will try each one in the
461    order in which they are specified.
462
463  * Sudo's SELinux support should now function correctly when running
464    commands as a non-root user and when one of stdin, stdout or stderr
465    is not a terminal.
466
467  * Sudo will now use the Linux audit system with configure with
468    the --with-linux-audit flag.
469
470  * Sudo now uses mbr_check_membership() on systems that support it
471    to determine group membership.  Currently, only Darwin (Mac OS X)
472    supports this.
473
474  * When the tty_tickets sudoers option is enabled but there is no
475    terminal device, sudo will no longer use or create a tty-based
476    ticket file.  Previously, sudo would use a tty name of "unknown".
477    As a consequence, if a user has no terminal device, sudo will
478    now always prompt for a password.
479
480  * The passwd_timeout and timestamp_timeout options may now be
481    specified as floating point numbers for more granular timeout
482    values.
483
484  * Negating the fqdn option in sudoers now works correctly when sudo
485    is configured with the --with-fqdn option.  In previous versions
486    of sudo the fqdn was set before sudoers was parsed.
487
488 What's new in Sudo 1.7.2?
489
490  * A new #includedir directive is available in sudoers.  This can be
491    used to implement an /etc/sudo.d directory.  Files in an includedir
492    are not edited by visudo unless they contain a syntax error.
493
494  * The -g option did not work properly when only setting the group
495    (and not the user).  Also, in -l mode the wrong user was displayed
496    for sudoers entries where only the group was allowed to be set.
497
498  * Fixed a problem with the alias checking in visudo which
499    could prevent visudo from exiting.
500
501  * Sudo will now correctly parse the shell-style /etc/environment
502    file format used by pam_env on Linux.
503
504  * When doing password and group database lookups, sudo will only
505    cache an entry by name or by id, depending on how the entry was
506    looked up.  Previously, sudo would cache by both name and id
507    from a single lookup, but this breaks sites that have multiple
508    password or group database names that map to the same uid or
509    gid.
510
511  * User and group names in sudoers may now be enclosed in double
512    quotes to avoid having to escape special characters.
513
514  * BSM audit fixes when changing to a non-root uid.
515
516  * Experimental non-Unix group support.  Currently only works with
517    Quest Authorization Services and allows Active Directory groups
518    fixes for Minix-3.
519
520  * For Netscape/Mozilla-derived LDAP SDKs the certificate and key
521    paths may be specified as a directory or a file.  However, version
522    5.0 of the SDK only appears to support using a directory (despite
523    documentation to the contrary).  If SSL client initialization
524    fails and the certificate or key paths look like they could be
525    default file name, strip off the last path element and try again.
526
527  * A setenv() compatibility fix for Linux systems, where a NULL
528    value is treated the same as an empty string and the variable
529    name is checked against the NULL pointer.
530
531 What's new in Sudo 1.7.1?
532
533  * A new Defaults option "pwfeedback" will cause sudo to provide visual
534    feedback when the user is entering a password.
535
536  * A new Defaults option "fast_glob" will cause sudo to use the fnmatch()
537    function for file name globbing instead of glob().  When this option
538    is enabled, sudo will not check the file system when expanding wildcards.
539    This is faster but a side effect is that relative paths with wildcard
540    will no longer work.
541
542  * New BSM audit support for systems that support it such as FreeBSD
543    and Mac OS X.
544
545  * The file name specified with the #include directive may now include
546    a %h escape which is expanded to the short form of hostname.
547
548  * The -k flag may now be specified along with a command, causing the
549    user's timestamp file to be ignored.
550
551  * New support for Tivoli-based LDAP START_TLS, present in AIX.
552
553  * New support for /etc/netsvc.conf on AIX.
554
555  * The unused alias checks in visudo now handle the case of an alias
556    referring to another alias.
557
558 What's new in Sudo 1.7.0?
559
560  * Rewritten parser that converts sudoers into a set of data structures.
561    This eliminates a number of ordering issues and makes it possible to
562    apply sudoers Defaults entries before searching for the command.
563    It also adds support for per-command Defaults specifications.
564
565  * Sudoers now supports a #include facility to allow the inclusion of other
566    sudoers-format files.
567
568  * Sudo's -l (list) flag has been enhanced:
569     o applicable Defaults options are now listed
570     o a command argument can be specified for testing whether a user
571       may run a specific command.
572     o a new -U flag can be used in conjunction with "sudo -l" to allow
573       root (or a user with "sudo ALL") list another user's privileges.
574
575  * A new -g flag has been added to allow the user to specify a
576    primary group to run the command as.  The sudoers syntax has been
577    extended to include a group section in the Runas specification.
578
579  * A uid may now be used anywhere a username is valid.
580
581  * The "secure_path" run-time Defaults option has been restored.
582
583  * Password and group data is now cached for fast lookups.
584
585  * The file descriptor at which sudo starts closing all open files is now
586    configurable via sudoers and, optionally, the command line.
587
588  * Visudo will now warn about aliases that are defined but not used.
589
590  * The -i and -s command line flags now take an optional command
591    to be run via the shell.  Previously, the argument was passed
592    to the shell as a script to run.
593
594  * Improved LDAP support.  SASL authentication may now be used in
595    conjunction when connecting to an LDAP server.  The krb5_ccname
596    parameter in ldap.conf may be used to enable Kerberos.
597
598  * Support for /etc/nsswitch.conf.  LDAP users may now use nsswitch.conf
599    to specify the sudoers order.  E.g.:
600         sudoers: ldap files
601    to check LDAP, then /etc/sudoers.  The default is "files", even
602    when LDAP support is compiled in.  This differs from sudo 1.6
603    where LDAP was always consulted first.
604
605  * Support for /etc/environment on AIX and Linux.  If sudo is run
606    with the -i flag, the contents of /etc/environment are used to
607    populate the new environment that is passed to the command being
608    run.
609
610  * If no terminal is available or if the new -A flag is specified,
611    sudo will use a helper program to read the password if one is
612    configured.  Typically, this is a graphical password prompter
613    such as ssh-askpass.
614
615  * A new Defaults option, "mailfrom" that sets the value of the
616    "From:" field in the warning/error mail.  If unspecified, the
617    login name of the invoking user is used.
618
619  * A new Defaults option, "env_file" that refers to a file containing
620    environment variables to be set in the command being run.
621
622  * A new flag, -n, may be used to indicate that sudo should not
623    prompt the user for a password and, instead, exit with an error
624    if authentication is required.
625
626  * If sudo needs to prompt for a password and it is unable to disable
627    echo (and no askpass program is defined), it will refuse to run
628    unless the "visiblepw" Defaults option has been specified.
629
630  * Prior to version 1.7.0, hitting enter/return at the Password: prompt
631    would exit sudo.  In sudo 1.7.0 and beyond, this is treated as
632    an empty password.  To exit sudo, the user must press ^C or ^D
633    at the prompt.
634
635  * visudo will now check the sudoers file owner and mode in -c (check)
636    mode when the -s (strict) flag is specified.
637
638  * A new Defaults option "umask_override" will cause sudo to set the
639    umask specified in sudoers even if it is more permissive than the
640    invoking user's umask.