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

NOMBRE

       setfsgid  -  establece  la identidad del grupo que accede al sistema de
       ficheros

SINOPSIS

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

       int setfsgid(uid_t fsgid);

DESCRIPCIÓN

       La llamada al sistema setfsgid establece el identificador de grupo  que
       el  núcleo  de Linux usa para comprobar todos los accesos al sistema de
       ficheros. Normalmente, el valor de fsgid cambiará según  el  valor  del
       grupo  efectivo. De hecho, cada vez que el grupo efectivo cambie, fsgid
       también cambiará al nuevo valor del grupo 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.)

       setfsgid sólo tendrá éxito si quien lo invoca es el superusuario  o  si
       fsgid coincide con el identificador de grupo real, con el identificador
       de grupo efectivo, con el setgid guardado o  con  el  valor  actual  de
       fsgid.

VALOR DEVUELTO

       En  caso de éxito, se devolverá el valor anterior de fsgid.  En caso de
       error, se devolverá el valor actual de fsgid.

CONFORME A

       setfsgid 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), setfsuid(2)