Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       getgrent, setgrent, endgrent - holt einen Eintrag aus der Gruppendatei

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

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

       struct group *getgrent(void);

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

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

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

       getgrent(), endgrent():
           Seit Glibc 2.22:
               _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE
           Glibc 2.21 und älter
               _XOPEN_SOURCE >= 500
                   || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
                   || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

       Die  Funktion  getgrent()  gibt einen Zeiger auf eine Struktur zurück, welche die herausgenommenen Felder
       eines Eintrags in der Gruppendatenbank enthält (z.B. die lokale Gruppendatei /etc/group, NIS  und  LDAP).
       Beim  ersten  Aufruf  gibt  sie den ersten Eintrag zurück, danach bei jedem weiteren Aufruf die folgenden
       Einträge.

       Die Funktion setgrent() setzt den Dateizeiger auf den Anfang der Gruppendatenbank zurück, um  wiederholte
       Abfragen zu ermöglichen.

       Die  Funktion  endgrent()  wird  dazu  verwendet,  die Gruppendatenbank zu schließen, nachdem die gesamte
       Verarbeitung durchgeführt wurde.

       Die Struktur group wird in <grp.h> wie folgt definiert:

           struct group {
               char   *gr_name;        /* Gruppenname */
               char   *gr_passwd;      /* Gruppenpasswort */
               gid_t   gr_gid;         /* Gruppenkennung */
               char  **gr_mem;         /* mit Nullzeiger abgeschlossenes Feld von Zeigern auf
                                          Namen von Gruppenmitgliedern */
           };

       Weitere Informationen zu den Feldern dieser Struktur finden Sie in group(5).

RÜCKGABEWERT

       Die Funktion getgrent() gibt einen Zeiger auf eine  group-Struktur  zurück  oder  NULL,  falls  es  keine
       weiteren Einträge mehr gibt oder ein Fehler auftritt.

       Im Fehlerfall kann errno gesetzt werden. Wenn Sie errno nach dem Aufruf auswerten wollen, sollten Sie die
       Variable vorher auf Null setzen.

       Der  Rückgabewert  kann  auf  einen  statischen  Bereich  zeigen und kann durch anschließende Aufrufe von
       getgrent(), getgrgid(3) oder getgrnam(3) überschrieben werden. (Übergeben Sie den zurückgegebenen  Zeiger
       nicht an free(3).)

FEHLER

       EAGAIN Der  Dienst  war  vorübergehend  nicht  erreichbar,  bitte  versuchen  Sie  es  später erneut. Für
              NSS-Backends in der Glibc weist dies auf einen temporären Fehler bei  der  Kommunikation  mit  dem
              Backend  hin.  Der  Fehler kann sich unter Umständen selbst korrigieren, ein erneuter Versuch wird
              empfohlen.

       EINTR  Ein Signal wurde abgefangen; siehe signal(7).

       EIO    E/A-Fehler (engl. I/O).

       EMFILE Die Beschränkung pro Prozess der Anzahl offener Datei-Deskriptoren wurde erreicht.

       ENFILE Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.

       ENOENT Eine erforderliche Eingabedatei konnte nicht gefunden werden. Für NSS-Backends in der Glibc  weist
              dies darauf hin, dass das Backend nicht korrekt eingerichtet wurde.

       ENOMEM Es ist nicht ausreichend Speicher für die Bereitstellung einer group-Struktur vorhanden.

       ERANGE Zu wenig Pufferspeicher bereitgestellt.

DATEIEN

       /etc/group
              lokale Gruppendatenbank-Datei

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌────────────────────────┬───────────────────────┬──────────────────────────────────────────────────────┐
       │ SchnittstelleAttributWert                                                 │
       ├────────────────────────┼───────────────────────┼──────────────────────────────────────────────────────┤
       │ getgrent()             │ Multithread-Fähigkeit │ MT-Unsicher race:grent race:grentbuf locale          │
       ├────────────────────────┼───────────────────────┼──────────────────────────────────────────────────────┤
       │ setgrent(), endgrent() │ Multithread-Fähigkeit │ MT-Unsicher race:grent locale                        │
       └────────────────────────┴───────────────────────┴──────────────────────────────────────────────────────┘

       In  der  obigen  Tabelle  bedeutet  grent  in  race:grent,  dass,  falls  eine der Funktionen setgrent(),
       getgrent()  oder  endgrent()  in  verschiedenen  Threads  eines  Programms  parallel   verwandt   werden,
       konkurrierende Zugriffe auf Daten (»data races«) auftreten könnten.

STANDARDS

       POSIX.1-2008.

GESCHICHTE

       POSIX.1-2001, SVr4, 4.3BSD.

SIEHE AUCH

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

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de>, Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Linux man-pages 6.9.1                              2. Mai 2024                                       getgrent(3)