From c57e8983ffd02d734f980fee96c78481f6f1e283 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Wed, 26 Dec 2007 10:15:20 +0000 Subject: [PATCH] Add option -l to avoid adding the user to the lastlog and faillog databases Fix the release numbers for the current NEWS entries. --- ChangeLog | 5 +++++ NEWS | 6 ++++-- man/useradd.8.xml | 13 +++++++++++++ src/useradd.c | 10 ++++++++-- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d6196da..0f31ffe1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-12-26 Nicolas François + + * NEWS, src/useradd.c, man/useradd.8.xml: Add option -l to avoid adding + the user to the lastlog and faillog databases. + 2007-12-26 Nicolas François * src/useradd.c, src/groupadd.c: NO_GETPWENT is no more supported. Remove diff --git a/NEWS b/NEWS index cb8b32fb..ba25106b 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,12 @@ $Id$ -shadow-4.0.18.2 -> shadow-4.1.0 UNRELEASED +shadow-4.1.0 -> shadow-4.1.1 UNRELEASED *** general: - packaging - Do not install the shadow library per default. + * Do not install the shadow library per default. +- useradd + * New option -l to avoid adding the user to the lastlog and faillog databases. shadow-4.0.18.2 -> shadow-4.1.0 09-12-2008 diff --git a/man/useradd.8.xml b/man/useradd.8.xml index 2167f802..99e500cc 100644 --- a/man/useradd.8.xml +++ b/man/useradd.8.xml @@ -225,6 +225,19 @@ + + + + + Do not add the user to the lastlog and faillog databases. + + + By default, the user's entries in the lastlog and faillog + databases are resetted to avoid reusing the entry from a previously + deleted user. + + + , diff --git a/src/useradd.c b/src/useradd.c index d2088bee..4bba6efd 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -123,6 +123,7 @@ static int gflg = 0, /* primary group ID for new account */ Gflg = 0, /* secondary group set for new account */ kflg = 0, /* specify a directory to fill new user directory */ + lflg = 0, /* do not add user to lastlog database file */ mflg = 0, /* create user's home directory if it doesn't exist */ nflg = 0, /* create a group having the same name as the user */ oflg = 0, /* permit non-unique user ID to be specified with -u */ @@ -630,6 +631,8 @@ static void usage (void) " -h, --help display this help message and exit\n" " -k, --skel SKEL_DIR specify an alternative skel directory\n" " -K, --key KEY=VALUE overrides /etc/login.defs defaults\n" + " -l, do not add the user to the lastlog and\n" + " faillog databases\n" " -m, --create-home create home directory for the new user\n" " account\n" " -o, --non-unique allow create user with duplicate\n" @@ -974,7 +977,7 @@ static void process_flags (int argc, char **argv) {NULL, 0, NULL, '\0'} }; while ((c = - getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMop:s:u:", + getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:lmMop:s:u:", long_options, NULL)) != -1) { switch (c) { case 'b': @@ -1108,6 +1111,9 @@ static void process_flags (int argc, char **argv) if (putdef_str (optarg, cp) < 0) exit (E_BAD_ARG); break; + case 'l': + lflg++; + break; case 'm': mflg++; break; @@ -1468,7 +1474,7 @@ static void usr_update (void) * are left unchanged). --marekm */ /* local, no need for xgetpwuid */ - if (!getpwuid (user_id)) { + if ((!lflg) && (getpwuid (user_id) == NULL)) { faillog_reset (user_id); lastlog_reset (user_id); } -- 2.40.0