Provided by: manpages-es_1.55-10_all 

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)
Linux 1.3.15 23 julio 2002 SETFSUID(2)