setfsgid(2) System Calls Manual setfsgid(2) NOM setfsgid - Definir le GID pour les verifications d'acces au systeme de fichiers BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include [[obsolete]]int setfsgid(uid_t fsgid); DESCRIPTION Sur Linux, un processus a a la fois un identifiant de groupe de systeme de fichiers et un identifiant de groupe effectif. L'identifiant de groupe de systeme de fichiers (specifique a Linux) est utilise pour la verification des droits lors de l'acces aux systemes de fichiers, alors que l'identifiant de groupe effectif est utilise pour d'autres types de verifications de droits (voir credentials(7)). Normalement, la valeur de l'identifiant de groupe du systeme de fichiers du processus est la meme que celle de l'identifiant de groupe effectif. C'est ainsi, car a chaque fois que l'identifiant de groupe effectif d'un processus change, le noyau passe l'identifiant de groupe du systeme de fichiers a la valeur de l'identifiant de groupe effectif. Un processus peut faire diverger ses identifiants de groupe de systeme de fichiers et effectif, en utilisant setfsgid() pour passer l'identifiant de groupe du systeme de fichiers a la valeur donnee dans fsgid. setfsgid() ne reussira que si l'appelant est le superutilisateur ou si fsgid correspond au GID reel de l'appelant, a son GID effectif, a son GID sauve, ou encore a la valeur de l'identifiant de l'utilisateur dans le systeme de fichiers au moment de l'appel. VALEUR RENVOYEE En cas de succes comme en cas d'echec, l'appel renvoie la derniere valeur de l'identifiant du groupe (GID) de l'appelant dans le systeme de fichiers. STANDARDS Linux. HISTORIQUE Linux 1.2. Differences entre bibliotheque C et noyau Dans la glibc 2.15 et les versions anterieures, lorsque l'enveloppe de cet appel systeme determine qu'elle ne peut pas passer cet argument au noyau sans tronquer un entier (car le noyau est ancien et ne gere pas les identifiants de groupe 32 bits), elle renverra -1 et positionnera errno sur EINVAL sans essayer l'appel systeme. NOTES Le concept d'identifiant de groupe du systeme de fichiers et l'appel systeme setfsgid() ont ete inventes pour des raisons historiques qui ne s'appliquent plus sur les noyaux Linux modernes. Consultez setfsuid(2) si vous souhaitez connaitre les raisons pour lesquelles setfsuid(2) et setfsgid() ne sont desormais plus necessaires. L'appel systeme setfsgid() originel de Linux ne gerait que des identifiants de groupe sur 16 bits. En consequence, Linux 2.4 a ajoute setfsgid32() qui prend en charge des identifiants 32 bits. La fonction setfsgid() de la glibc qui l'encapsule gere de maniere transparente ces differences entre noyaux. BOGUES Aucune indication concernant l'erreur n'est renvoyee a l'appelant et le fait que la meme valeur soit retournee en cas de succes ou d'echec ne permet pas de savoir si l'appel a reussi ou echoue. Pour cela, l'appelant devra se referer a la valeur renvoyee par un appel ulterieur par exemple a setfsgid(-1) (qui echouera toujours). Cet appel permettra de savoir si un appel anterieur a setfsgid() a change l'identifiant du groupe (GID) au niveau du systeme de fichiers. Au minimum, EPERM doit etre renvoye lorsque l'appel echoue (puisque l'appelant ne dispose pas des privileges CAP_SETGID). VOIR AUSSI kill(2), setfsuid(2), capabilities(7), credentials(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 setfsgid(2)