From: Todd C. Miller Date: Wed, 16 Jan 2002 21:27:09 +0000 (+0000) Subject: Bring back PERM_FULL_USER X-Git-Tag: SUDO_1_6_5~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fec1b63caae756bb3993087ba4d8e53abadde351;p=sudo Bring back PERM_FULL_USER --- diff --git a/set_perms.c b/set_perms.c index 8520abc9e..65475828d 100644 --- a/set_perms.c +++ b/set_perms.c @@ -106,6 +106,13 @@ set_perms_posix(perm, sudo_mode) if (seteuid(user_uid)) fatal("seteuid(user_uid)"); break; + + case PERM_FULL_USER: + /* headed for exec() */ + (void) setgid(user_gid); + if (setuid(user_uid)) + fatal("setuid(user_uid)"); + break; case PERM_RUNAS: /* headed for exec(), assume euid == 0 */ @@ -168,6 +175,13 @@ set_perms_fallback(perm, sudo_mode) fatal("setreuid(0, user_uid)"); break; + case PERM_FULL_USER: + /* headed for exec() */ + (void) setgid(user_gid); + if (setuid(user_uid)) + fatal("setuid(user_uid)"); + break; + case PERM_RUNAS: /* headed for exec(), assume euid == 0 */ runas_setup(); @@ -228,6 +242,13 @@ set_perms_fallback(perm, sudo_mode) fatal("seteuid(user_uid)"); break; + case PERM_FULL_USER: + /* headed for exec() */ + (void) setgid(user_gid); + if (setuid(user_uid)) + fatal("setuid(user_uid)"); + break; + case PERM_RUNAS: /* headed for exec(), assume euid == 0 */ runas_setup(); diff --git a/sudo.h b/sudo.h index 2d45dbc48..dc0db0ceb 100644 --- a/sudo.h +++ b/sudo.h @@ -113,8 +113,9 @@ struct sudo_user { #define PERM_ROOT 0x00 #define PERM_FULL_ROOT 0x01 #define PERM_USER 0x02 -#define PERM_SUDOERS 0x03 -#define PERM_RUNAS 0x04 +#define PERM_FULL_USER 0x03 +#define PERM_SUDOERS 0x04 +#define PERM_RUNAS 0x05 /* * Shortcuts for sudo_user contents.