adduser: don't bomb out if shadow password file doesn't exist

(from Tito <farmatito@tiscali.it>)
This commit is contained in:
Denis Vlasenko 2007-03-24 16:06:46 +00:00
parent 219d14d514
commit 7695328575

View File

@ -109,19 +109,23 @@ static int adduser(struct passwd *p)
if (putpwent(p, file) == -1) {
bb_perror_nomsg_and_die();
}
fclose(file);
if (ENABLE_FEATURE_CLEAN_UP)
fclose(file);
#if ENABLE_FEATURE_SHADOWPASSWDS
/* add to shadow if necessary */
file = xfopen(bb_path_shadow_file, "a");
fseek(file, 0, SEEK_END);
fprintf(file, "%s:!:%ld:%d:%d:%d:::\n",
p->pw_name, /* username */
time(NULL) / 86400, /* sp->sp_lstchg */
0, /* sp->sp_min */
99999, /* sp->sp_max */
7); /* sp->sp_warn */
fclose(file);
file = fopen_or_warn(bb_path_shadow_file, "a");
if (file) {
fseek(file, 0, SEEK_END);
fprintf(file, "%s:!:%ld:%d:%d:%d:::\n",
p->pw_name, /* username */
time(NULL) / 86400, /* sp->sp_lstchg */
0, /* sp->sp_min */
99999, /* sp->sp_max */
7); /* sp->sp_warn */
if (ENABLE_FEATURE_CLEAN_UP)
fclose(file);
}
#endif
/* add to group */