Provided by: manpages-es_1.55-10_all bug

NOMBRE

       setfsuid  - establece la identidad del usuario que accede al sistema de
       ficheros

SINOPSIS

       #include <unistd.h> /* glibc usa <sys/fsuid.h> */

       int setfsuid(uid_t fsuid);

DESCRIPCI'ON

       La llamada al sistema setfsuid establece el  identificador  de  usuario
       que  el nucleo de Linux usa para comprobar todos los accesos al sistema
       de ficheros. Normalmente, el valor de fsuid cambiara segun el valor del
       usuario  efectivo.  De  hecho, cada vez que el usuario efectivo cambie,
       fsuid tambien cambiara al nuevo valor del usuario efectivo.

       Las llamadas explicitas a setfsuid y setgsgid normalmente solo se  usan
       en  programas  como  el servidor NFS de Linux, que necesitan cambiar el
       identificador de usuario y de grupo para acceder a un fichero, pero sin
       cambiar   los   identificadores  real  y  efectivo.  Un  cambio  en  el
       identificador real del usuario para un programa como  el  servidor  NFS
       supondria  un  agujero de seguridad, al quedar expuesto a otras senales
       no deseadas. (vease mas abajo.)

       setfsuid solo tendra exito si quien lo invoca es el superusuario  o  si
       fsuid   coincide   con   el  identificador  de  usuario  real,  con  el
       identificador de usuario efectivo, con el  setuid  guardado  o  con  el
       valor actual de fsuid.

VALOR DEVUELTO

       En  caso de exito, se devolvera el valor anterior de fsuid.  En caso de
       error, se devolvera el valor actual de fsuid.

CONFORME A

       setfsuid es especifico de Linux y no deberia usarse en programas que se
       pretende  sean  portables.   Esta  presente  desde la version 1.1.44 de
       Linux y en libc desde la version 4.7.6.

ERRORES

       No se devuelve ningun mensaje de error a quien  lo  invoca.  Al  menos,
       deberia devolverse EPERM cuando todas las llamadas fallen.

OBSERVACIONES

       Cuando  glibc determina que el argumento no es un ID de usuario valido,
       devuelve -1 y pone en errno el valor EINVAL sin intentar la llamada  al
       sistema.

       Observe  que  en  la  epoca  en  la  que  esta  llamada  al sistema fue
       introducida, un proceso podia enviar una senal  a  un  proceso  con  el
       mismo  ID  de  usuario  efectivo.   Hoy el manejo de los permisos sobre
       senales es ligeramente diferente.

V'EASE TAMBI'EN

       kill(2), setfsgid(2)