dwww Home | Manual pages | Find package

getgrnam(3)                Library Functions Manual                getgrnam(3)

NOM
       getgrnam,  getgrnam_r,  getgrgid, getgrgid_r - Obtenir l'enregistrement
       d'un groupe

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <sys/types.h>
       #include <grp.h>

       struct group *getgrnam(const char *name);
       struct group *getgrgid(gid_t gid);

       int getgrnam_r(const char *restrict name, struct group *restrict grp,
                      char buf[restrict .buflen], size_t buflen,
                      struct group **restrict result);
       int getgrgid_r(gid_t gid, struct group *restrict grp,
                      char buf[restrict .buflen], size_t buflen,
                      struct group **restrict result);

   Exigences de macros de test de fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       getgrnam_r(), getgrgid_r() :
           _POSIX_C_SOURCE
               || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
       La fonction getgrnam() renvoie un pointeur vers une structure contenant
       les champs de l'enregistrement de la base de  données  de  groupe  (par
       exemple,  le fichier de groupes local /etc/group, NIS, et LDAP) corres-
       pondant au nom name.

       La fonction getgrgid() renvoie un pointeur vers une structure contenant
       les  champs de l'enregistrement de la base de données de groupe corres-
       pondant au GID gid.

       La structure group est définie dans <grp.h> comme ceci :

           struct group {
               char   *gr_name;        /* nom de groupe */
               char   *gr_passwd;      /* mot de passe de groupe */
               gid_t   gr_gid;         /* identifiant de groupe */
               char  **gr_mem;         /* tableau de pointeurs de nom des membres de groupe
                                          terminé par un pointeur NULL */
           };

       Pour plus d'informations  à  propos  des  champs  de  cette  structure,
       consultez group(5).

       Les fonctions getgrnam_r() et getgrgid_r() fournissent la même informa-
       tion que getgrnam() et getgrgid() mais enregistrent la structure  group
       trouvée  dans  l'espace  pointé par grp. Cette structure group contient
       des pointeurs vers des chaînes de caractères qui sont enregistrées dans
       le tampon buf de taille buflen. Un pointeur vers le résultat (en cas de
       succès) ou NULL (au cas où aucune entrée n'ait été  trouvée  ou  qu'une
       erreur soit survenue) est enregistré dans *result.

       L'appel

           sysconf(_SC_GETGR_R_SIZE_MAX)

       renvoie soit -1 sans modifier errno, soit une suggestion de taille ini-
       tiale pour buf (si cette taille est trop petite,  l'appel  échoue  avec
       ERANGE,  auquel  cas  l'appelant  peut  réessayer  avec  un tampon plus
       grand).

VALEUR RENVOYÉE
       Les fonctions getgrnam() et getgrgid() renvoient un pointeur  vers  une
       structure  group,  ou  NULL s'il n'y a pas de correspondance, ou si une
       erreur se produit. Dans ce cas, errno est défini  pour  indiquer  l'er-
       reur.  Si on souhaite vérifier errno après l'appel, il devrait être po-
       sitionné à zéro avant l'appel.

       La valeur de retour peut pointer sur une zone de  mémoire  statique  et
       peut  être  écrasée par des appels successifs à getgrent(3), getgrgid()
       ou getgrnam(). (Ne pas passer le pointeur renvoyé à free(3).)

       En cas de succès, getgrnam_r() et getgrgid_r() renvoient  0,  et  défi-
       nissent  *result à grp. Si aucun enregistrement de groupe de correspon-
       dance est trouvé, ces fonctions renvoient 0 et  définissent  *result  à
       NULL.  En  cas  d'erreur, un numéro d'erreur est renvoyé et *result est
       défini à NULL.

ERREURS
       0 ou ENOENT ou ESRCH ou EBADF ou EPERM ou ...
              Le nom name ou l'identifiant gid n'ont pas été trouvés.

       EINTR  Un signal a été intercepté ; consultez signal(7).

       EIO    Erreur d'entrée-sortie.

       EMFILE La limite du nombre de descripteurs de fichiers par processus  a
              été atteinte.

       ENFILE La  limite  du  nombre total de fichiers ouverts pour le système
              entier a été atteinte.

       ENOMEM Pas assez de mémoire pour allouer la structure group.

       ERANGE L'espace tampon fourni est insuffisant.

FICHIERS
       /etc/group
              Base de données des groupes locaux

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌──────────────┬──────────────────────┬────────────────────────────────┐
       │InterfaceAttributValeur                         │
       ├──────────────┼──────────────────────┼────────────────────────────────┤
       │getgrnam()    │ Sécurité des threads │ MT-Unsafe race:grnam locale    │
       ├──────────────┼──────────────────────┼────────────────────────────────┤
       │getgrgid()    │ Sécurité des threads │ MT-Unsafe race:grgid locale    │
       ├──────────────┼──────────────────────┼────────────────────────────────┤
       │getgrnam_r(), │ Sécurité des threads │ MT-Safe locale                 │
       │getgrgid_r()  │                      │                                │
       └──────────────┴──────────────────────┴────────────────────────────────┘

STANDARDS
       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES
       La description « VALEUR RENVOYÉE » ci-dessus provient de POSIX.1.  Elle
       ne  considère pas le cas « non trouvé » comme une erreur et ne spécifie
       pas errno dans ce cas. Cela rend la détection d'erreur  impossible.  On
       peut  dire que, d'après POSIX, errno est inchangé dans le cas où aucune
       entrée n'est trouvée. Des essais sur de nombreux systèmes UNIX ont fait
       apparaître  différentes  valeurs dans ce cas : 0, ENOENT, EBADF, ESRCH,
       EWOULDBLOCK, EPERM et probablement d'autres.

VOIR AUSSI
       endgrent(3),  fgetgrent(3),  getgrent(3),   getpwnam(3),   setgrent(3),
       group(5)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org> et David Prévot <david@tilapin.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⟩.

Pages du manuel de Linux 6.03   5 février 2023                     getgrnam(3)

Generated by dwww version 1.15 on Sat Jun 29 01:38:51 CEST 2024.