Remove PERM_FULL_USER (which is no longer used) and add PERM_FULL_ROOT

(used when exec'ing the mailer).
This commit is contained in:
Todd C. Miller
2002-01-13 18:28:09 +00:00
parent ddf96f301d
commit 26f2a96558
2 changed files with 12 additions and 25 deletions

View File

@@ -93,19 +93,20 @@ set_perms_posix(perm, sudo_mode)
if (seteuid(0))
fatal("seteuid(0)");
break;
case PERM_FULL_ROOT:
/* headed for exec() */
(void) seteuid(0);
if (setuid(0))
fatal("setuid(0)");
break;
case PERM_USER:
(void) setegid(user_gid);
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 */
runas_setup();
@@ -155,25 +156,18 @@ set_perms_fallback(perm, sudo_mode)
int error;
switch (perm) {
case PERM_FULL_ROOT:
case PERM_ROOT:
if (setuid(0))
fatal("setuid(0)");
break;
case PERM_USER:
(void) setegid(user_gid);
if (setreuid(0, user_uid))
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)");
exit(1);
}
break;
case PERM_RUNAS:
/* headed for exec(), assume euid == 0 */
runas_setup();
@@ -234,13 +228,6 @@ 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();

4
sudo.h
View File

@@ -111,8 +111,8 @@ struct sudo_user {
* Used with set_perms()
*/
#define PERM_ROOT 0x00
#define PERM_USER 0x01
#define PERM_FULL_USER 0x02
#define PERM_FULL_ROOT 0x01
#define PERM_USER 0x02
#define PERM_SUDOERS 0x03
#define PERM_RUNAS 0x04