diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2020-03-23 14:18:52 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2020-03-23 14:18:52 +0000 |
commit | 7d75f858478e942bb9aff05eace66dfe848cb182 (patch) | |
tree | 0f4f13b3770de74d27295f913d5e0cb1a46d0879 | |
parent | 714be736a71b0620fcf6b06cf6163e051f4c7374 (diff) | |
download | abuild-7d75f858478e942bb9aff05eace66dfe848cb182.tar.bz2 abuild-7d75f858478e942bb9aff05eace66dfe848cb182.tar.xz |
abuild-sudo: dont require root to be member of abuild group
fixes #9984
-rw-r--r-- | abuild-sudo.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/abuild-sudo.c b/abuild-sudo.c index 12d64f1..2c8dbcf 100644 --- a/abuild-sudo.c +++ b/abuild-sudo.c @@ -92,17 +92,18 @@ int main(int argc, const char *argv[]) errx(1, "%s: Group not found", ABUILD_GROUP); char *name = NULL; - pw = getpwuid(getuid()); + uid_t uid = getuid(); + pw = getpwuid(uid); if (pw) name = pw->pw_name; - if (!is_in_group(grent->gr_gid)) { + if (uid != 0 && !is_in_group(grent->gr_gid)) { errx(1, "User %s is not a member of group %s\n", name ? name : "(unknown)", ABUILD_GROUP); } if (name == NULL) - warnx("Could not find username for uid %d\n", getuid()); + warnx("Could not find username for uid %d\n", uid); setenv("USER", name ?: "", 1); cmd = strrchr(argv[0], '/'); |