diff options
author | Ray Strode <rstrode@redhat.com> | 2011-03-17 15:59:47 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2011-03-17 15:59:47 -0400 |
commit | 971f0805a4d436c6bea70c604e7d74112567302a (patch) | |
tree | 88c002ba794f206e6b34a8f498894393029dc817 | |
parent | 733291e426109d04fac0ae1cfc37a8585a3ccf76 (diff) |
daemon: treat root user as admin
Previously, we were only looking at users in the wheel group,
but the root user is an admin, too.
-rw-r--r-- | src/user.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -409,7 +409,7 @@ user_finalize (GObject *object) } static gint -account_type_from_groups (struct passwd *pwent) +account_type_from_pwent (struct passwd *pwent) { struct group *grp; gid_t wheel; @@ -417,6 +417,11 @@ account_type_from_groups (struct passwd *pwent) gint ngroups; gint i; + if (pwent->pw_uid == 0) { + g_debug ("user is root so account type is administrator"); + return ACCOUNT_TYPE_ADMINISTRATOR; + } + grp = getgrnam ("wheel"); if (grp == NULL) { g_debug ("wheel group not found"); @@ -504,7 +509,7 @@ user_local_update_from_pwent (User *user, /* GID */ user->gid = pwent->pw_gid; - user->account_type = account_type_from_groups (pwent); + user->account_type = account_type_from_pwent (pwent); /* Username */ if (g_strcmp0 (user->user_name, pwent->pw_name) != 0) { |