man setfsgid (Appels systèmes) - Fixer le GID pour les vérifications d'accès au système de fichiers.

NOM

setfsgid - Fixer le GID pour les vérifications d'accès au système de fichiers.

SYNOPSIS

#include <unistd.h> /* glibc uses <sys/fsuid.h> */ int setfsgid(uid_t fsgid)

DESCRIPTION

setfsgid fixe le GID que le noyau Linux utilisera pour vérifier tous les accès du processus au système de fichiers. Normalement la valeur de fsgid va masquer la valeur du GID effectif. En fait, si le GID effectif est modifié, fsgid sera aussi modifié pour la nouvelle valeur du GID effectif.

L'appel explicite de setfsgid n'est normalement utile qu'aux programmes tels que le serveur NFS qui ont besoin de modifier le GID utilisé pour les accès aux fichiers sans changer véritablement leurs GID réels et effectifs. Une modification du GID normal d'un programme comme un serveur NFS serait un trou de sécurité qui l'exposerait à des signaux indésirables en provenance d'autres processus du même groupe.

setfsgid ne réussira que si l'appelant est le Super-User ou si fsgid correspond au véritable GID, au GID effectif, au GID sauvé, ou encore à la valeur actuelle de fsgid.

VALEUR RENVOYÉE

setfsgid renvoie la valeur précédente fsgid s'il réussit. En cas d'erreur la valeur actuelle de fsgid est renvoyée.

CONFORMITÉ

setfsgid est spécifique à Linux et ne doit pas être employé dans des programmes conçus pour être portables. Il est présent depuis Linux 1.1.44 et dans la bibliothèque C depuis libc 4.7.6.

BOGUES

Il n'y a pas de messages d'erreur renvoyés. Il serait bon d'avoir au moins un code d'erreur EPERM.

NOTE

Lorsque la bibliothèque GlibC s'aperçoit que l'argument n'est pas un GID valide, elle revoie -1 et place EINVAL dans errno sans essayer d'appeler l'appel-système réel.

Notez que lors de l'introduction de cet appel-système, un processus pouvait envoyer un signal à un autre processus avec le même UID effectif. De nos jours les permissions pour les signaux sont légèrement différentes.

VOIR AUSSI

TRADUCTION

Christophe Blaess, 1996-2003.