* 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).
This commit is contained in:
parent
d1f92a2225
commit
b18d46e68d
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2008-09-11 Nicolas François <nicolas.francois@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@debian.cz>
|
2008-09-11 Miroslav Kuře <kurem@debian.cz>
|
||||||
|
|
||||||
* po/cs.po: Updated Czech translation.
|
* po/cs.po: Updated Czech translation.
|
||||||
|
5
NEWS
5
NEWS
@ -16,6 +16,9 @@ shadow-4.1.2.1 -> shadow-4.1.3 UNRELEASED
|
|||||||
* Speed improvement in case UID_MAX/SYS_UID_MAX/GID_MAX/SYS_GID_MAX is
|
* 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
|
used for an user/group. This should be noticeable in case of LDAP
|
||||||
configured systems. This should impact useradd, groupadd, and newusers
|
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
|
- gpasswd
|
||||||
* Added support for long options --add (-a), --delete (-d),
|
* Added support for long options --add (-a), --delete (-d),
|
||||||
@ -48,6 +51,8 @@ shadow-4.1.2.1 -> shadow-4.1.3 UNRELEASED
|
|||||||
- useradd
|
- useradd
|
||||||
* audit logging improvements.
|
* audit logging improvements.
|
||||||
* Speedup (see "addition of users or groups" above).
|
* Speedup (see "addition of users or groups" above).
|
||||||
|
* See CREATE_HOME above.
|
||||||
|
* New -M/--no-create-home option to disable CREATE_HOME.
|
||||||
- userdel
|
- userdel
|
||||||
* audit logging improvements.
|
* audit logging improvements.
|
||||||
- usermod
|
- usermod
|
||||||
|
@ -367,3 +367,12 @@ USERGROUPS_ENAB yes
|
|||||||
# 0 is the default value and disables this feature.
|
# 0 is the default value and disables this feature.
|
||||||
#
|
#
|
||||||
#MAX_MEMBERS_PER_GROUP 0
|
#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
|
||||||
|
|
||||||
|
@ -56,6 +56,11 @@
|
|||||||
will update system files and may also create the new user's home
|
will update system files and may also create the new user's home
|
||||||
directory and copy initial files.
|
directory and copy initial files.
|
||||||
</para>
|
</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>
|
||||||
|
|
||||||
<refsect1 id='options'>
|
<refsect1 id='options'>
|
||||||
@ -293,6 +298,19 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<option>-N</option>, <option>--no-user-group</option>
|
<option>-N</option>, <option>--no-user-group</option>
|
||||||
@ -354,6 +372,14 @@
|
|||||||
<option>UID_MIN</option>-<option>UID_MAX</option> (and their
|
<option>UID_MIN</option>-<option>UID_MAX</option> (and their
|
||||||
<option>GID</option> counterparts for the creation of groups).
|
<option>GID</option> counterparts for the creation of groups).
|
||||||
</para>
|
</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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
|
@ -724,6 +724,8 @@ static void usage (void)
|
|||||||
" faillog databases\n"
|
" faillog databases\n"
|
||||||
" -m, --create-home create home directory for the new user\n"
|
" -m, --create-home create home directory for the new user\n"
|
||||||
" account\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"
|
" -N, --no-user-group do not create a group with the same name as\n"
|
||||||
" the user\n"
|
" the user\n"
|
||||||
" -o, --non-unique allow create user with duplicate\n"
|
" -o, --non-unique allow create user with duplicate\n"
|
||||||
@ -983,6 +985,7 @@ static void process_flags (int argc, char **argv)
|
|||||||
{"skel", required_argument, NULL, 'k'},
|
{"skel", required_argument, NULL, 'k'},
|
||||||
{"key", required_argument, NULL, 'K'},
|
{"key", required_argument, NULL, 'K'},
|
||||||
{"create-home", no_argument, NULL, 'm'},
|
{"create-home", no_argument, NULL, 'm'},
|
||||||
|
{"no-create-home", no_argument, NULL, 'M'},
|
||||||
{"no-user-group", no_argument, NULL, 'N'},
|
{"no-user-group", no_argument, NULL, 'N'},
|
||||||
{"non-unique", no_argument, NULL, 'o'},
|
{"non-unique", no_argument, NULL, 'o'},
|
||||||
{"password", required_argument, NULL, 'p'},
|
{"password", required_argument, NULL, 'p'},
|
||||||
@ -1133,6 +1136,9 @@ static void process_flags (int argc, char **argv)
|
|||||||
case 'm':
|
case 'm':
|
||||||
mflg = true;
|
mflg = true;
|
||||||
break;
|
break;
|
||||||
|
case 'M':
|
||||||
|
Mflg = true;
|
||||||
|
break;
|
||||||
case 'N':
|
case 'N':
|
||||||
Nflg = true;
|
Nflg = true;
|
||||||
break;
|
break;
|
||||||
@ -1212,6 +1218,12 @@ static void process_flags (int argc, char **argv)
|
|||||||
Prog, "-U", "-N");
|
Prog, "-U", "-N");
|
||||||
usage ();
|
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
|
* Either -D or username is required. Defaults can be set with -D
|
||||||
@ -1265,10 +1277,20 @@ static void process_flags (int argc, char **argv)
|
|||||||
user_shell = def_shell;
|
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;
|
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 @@ int main (int argc, char **argv)
|
|||||||
"Not copying any file from skel directory into it.\n"),
|
"Not copying any file from skel directory into it.\n"),
|
||||||
Prog);
|
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 ();
|
close_files ();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user