DOKK / manpages / debian 10 / manpages-es / setreuid.2.es
SETREUID(2) Manual del Programador de Linux SETREUID(2)

setreuid, setregid - definir el identificador de usuario o de grupo real y/o efectivo

#include <sys/types.h>
#include <unistd.h>

int setreuid(uid_t ruid, uid_t euid);
int setregid(gid_t rgid, gid_t egid);

setreuid define el identificador de usuario real y efectivo del proceso actual. Los usuarios sin privilegios solamente pueden cambiar el identificador de usuario real por el identificador de usuario real o el identificador de usuario efectivo, y el identificador de usuario efectivo por el identificador de usuario real, el identificador de usuario efectivo o el identificador de usuario guardado.

Dando el valor -1 para el valor del identificador de usuario ya sea el real o el efectivo, fuerza al sistema a dejar dicho identificador sin cambios.

Si el identificador de usuario real es cambiado, o el identificador de usuario efectivo se pone a un valor distinto del identificador de usuario real previo, el identificador de usuario guardado será puesto al nuevo identificador de usuario efectivo.

De manera completamente análoga, setregid define el identificador de grupo real y efectivo del proceso actual, aplicándose todo lo comentado arriba con "grupo" en lugar de "usuario".

Si hay éxito, se devuelve cero. Si hay error, se devuelve -1, y errno se actualiza de la forma apropiada.

El proceso actual no es el superusuario y especifica un cambio que no es (1) intercambiar el identificador de usuario (grupo) efectivo con el real, o (2) poner el valor de uno al del otro, o (3) poner el identificador de usuario (grupo) efectivo al valor del identificador de usuario (grupo) guardado.

Establecer el identificador de usuario (grupo) efectivo al identificador de usuario guardado es posible desde la versión 1.1.37 de Linux (1.1.38).

BSD 4.3 (las funciones setreuid y setregid aparecieron por primera vez en 4.2BSD.)

getuid(2), getgid(2), setuid(2), setgid(2), seteuid(2), setresuid(2)

2 agosto 1994 Linux 1.1.38