Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       getgrent, setgrent, endgrent - Lire les enregistrements du fichier de groupes

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

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

       struct group *getgrent(void);

       void setgrent(void);
       void endgrent(void);

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

       setgrent() :
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19 : */ _DEFAULT_SOURCE
               || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

       getgrent(), endgrent() :
           Depuis la glibc 2.22 :
               _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE
           glibc 2.21 et antérieures :
               _XOPEN_SOURCE >= 500
                   || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L
                   || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       La fonction getgrent() renvoie un pointeur sur une structure  contenant  les  champs  d'un
       enregistrement de la base de données des groupes (par exemple, le fichier de groupes local
       /etc/group, NIS ou LDAP). Au premier appel, getgrent() renvoie le premier  enregistrement,
       puis les autres enregistrements lors des appels successifs.

       La  fonction  setgrent() ramène le pointeur au début de la base de données de groupes pour
       permettre des balayages répétitifs.

       La fonction endgrent() est utilisée pour fermer la base de données de  groupes  après  que
       toutes les actions ont été réalisées.

       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).

VALEUR RENVOYÉE

       La  fonction  getgrent()  renvoie un pointeur vers une structure group ou un pointeur NULL
       s'il n'y a plus d'enregistrement, ou si une erreur se produit.

       En cas d'erreur, errno peut être positionnée. Si vous souhaitez vérifier sa valeur, il est
       nécessaire de la positionner à 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(), getgrgid(3) ou getgrnam(3) (ne pas passer le  pointeur
       renvoyé à free(3)).

ERREURS

       EAGAIN Le  service  était  temporairement  indisponible ;  réessayez  plus  tard. Pour les
              services NSS dans la glibc, cela indique la survenue d'une erreur  temporaire  lors
              de  la  communication  avec ces services. L'erreur étant susceptible de se corriger
              d'elle-même, il est suggéré de réessayer plus tard.

       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.

       ENOENT Un  fichier  d'entrée  nécessaire n'a pas été trouvé. Pour les services NSS dans la
              glibc, cela indique que le service concerné n'est pas configuré correctement.

       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                                   │
       ├───────────────────────┼──────────────────────┼──────────────────────────────────────────┤
       │getgrent()             │ Sécurité des threads │ MT-Unsafe race:grent race:grentbuf       │
       │                       │                      │ locale                                   │
       ├───────────────────────┼──────────────────────┼──────────────────────────────────────────┤
       │setgrent(), endgrent() │ Sécurité des threads │ MT-Unsafe race:grent locale              │
       └───────────────────────┴──────────────────────┴──────────────────────────────────────────┘

       Dans  la  table  ci-dessus,  grent  dans  race:grent  signifie  que  si  une des fonctions
       setgrent(), getgrent() ou endgrent() est utilisée en  parallèle  dans  différents  threads
       d'un programme, une situation de compétition de données pourrait se produire.

STANDARDS

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

VOIR AUSSI

       fgetgrent(3),   getgrent_r(3),  getgrgid(3),  getgrnam(3),  getgrouplist(3),  putgrent(3),
       group(5)

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>  et  Lucien  Gentis
       <lucien.gentis@waika9.com>

       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⟩.