Merge pull request #177 from edneville/conflicts_between_system_users_useradd_and_pwck
pwck.c: only check home dirs if set and not a system user
This commit is contained in:
commit
e78d22469f
@ -389,6 +389,8 @@ static void check_pw_file (int *errors, bool *changed)
|
|||||||
struct commonio_entry *pfe, *tpfe;
|
struct commonio_entry *pfe, *tpfe;
|
||||||
struct passwd *pwd;
|
struct passwd *pwd;
|
||||||
struct spwd *spw;
|
struct spwd *spw;
|
||||||
|
uid_t min_sys_id = (uid_t) getdef_ulong ("SYS_UID_MIN", 101UL);
|
||||||
|
uid_t max_sys_id = (uid_t) getdef_ulong ("SYS_UID_MAX", 999UL);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Loop through the entire password file.
|
* Loop through the entire password file.
|
||||||
@ -517,6 +519,10 @@ static void check_pw_file (int *errors, bool *changed)
|
|||||||
*errors += 1;
|
*errors += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If uid is system and has a home directory, then check
|
||||||
|
*/
|
||||||
|
if (!(pwd->pw_uid >= min_sys_id && pwd->pw_uid <= max_sys_id && pwd->pw_dir && pwd->pw_dir[0])) {
|
||||||
/*
|
/*
|
||||||
* Make sure the home directory exists
|
* Make sure the home directory exists
|
||||||
*/
|
*/
|
||||||
@ -528,6 +534,7 @@ static void check_pw_file (int *errors, bool *changed)
|
|||||||
pwd->pw_name, pwd->pw_dir);
|
pwd->pw_name, pwd->pw_dir);
|
||||||
*errors += 1;
|
*errors += 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure the login shell is executable
|
* Make sure the login shell is executable
|
||||||
|
Loading…
x
Reference in New Issue
Block a user