Provided by: manpages-de-dev_4.21.0-2_all
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. ┌───────────────────────┬───────────────────────┬─────────────────────────────────────────┐ │Schnittstelle │ Attribut │ Wert │ ├───────────────────────┼───────────────────────┼─────────────────────────────────────────┤ │getgrent() │ Multithread-Fähigkeit │ MT-Unsafe race:grent race:grentbuf │ │ │ │ locale │ ├───────────────────────┼───────────────────────┼─────────────────────────────────────────┤ │setgrent(), endgrent() │ Multithread-Fähigkeit │ MT-Unsafe 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-2001, POSIX.1-2008, 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 ⟨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⟩.