setfsgid

SETFSGID(2)              Manual del Programador de Linux             SETFSGID(2)



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)



Linux 1.3.15                      23 julio 2002                      SETFSGID(2)