user-util: add generic definition for special password hash values in /etc/passwd + /etc/shadow
Let's add three defines for the 3 special cases of passwords. Some of our tools used different values for the "locked"/"invalid" case, let's settle on using "!*" which means the password is both locked *and* invalid. Other tools like to use "!!" for this case, which however is less than ideal I think, since the this could also be a considered an entry with an empty password, that can be enabled again by unlocking it twice.
This commit is contained in:
@@ -441,7 +441,7 @@ static int write_temporary_passwd(const char *passwd_path, FILE **tmpfile, char
|
||||
.pw_gecos = i->description,
|
||||
|
||||
/* "x" means the password is stored in the shadow file */
|
||||
.pw_passwd = (char*) "x",
|
||||
.pw_passwd = (char*) PASSWORD_SEE_SHADOW,
|
||||
|
||||
/* We default to the root directory as home */
|
||||
.pw_dir = i->home ?: (char*) "/",
|
||||
@@ -551,7 +551,7 @@ static int write_temporary_shadow(const char *shadow_path, FILE **tmpfile, char
|
||||
|
||||
struct spwd n = {
|
||||
.sp_namp = i->name,
|
||||
.sp_pwdp = (char*) "!*", /* lock this password, and make it invalid */
|
||||
.sp_pwdp = (char*) PASSWORD_LOCKED_AND_INVALID,
|
||||
.sp_lstchg = lstchg,
|
||||
.sp_min = -1,
|
||||
.sp_max = -1,
|
||||
@@ -682,7 +682,7 @@ static int write_temporary_group(const char *group_path, FILE **tmpfile, char **
|
||||
struct group n = {
|
||||
.gr_name = i->name,
|
||||
.gr_gid = i->gid,
|
||||
.gr_passwd = (char*) "x",
|
||||
.gr_passwd = (char*) PASSWORD_SEE_SHADOW,
|
||||
};
|
||||
|
||||
r = putgrent_with_members(&n, group);
|
||||
@@ -766,7 +766,7 @@ static int write_temporary_gshadow(const char * gshadow_path, FILE **tmpfile, ch
|
||||
ORDERED_HASHMAP_FOREACH(i, todo_gids) {
|
||||
struct sgrp n = {
|
||||
.sg_namp = i->name,
|
||||
.sg_passwd = (char*) "!*",
|
||||
.sg_passwd = (char*) PASSWORD_LOCKED_AND_INVALID,
|
||||
};
|
||||
|
||||
r = putsgent_with_members(&n, gshadow);
|
||||
|
||||
Reference in New Issue
Block a user