Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/fsuid.h>

       [[obsolète]]int setfsgid(uid_t fsgid);

DESCRIPTION

       Sur  Linux, un processus a à la fois un identifiant de groupe de système de fichiers et un
       identifiant de groupe effectif. L'identifiant de groupe de système de fichiers (spécifique
       à  Linux)  est  utilisé  pour  la  vérification des droits lors de l'accès aux systèmes de
       fichiers, alors que l'identifiant de groupe effectif est utilisé pour  d'autres  types  de
       vérifications de droits (voir credentials(7)).

       Normalement,  la valeur de l'identifiant de groupe du système de fichiers du processus est
       la même que celle de l'identifiant de groupe effectif. C'est ainsi, car à chaque fois  que
       l'identifiant  de  groupe  effectif d'un processus change, le noyau passe l'identifiant de
       groupe du système de fichiers  à  la  valeur  de  l'identifiant  de  groupe  effectif.  Un
       processus  peut  faire  diverger  ses  identifiants  de  groupe  de système de fichiers et
       effectif, en utilisant setfsgid() pour  passer  l'identifiant  de  groupe  du  système  de
       fichiers à la valeur donnée dans fsgid.

       setfsgid() ne réussira que si l'appelant est le superutilisateur ou si fsgid correspond au
       GID réel de l'appelant, à son GID effectif, à son GID sauvé, ou  encore  à  la  valeur  de
       l'identifiant de l'utilisateur dans le système de fichiers au moment de l'appel.

VALEUR RENVOYÉE

       En cas de succès comme en cas d'échec, l'appel renvoie la dernière valeur de l'identifiant
       du groupe (GID) de l'appelant dans le système de fichiers.

STANDARDS

       Linux.

HISTORIQUE

       Linux 1.2.

   Différences entre bibliothèque C et noyau
       Dans la glibc 2.15 et les versions antérieures, lorsque l'enveloppe de cet  appel  système
       détermine qu'elle ne peut pas passer cet argument au noyau sans tronquer un entier (car le
       noyau est ancien et ne gère pas les identifiants de groupe 32 bits), elle renverra  -1  et
       positionnera errno sur EINVAL sans essayer l'appel système.

NOTES

       Le  concept  d'identifiant  de groupe du système de fichiers et l'appel système setfsgid()
       ont été inventés pour des raisons historiques qui ne  s'appliquent  plus  sur  les  noyaux
       Linux  modernes.  Consultez   setfsuid(2)  si  vous  souhaitez  connaître les raisons pour
       lesquelles setfsuid(2) et setfsgid() ne sont désormais plus nécessaires.

       L'appel système setfsgid() originel de Linux ne gérait que des identifiants de groupe  sur
       16 bits.  En  conséquence,  Linux 2.4  a  ajouté  setfsgid32()  qui  prend  en  charge des
       identifiants 32 bits. La fonction setfsgid() de la glibc qui l'encapsule gère  de  manière
       transparente ces différences entre noyaux.

BOGUES

       Aucune  indication  concernant l'erreur n'est renvoyée à l'appelant et le fait que la même
       valeur soit retournée en cas de succès ou d'échec ne permet pas de  savoir  si  l'appel  a
       réussi ou échoué. Pour cela, l'appelant devra se référer à la valeur renvoyée par un appel
       ultérieur par exemple à setfsgid(-1) (qui  échouera  toujours).  Cet  appel  permettra  de
       savoir si un appel antérieur à setfsgid() a changé l'identifiant du groupe (GID) au niveau
       du système de fichiers. Au  minimum,  EPERM  doit  être  renvoyé  lorsque  l'appel  échoue
       (puisque l'appelant ne dispose pas des privilèges CAP_SETGID).

VOIR AUSSI

       kill(2), setfsuid(2), capabilities(7), credentials(7)

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot   <david@tilapin.org>,   Cédric   Boutillier
       <cedric.boutillier@gmail.com>,  Frédéric  Hantrais  <fhantrais@gmail.com> et Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.