jammy (3) getgrnam.3.gz

Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       getgrnam, getgrnam_r, getgrgid, getgrgid_r - ermittelt den Eintrag in der Gruppendatei

ÜBERSICHT

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

       struct group *getgrnam(const char *name);

       struct group *getgrgid(gid_t gid);

       int getgrnam_r(const char *name, struct group *grp,
                 char *buf, size_t buflen, struct group **result);

       int getgrgid_r(gid_t gid, struct group *grp,
                 char *buf, size_t buflen, struct group **result);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       getgrnam_r(), getgrgid_r():
           _POSIX_C_SOURCE
               || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

       Die Funktion getgrnam() liefert einen Zeiger auf eine Struktur zurück, die die Felder des Eintrags in der
       Gruppendatenbank (beispielsweise die lokale Gruppendatei /etc/group, NIS und LDAP), der zur  Gruppe  name
       passt.

       Die Funktion getgrgid() liefert einen Zeiger auf eine Struktur zurück, die die Felder des Eintrags in der
       Gruppendatenbank enthält, der zur Gruppe mit der ID gid passt.

       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;         /* NULL-terminiertes Feld von Zeigern auf
                                          Namen von Gruppenmitgliedern */
           };

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

       Die Funktionen getgrnam_r() und getgrgid_r() beschaffen die gleichen  Informationen  wie  getgrnam()  und
       getgrgid(),   speichern  aber  die  abgefragte  group-Struktur  an  dem  Ort,  auf  den  grp  weist.  Die
       String-Felder, auf die die Mitglieder der group-Struktur weisen, werden im Puffer buf  der  Größe  buflen
       gespeichert.  In  *result  wird  ein Zeiger auf das Ergebnis (nach erfolgreichem Aufruf) oder NULL (falls
       kein Eintrag gefunden wurde oder ein Fehler auftrat) in * Ergebnis gespeichert.

       Der Aufruf

           sysconf(_SC_GETGR_R_SIZE_MAX)

       liefert entweder -1 ohne Änderung von errno oder die anfänglich vorgeschlagene Größe für  Puffer  zurück.
       (Falls  diese  Größe zu klein ist, schlägt der Aufruf mit ERANGE fehl. In diesem Fall kann der Aufrufende
       es mit einem größeren Puffer erneut versuchen.)

RÜCKGABEWERT

       Die Funktionen getgrnam() und getgrgid() liefern  einen  Zeiger  auf  group-Struktur  zurück.  Wurde  der
       gesuchte  Eintrag  nicht  gefunden  oder  trat  ein  Fehler  auf,  wird  NULL  zurückgeliefert  und errno
       entsprechend gesetzt. Wenn Sie nach dem Aufruf errno prüfen wollen,  sollte  er  vor  dem  Aufruf  auf  0
       gesetzt werden.

       Der Rückgabewert darf auf statischen Speicher zeigen und kann von nachfolgenden Aufrufen von getgrent(3),
       getgrgid() oder getgrnam() überschrieben werden. (Übergeben  Sie  den  zurückgegebenen  Zeiger  nicht  an
       free(3).)

       Bei Erfolg geben getgrnam_r() und getgrgid_r() Null zurück und setzen*result auf grp. Wenn kein passender
       Gruppen-Datensatz gefunden wurde, geben diese Funktionen 0 zurück  und  speichern  in  *result  NULL.  Im
       Fehlerfall wird eine Fehlernummer zurückgegeben und wiederum NULL in *result gespeichert.

FEHLER

       0 oder ENOENT oder ESRCH oder EBADF oder EPERM oder …
              Der angegebene name oder die gid wurde nicht gefunden.

       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.

       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                        │
       ├──────────────┼───────────────────────┼─────────────────────────────┤
       │getgrnam()    │ Multithread-Fähigkeit │ MT-Unsafe race:grnam locale │
       ├──────────────┼───────────────────────┼─────────────────────────────┤
       │getgrgid()    │ Multithread-Fähigkeit │ MT-Unsafe race:grgid locale │
       ├──────────────┼───────────────────────┼─────────────────────────────┤
       │getgrnam_r(), │ Multithread-Fähigkeit │ MT-Safe locale              │
       │getgrgid_r()  │                       │                             │
       └──────────────┴───────────────────────┴─────────────────────────────┘

KONFORM ZU

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

ANMERKUNGEN

       Die  oben unter »RÜCKGABEWERT« gegebene Formulierung stammt aus POSIX.1. Es ruft im Fehlerfall nicht »not
       found« auf und legt daher nicht fest, welchen Wert errno in dieser Situation haben könnte. Aber das macht
       es  unmöglich,  Fehler  zu  erkennen. Man könnte argumentieren, dass nach POSIX errno unverändert bleiben
       sollten, wenn ein Eintrag nicht gefunden wird.  Experimente  auf  verschiedenen  UNIX-ähnlichen  Systemen
       zeigen,  dass  in  dieser  Situation  viele  verschiedene  Werte  auftreten:  0,  ENOENT,  EBADF,  ESRCH,
       EWOULDBLOCK, EPERM und wahrscheinlich weitere.

SIEHE AUCH

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

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  5.10  des  Projekts  Linux-man-pages.  Eine  Beschreibung  des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von 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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.

                                               15. September 2017                                    GETGRNAM(3)