]> granicus.if.org Git - sudo/commitdiff
Don't send mail about pseudo-command failure unless it is an
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 2 Feb 2015 22:01:06 +0000 (15:01 -0700)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 2 Feb 2015 22:01:06 +0000 (15:01 -0700)
authentication failure.

NEWS
doc/sudoers.cat
doc/sudoers.man.in
doc/sudoers.mdoc.in
plugins/sudoers/logging.c

diff --git a/NEWS b/NEWS
index 49828e02a8943a8635882e51f6473b247af06055..e4769e46d6e73e4301113ee4a3a1ba2d9f9dbcb0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -61,6 +61,9 @@ What's new in Sudo 1.8.12
    `+' prefix and checking whether the user is a member of any of
    the returned netgroups.
 
+ * The mail_always sudoers option no longer sends mail for "sudo -l"
+   or "sudo -v" unless the user is unable to authenticate themselves.
+
 What's new in Sudo 1.8.11p2
 
  * Fixed a bug where dynamic shared objects loaded from a plugin
index 68822a8abcae3a7e1e9a1939e18342cbb15522e5..8261801a3665f71727250f338d90ec44b1571e05 100644 (file)
@@ -75,9 +75,12 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      mail is configurable via the _\bm_\ba_\bi_\bl_\bt_\bo Defaults entry (described later) and
      defaults to root.
 
-     Note that mail will not be sent if an unauthorized user tries to run s\bsu\bud\bdo\bo
-     with the -\b-l\bl or -\b-v\bv option.  This allows users to determine for themselves
-     whether or not they are allowed to use s\bsu\bud\bdo\bo.
+     Note that no mail will be sent if an unauthorized user tries to run s\bsu\bud\bdo\bo
+     with the -\b-l\bl or -\b-v\bv option unless there is an authentication error and
+     either the _\bm_\ba_\bi_\bl_\b__\ba_\bl_\bw_\ba_\by_\bs or _\bm_\ba_\bi_\bl_\b__\bb_\ba_\bd_\bp_\ba_\bs_\bs flags are enabled.  This allows
+     users to determine for themselves whether or not they are allowed to use
+     s\bsu\bud\bdo\bo.  All attempts to run s\bsu\bud\bdo\bo (successful or not) will be logged,
+     regardless of whether or not mail is sent.
 
      If s\bsu\bud\bdo\bo is run by root and the SUDO_USER environment variable is set, the
      _\bs_\bu_\bd_\bo_\be_\br_\bs policy will use this value to determine who the actual user is.
@@ -174,7 +177,7 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      _\be_\bn_\bv_\b__\br_\be_\bs_\be_\bt.  The DISPLAY, PATH and TERM variables remain unchanged; HOME,
      MAIL, SHELL, USER, and LOGNAME are set based on the target user.  On AIX
      (and Linux systems without PAM), the contents of _\b/_\be_\bt_\bc_\b/_\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt are
-     also included.  On BSD systems, if the _\bu_\bs_\be_\b__\bl_\bo_\bg_\bi_\bn_\bc_\bl_\ba_\bs_\boption is enabled,
+     also included.  On BSD systems, if the _\bu_\bs_\be_\b__\bl_\bo_\bg_\bi_\bn_\bc_\bl_\ba_\bs_\bflag is enabled,
      the _\bp_\ba_\bt_\bh and _\bs_\be_\bt_\be_\bn_\bv variables in _\b/_\be_\bt_\bc_\b/_\bl_\bo_\bg_\bi_\bn_\b._\bc_\bo_\bn_\bf are also applied.  All
      other environment variables are removed.
 
@@ -1047,8 +1050,12 @@ S\bSU\bUD\bDO\bOE\bER\bRS\bS O\bOP\bPT\bTI\bIO\bON\bNS\bS
                        some people find it more convenient.  This flag is _\bo_\bf_\bf
                        by default.
 
-     mail_always       Send mail to the _\bm_\ba_\bi_\bl_\bt_\bo user every time a user runs
-                       s\bsu\bud\bdo\bo.  This flag is _\bo_\bf_\bf by default.
+     mail_always       Send mail to the _\bm_\ba_\bi_\bl_\bt_\bo user every time a user attempts
+                       to run a command via s\bsu\bud\bdo\bo.  Mail will be sent for both
+                       successful and unsuccessful attempts.  No mail will be
+                       sent if the user runs s\bsu\bud\bdo\bo with the -\b-l\bl or -\b-v\bv option
+                       unless there is an authentication error.  This flag is
+                       _\bo_\bf_\bf by default.
 
      mail_badpass      Send mail to the _\bm_\ba_\bi_\bl_\bt_\bo user if the user running s\bsu\bud\bdo\bo
                        does not enter the correct password.  If the command
@@ -2356,4 +2363,4 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
      file distributed with s\bsu\bud\bdo\bo or http://www.sudo.ws/license.html for
      complete details.
 
-Sudo 1.8.12                    December 4, 2014                    Sudo 1.8.12
+Sudo 1.8.12                    January 21, 2015                    Sudo 1.8.12
index d6896f6fe61e38ce2fa881edd4072716231c8d66..dca9897a109d221d9ae543a3619097d968728dd8 100644 (file)
@@ -1,7 +1,7 @@
 .\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!
 .\" IT IS GENERATED AUTOMATICALLY FROM sudoers.mdoc.in
 .\"
-.\" Copyright (c) 1994-1996, 1998-2005, 2007-2014
+.\" Copyright (c) 1994-1996, 1998-2005, 2007-2015
 .\"    Todd C. Miller <Todd.Miller@courtesan.com>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
@@ -21,7 +21,7 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\"
-.TH "SUDOERS" "5" "December 4, 2014" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
+.TH "SUDOERS" "5" "January 21, 2015" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
 .nh
 .if n .ad l
 .SH "NAME"
@@ -172,17 +172,25 @@ Defaults entry
 (described later) and defaults to
 \fR@mailto@\fR.
 .PP
-Note that mail will not be sent if an unauthorized user tries to
-run
+Note that no mail will be sent if an unauthorized user tries to run
 \fBsudo\fR
 with the
 \fB\-l\fR
 or
 \fB\-v\fR
-option.
+option unless there is an authentication error and
+either the
+\fImail_always\fR
+or
+\fImail_badpass\fR
+flags are enabled.
 This allows users to
 determine for themselves whether or not they are allowed to use
 \fBsudo\fR.
+All attempts to run
+\fBsudo\fR
+(successful or not)
+will be logged, regardless of whether or not mail is sent.
 .PP
 If
 \fBsudo\fR
@@ -440,7 +448,7 @@ are also
 included.
 On BSD systems, if the
 \fIuse_loginclass\fR
-option is
+flag is
 enabled, the
 \fIpath\fR
 and
@@ -2218,8 +2226,16 @@ by default.
 mail_always
 Send mail to the
 \fImailto\fR
-user every time a user runs
+user every time a user attempts to run a command via
 \fBsudo\fR.
+Mail will be sent for both successful and unsuccessful attempts.
+No mail will be sent if the user runs
+\fBsudo\fR
+with the
+\fB\-l\fR
+or
+\fB\-v\fR
+option unless there is an authentication error.
 This flag is
 \fIoff\fR
 by default.
index d2cab447c0cc4cddc38617f86d729c6254c00983..41b74c2dccc5c0c1278b34ce6a66df30594c9468 100644 (file)
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1994-1996, 1998-2005, 2007-2014
+.\" Copyright (c) 1994-1996, 1998-2005, 2007-2015
 .\"    Todd C. Miller <Todd.Miller@courtesan.com>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
@@ -19,7 +19,7 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\"
-.Dd December 4, 2014
+.Dd January 21, 2015
 .Dt SUDOERS @mansectform@
 .Os Sudo @PACKAGE_VERSION@
 .Sh NAME
@@ -160,17 +160,25 @@ Defaults entry
 (described later) and defaults to
 .Li @mailto@ .
 .Pp
-Note that mail will not be sent if an unauthorized user tries to
-run
+Note that no mail will be sent if an unauthorized user tries to run
 .Nm sudo
 with the
 .Fl l
 or
 .Fl v
-option.
+option unless there is an authentication error and
+either the
+.Em mail_always
+or
+.Em mail_badpass
+flags are enabled.
 This allows users to
 determine for themselves whether or not they are allowed to use
 .Nm sudo .
+All attempts to run
+.Nm sudo
+(successful or not)
+will be logged, regardless of whether or not mail is sent.
 .Pp
 If
 .Nm sudo
@@ -426,7 +434,7 @@ are also
 included.
 On BSD systems, if the
 .Em use_loginclass
-option is
+flag is
 enabled, the
 .Em path
 and
@@ -2075,8 +2083,16 @@ by default.
 .It mail_always
 Send mail to the
 .Em mailto
-user every time a user runs
+user every time a user attempts to run a command via
 .Nm sudo .
+Mail will be sent for both successful and unsuccessful attempts.
+No mail will be sent if the user runs
+.Nm sudo
+with the
+.Fl l
+or
+.Fl v
+option unless there is an authentication error.
 This flag is
 .Em off
 by default.
index 8b4c5bf181924b3c84deaff9637f8c7cdef8d2d5..2b6693178216ce245dfca26587b3399b46f8193d 100644 (file)
@@ -364,7 +364,7 @@ log_auth_failure(int status, unsigned int tries)
            SET(flags, SLOG_SEND_MAIL);
     } else {
        /* Command denied, auth failed; make sure we don't send mail twice. */
-       if (def_mail_badpass && !should_mail(status))
+       if ((def_mail_badpass || def_mail_always) && !should_mail(status))
            SET(flags, SLOG_SEND_MAIL);
        /* Don't log the bad password message, we'll log a denial instead. */
        SET(flags, SLOG_NO_LOG);
@@ -756,6 +756,10 @@ should_mail(int status)
 {
     debug_decl(should_mail, SUDOERS_DEBUG_LOGGING)
 
+    /* Never send mail about the "sudo -l" and "sudo -v" pseudo-commands. */
+    if (ISSET(sudo_mode, (MODE_VALIDATE|MODE_CHECK|MODE_LIST)))
+       debug_return_bool(false);
+
     debug_return_bool(def_mail_always ||
        (def_mail_no_user && ISSET(status, FLAG_NO_USER)) ||
        (def_mail_no_host && ISSET(status, FLAG_NO_HOST)) ||