NOMBRE¶
seteuid, setegid - establecen el identificador de usuario o de grupo
SINOPSIS¶
#include <sys/types.h>
#include <unistd.h>
int seteuid(uid_t euid);
int setegid(gid_t egid);
DESCRIPCIÓN¶
seteuid establece el identificador de usuario efectivo del proceso
actual. Los procesos de usuario no privilegiados solamente pueden establecer
el identificador de usuario efectivo al identificador de usuario real, el
identificador de usuario efectivo o el identificador de usuario guardado.
Precisamente lo mismo puede decirse para
setegid con "grupo" en
lugar de "usuario".
VALOR DEVUELTO¶
En caso de éxito, se devuelve cero. En caso de error, se devuelve -1, y
errno se modifica apropiadamente.
ERRORES¶
- EPERM
- El proceso actual no pertenece al super-usuario y
euid (resp. egid) no es el identificador de usuario (grupo)
real, el identificador de usuario (grupo) efectivo o el identificador de
usuario (grupo) guardado.
OBSERVACIONES¶
Establecer el identificador de usuario (grupo) efectivo al identificador de
usuario (grupo) guardado es posible desde la versión 1.1.37 de Linux
(1.1.38). En un sistema cualquiera debería comprobarse _POSIX_SAVED_IDS.
Bajo libc4, libc5 y glibc2.0
seteuid(euid) es equivalente a
setreuid(-1, euid) y por tanto puede cambiar el
identificador de usuario guardado. Bajo glibc2.1 es equivalente a
setresuid(-1, euid,-1) y por tanto no modifica el
identificador de usuario guardado.
Las mismas anotaciones se aplican a
setegid.
BSD 4.3
VÉASE TAMBIÉN¶
geteuid(2),
setuid(2),
setreuid(2),
setresuid(2)