getpwent(3) Library Functions Manual getpwent(3)

getpwent, setpwent, endpwent - Eintrag in Passwortdatei abfragen

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <sys/types.h>
#include <pwd.h>
struct passwd *getpwent(void);
void setpwent(void);
void endpwent(void);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

getpwent(), setpwent(), endpwent():

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

Die Funktion getpwent() gibt einen Zeiger auf eine Struktur zurück, die aus einem Datensatz herausgelöste Felder aus der Passwort-Datenbank enthält (z.B. die lokale Passwortdatei, NIS und LDAP). Wenn getpwent() zum ersten Mal aufgerufen wird, gibt es den ersten Eintrag zurück; danach gibt es die Einträge fortlaufend zurück.

Die Funktion setpwent() setzt den Dateizeiger auf den Anfang der Passwort-Datenbank.

Die Funktion endpwent() wird benutzt, um die Passwort-Datenbank zu schließen, nachdem die Verarbeitung durchgeführt wurde.

Die Struktur passwd ist in <pwd.h> wie folgt definiert:


struct passwd {
    char   *pw_name;       /* Benutzername */
    char   *pw_passwd;     /* Passwort des Benutzers */
    uid_t   pw_uid;        /* Benutzerkennung */
    gid_t   pw_gid;        /* Gruppenkennung */
    char   *pw_gecos;      /* Benutzerinformationen */
    char   *pw_dir;        /* Home-Verzeichnis */
    char   *pw_shell;      /* Anmelde-Shell */
};

Weitere Informationen über die Felder dieser Struktur finden Sie unter passwd(5).

Die Funktion getpwent() gibt einen Zeiger auf eine passwd-Struktur zurück oder NULL, falls dort keine weiteren Einträge sind oder ein Fehler auftritt. Wenn ein Fehler auftritt, wird errno gesetzt, um den Fehler anzuzeigen. Falls errno nach dem Aufruf geprüft werden soll, sollte es vor dem Aufruf auf Null gesetzt werden.

Der Rückgabewert könnte auf einen statischen Bereich zeigen und von nachfolgenden Aufrufen von getpwent(), getpwnam(3) oder getpwuid(3) überschrieben werden. (Übergeben Sie den zurückgegebenen Zeiger nicht an free(3).)

Ein Signal wurde abgefangen; siehe signal(7).
E/A-Fehler (engl. I/O).
Die Beschränkung pro Prozess der Anzahl offener Datei-Deskriptoren wurde erreicht.
Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.
Der Speicher reicht nicht aus, um ihn für die Struktur passwd zu reservieren.
Zu wenig Pufferspeicher bereitgestellt.

/etc/passwd
lokale Passwortdatenbank

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
getpwent() Multithread-Fähigkeit MT-Unsicher race:pwent race:pwentbuf locale
setpwent(), endpwent() Multithread-Fähigkeit MT-Unsicher race:pwent locale

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

Das Feld pw_gecos ist in POSIX nicht spezifiziert, aber in den meisten Implementierungen vorhanden.

POSIX.1-2008.

POSIX.1-2001, SVr4, 4.3BSD.

fgetpwent(3), getpw(3), getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Chris Leick <c.leick@vollbio.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.

2. Mai 2024 Linux man-pages 6.8