[Pkg-shadow-commits] r2372 - in upstream/trunk: . etc man src
nekral-guest at alioth.debian.org
nekral-guest at alioth.debian.org
Sat Sep 13 11:55:42 UTC 2008
Author: nekral-guest
Date: 2008-09-13 11:55:41 +0000 (Sat, 13 Sep 2008)
New Revision: 2372
Modified:
upstream/trunk/ChangeLog
upstream/trunk/NEWS
upstream/trunk/etc/login.defs
upstream/trunk/man/useradd.8.xml
upstream/trunk/src/useradd.c
Log:
* NEWS, etc/login.defs: New CREATE_HOME variable to tell useradd
to create a home directory for new users.
* src/useradd.c, man/useradd.8.xml: New -M/--no-create-home option
and CREATE_HOME usage. System accounts are not impacted by
CREATE_HOME.
* man/useradd.8.xml: Indicate that a new group is created by
default.
* src/useradd.c: Removed TODO item (moved to the TODO file).
Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog 2008-09-13 11:55:30 UTC (rev 2371)
+++ upstream/trunk/ChangeLog 2008-09-13 11:55:41 UTC (rev 2372)
@@ -1,3 +1,14 @@
+2008-09-11 Nicolas François <nicolas.francois at centraliens.net>
+
+ * NEWS, etc/login.defs: New CREATE_HOME variable to tell useradd
+ to create a home directory for new users.
+ * src/useradd.c, man/useradd.8.xml: New -M/--no-create-home option
+ and CREATE_HOME usage. System accounts are not impacted by
+ CREATE_HOME.
+ * man/useradd.8.xml: Indicate that a new group is created by
+ default.
+ * src/useradd.c: Removed TODO item (moved to the TODO file).
+
2008-09-11 Miroslav Kuře <kurem at debian.cz>
* po/cs.po: Updated Czech translation.
Modified: upstream/trunk/NEWS
===================================================================
--- upstream/trunk/NEWS 2008-09-13 11:55:30 UTC (rev 2371)
+++ upstream/trunk/NEWS 2008-09-13 11:55:41 UTC (rev 2372)
@@ -16,6 +16,9 @@
* Speed improvement in case UID_MAX/SYS_UID_MAX/GID_MAX/SYS_GID_MAX is
used for an user/group. This should be noticeable in case of LDAP
configured systems. This should impact useradd, groupadd, and newusers
+- /etc/login.defs
+ * New CREATE_HOME variable to tell useradd to create a home directory by
+ default.
- gpasswd
* Added support for long options --add (-a), --delete (-d),
@@ -48,6 +51,8 @@
- useradd
* audit logging improvements.
* Speedup (see "addition of users or groups" above).
+ * See CREATE_HOME above.
+ * New -M/--no-create-home option to disable CREATE_HOME.
- userdel
* audit logging improvements.
- usermod
Modified: upstream/trunk/etc/login.defs
===================================================================
--- upstream/trunk/etc/login.defs 2008-09-13 11:55:30 UTC (rev 2371)
+++ upstream/trunk/etc/login.defs 2008-09-13 11:55:41 UTC (rev 2372)
@@ -367,3 +367,12 @@
# 0 is the default value and disables this feature.
#
#MAX_MEMBERS_PER_GROUP 0
+
+#
+# If useradd should create home directories for users by default (non
+# system users only)
+# This option is overridden with the -M or -m flags on the useradd command
+# line.
+#
+#CREATE_HOME yes
+
Modified: upstream/trunk/man/useradd.8.xml
===================================================================
--- upstream/trunk/man/useradd.8.xml 2008-09-13 11:55:30 UTC (rev 2371)
+++ upstream/trunk/man/useradd.8.xml 2008-09-13 11:55:41 UTC (rev 2372)
@@ -56,6 +56,11 @@
will update system files and may also create the new user's home
directory and copy initial files.
</para>
+ <para>
+ By default, a group will also be created for the new user (see
+ <option>-g</option>, <option>-N</option>, <option>-U</option>, and
+ <option>USERGROUPS_ENAB</option>).
+ </para>
</refsect1>
<refsect1 id='options'>
@@ -295,6 +300,19 @@
</varlistentry>
<varlistentry>
<term>
+ <option>-M</option>
+ </term>
+ <listitem>
+ <para>
+ Do no create the user's home directory, even if the system
+ wide setting from <filename>/etc/login.defs</filename>
+ (<option>CREATE_HOME</option>) is set to
+ <replaceable>yes</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
<option>-N</option>, <option>--no-user-group</option>
</term>
<listitem>
@@ -354,6 +372,14 @@
<option>UID_MIN</option>-<option>UID_MAX</option> (and their
<option>GID</option> counterparts for the creation of groups).
</para>
+ <para>
+ Note that <command>useradd</command> will not create a home
+ directory for such an user, regardless of the default setting
+ in <filename>/etc/login.defs</filename>
+ (<option>CREATE_HOME</option>). You have to specify the
+ <option>-m</option> options if you want a home directory for a
+ system account to be created.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
Modified: upstream/trunk/src/useradd.c
===================================================================
--- upstream/trunk/src/useradd.c 2008-09-13 11:55:30 UTC (rev 2371)
+++ upstream/trunk/src/useradd.c 2008-09-13 11:55:41 UTC (rev 2372)
@@ -724,6 +724,8 @@
" faillog databases\n"
" -m, --create-home create home directory for the new user\n"
" account\n"
+ " -M, --no-create-home do not create user's home directory\n"
+ " (overrides /etc/login.defs)\n"
" -N, --no-user-group do not create a group with the same name as\n"
" the user\n"
" -o, --non-unique allow create user with duplicate\n"
@@ -983,6 +985,7 @@
{"skel", required_argument, NULL, 'k'},
{"key", required_argument, NULL, 'K'},
{"create-home", no_argument, NULL, 'm'},
+ {"no-create-home", no_argument, NULL, 'M'},
{"no-user-group", no_argument, NULL, 'N'},
{"non-unique", no_argument, NULL, 'o'},
{"password", required_argument, NULL, 'p'},
@@ -1133,6 +1136,9 @@
case 'm':
mflg = true;
break;
+ case 'M':
+ Mflg = true;
+ break;
case 'N':
Nflg = true;
break;
@@ -1212,6 +1218,12 @@
Prog, "-U", "-N");
usage ();
}
+ if (mflg && Mflg) {
+ fprintf (stderr,
+ _("%s: options %s and %s conflict\n"),
+ Prog, "-m", "-M");
+ usage ();
+ }
/*
* Either -D or username is required. Defaults can be set with -D
@@ -1265,10 +1277,20 @@
user_shell = def_shell;
}
- /* TODO: add handle change default spool mail creation by
- -K CREATE_MAIL_SPOOL={yes,no}. It need rewrite internal API for handle
- shadow tools configuration */
create_mail_spool = def_create_mail_spool;
+
+ if (!rflg) {
+ /* for system accounts defaults are ignored and we
+ * do not create a home dir */
+ if (getdef_bool("CREATE_HOME")) {
+ mflg = true;
+ }
+ }
+
+ if (Mflg) {
+ /* absolutely sure that we do not create home dirs */
+ mflg = false;
+ }
}
/*
@@ -1932,26 +1954,12 @@
"Not copying any file from skel directory into it.\n"),
Prog);
- } else if (getdef_str ("CREATE_HOME") != NULL) {
- /*
- * RedHat added the CREATE_HOME option in login.defs in their
- * version of shadow-utils (which makes -m the default, with
- * new -M option to turn it off). Unfortunately, this
- * changes the way useradd works (it can be run by scripts
- * expecting some standard behaviour), compared to other
- * Unices and other Linux distributions, and also adds a lot
- * of confusion :-(.
- * So we now recognize CREATE_HOME and give a warning here
- * (better than "configuration error ... notify administrator"
- * errors in every program that reads /etc/login.defs). -MM
- */
- fprintf (stderr,
- _
- ("%s: warning: CREATE_HOME not supported, please use -m instead.\n"),
- Prog);
}
- create_mail ();
+ /* Do not create mail directory for system accounts */
+ if( !rflg ) {
+ create_mail ();
+ }
close_files ();
More information about the Pkg-shadow-commits
mailing list