* src/chage.c, src/chfn.c, src/chgpasswd.c, src/chpasswd.c,

src/chsh.c, src/groupadd.c, src/groupdel.c, src/groupmems.c,
	src/groupmod.c, src/newusers.c, src/useradd.c, src/userdel.c,
	src/usermod.c: Provide the PAM error
	message instead of our own, and log error to syslog.
	* src/groupmems.c: Exit with exit rather than fail_exit in usage().
	* src/newusers.c: Check the number of arguments.
	* src/newusers.c: Do not create the home directory when it is not
	changed.
	* src/useradd.c: Set the group password to "!" rather "x" if there
	are no gshadow file.
This commit is contained in:
nekral-guest
2011-11-13 16:24:57 +00:00
parent 2ecea675ee
commit 57f9d5ae9c
14 changed files with 117 additions and 55 deletions

View File

@ -1519,7 +1519,11 @@ static void new_grent (struct group *grent)
{
memzero (grent, sizeof *grent);
grent->gr_name = (char *) user_name;
grent->gr_passwd = SHADOW_PASSWD_STRING; /* XXX warning: const */
if (is_shadow_grp) {
grent->gr_passwd = SHADOW_PASSWD_STRING; /* XXX warning: const */
} else {
grent->gr_passwd = "!"; /* XXX warning: const */
}
grent->gr_gid = user_gid;
grent->gr_mem = &empty_list;
}
@ -1929,13 +1933,16 @@ int main (int argc, char **argv)
retval = pam_acct_mgmt (pamh, 0);
}
if (NULL != pamh) {
(void) pam_end (pamh, retval);
}
if (PAM_SUCCESS != retval) {
fprintf (stderr, _("%s: PAM authentication failed\n"), Prog);
fprintf (stderr, _("%s: PAM: %s\n"),
Prog, pam_strerror (pamh, retval));
SYSLOG((LOG_ERR, "%s", pam_strerror (pamh, retval)));
if (NULL != pamh) {
(void) pam_end (pamh, retval);
}
fail_exit (1);
}
(void) pam_end (pamh, retval);
#endif /* USE_PAM */
#endif /* ACCT_TOOLS_SETUID */