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ÓN

       La  llamada  al  sistema  setfsuid  establece el identificador de usuario que el núcleo de
       Linux usa para comprobar todos los accesos al sistema de ficheros. Normalmente,  el  valor
       de  fsuid  cambiará según el valor del usuario efectivo. De hecho, cada vez que el usuario
       efectivo cambie, fsuid también cambiará al nuevo valor del usuario efectivo.

       Las llamadas explícitas a setfsuid y setgsgid normalmente sólo 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 supondría un
       agujero de seguridad, al quedar expuesto a otras señales no deseadas. (véase más abajo.)

       setfsuid sólo tendrá éxito 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 éxito, se devolverá el valor anterior de fsuid.  En caso de error, se devolverá
       el valor actual de fsuid.

CONFORME A

       setfsuid  es  específico  de  Linux  y no debería usarse en programas que se pretende sean
       portables.  Está presente desde la versión 1.1.44 de Linux y  en  libc  desde  la  versión
       4.7.6.

ERRORES

       No  se  devuelve  ningún  mensaje de error a quien lo invoca. Al menos, debería devolverse
       EPERM cuando todas las llamadas fallen.

OBSERVACIONES

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

       Observe  que  en  la  época  en la que esta llamada al sistema fue introducida, un proceso
       podía enviar una señal a un proceso con el mismo ID de usuario efectivo.  Hoy el manejo de
       los permisos sobre señales es ligeramente diferente.

VÉASE TAMBIÉN

       kill(2), setfsgid(2)