41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From f9d936b86561c23f5b40211254544b91e33eae7a Mon Sep 17 00:00:00 2001
|
|
From: Luca BRUNO <luca.bruno@coreos.com>
|
|
Date: Mon, 8 Aug 2022 15:56:06 +0000
|
|
Subject: [PATCH] sysusers: properly process user entries with an explicit GID
|
|
|
|
This tweaks user creation logic to properly take into consideration
|
|
an explicitly requested GID.
|
|
It fixes a bug where the creation flow would mistakenly fall back
|
|
to use the username instead, resulting in wrong lookups in case of
|
|
users and groups using the same name.
|
|
|
|
(cherry picked from commit 5ed47c4d230b9491339c16c6ea4181dfd293bc98)
|
|
|
|
Conflict:NA
|
|
Reference:https://github.com/systemd/systemd-stable/commit/f9d936b86561c23f5b40211254544b91e33eae7a
|
|
---
|
|
src/sysusers/sysusers.c | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
|
|
index 77034abc8b..afbac4fb5e 100644
|
|
--- a/src/sysusers/sysusers.c
|
|
+++ b/src/sysusers/sysusers.c
|
|
@@ -1348,9 +1348,11 @@ static int process_item(Item *i) {
|
|
switch (i->type) {
|
|
|
|
case ADD_USER: {
|
|
- Item *j;
|
|
+ Item *j = NULL;
|
|
+
|
|
+ if (!i->gid_set)
|
|
+ j = ordered_hashmap_get(groups, i->group_name ?: i->name);
|
|
|
|
- j = ordered_hashmap_get(groups, i->group_name ?: i->name);
|
|
if (j && j->todo_group) {
|
|
/* When a group with the target name is already in queue,
|
|
* use the information about the group and do not create
|
|
--
|
|
2.33.0
|
|
|