From f1f1678e13aa3ae49bdb139efaa2c5bc53dcfe92 Mon Sep 17 00:00:00 2001 From: Iker Pedrosa Date: Tue, 4 Jan 2022 13:06:00 +0100 Subject: [PATCH] useradd: modify check ID range for system users useradd warns that a system user ID less than SYS_UID_MIN is outside the expected range, even though that ID has been specifically selected with the "-u" option. In my opinion all the user ID's below SYS_UID_MAX are for the system, thus I change the condition to take that into account. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2004911 Signed-off-by: Iker Pedrosa --- src/useradd.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/useradd.c b/src/useradd.c index 34376fa5..4c71c38a 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -2409,11 +2409,9 @@ static void check_uid_range(int rflg, uid_t user_id) uid_t uid_min ; uid_t uid_max ; if (rflg) { - uid_min = (uid_t)getdef_ulong("SYS_UID_MIN",101UL); uid_max = (uid_t)getdef_ulong("SYS_UID_MAX",getdef_ulong("UID_MIN",1000UL)-1); - if (uid_min <= uid_max) { - if (user_id < uid_min || user_id >uid_max) - fprintf(stderr, _("%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d range.\n"), Prog, user_name, user_id, uid_min, uid_max); + if (user_id > uid_max) { + fprintf(stderr, _("%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"), Prog, user_name, user_id, uid_max); } }else{ uid_min = (uid_t)getdef_ulong("UID_MIN", 1000UL); -- 2.37.1