GETPWENT(3)

BEZEICHNUNG
getpwent, setpwent, endpwent - Eintrag in Passwortdatei abfragen

ÜBERSICHT
#include <sys/types.h>
#include <pwd.h>

struct passwd *getpwent(void);

void setpwent(void);

void endpwent(void);

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

getpwent(), setpwent(), endpwent():
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE&& _XOPEN_SOURCE_EXTENDED

BESCHREIBUNG
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;        /* Benutzer-ID */
    gid_t   pw_gid;        /* Gruppen-ID */
    char   *pw_gecos;      /* wirklicher Name */
    char   *pw_dir;        /* Home-Verzeichnis */
    char   *pw_shell;      /* Anmelde-Shell */
};

Wenn shadow(5)-Passwörter eingeschaltet sind (was auf vielen GNU/Linux-Installationen Standard ist), ist der Inhalt von pw_passwd normalerweise nicht sehr nützlich. In einem solchen Fall sind die meisten Passwörter in einer separaten Datei gespeichert.

Die Variable pw_shell kann leer sein. In diesem Fall wird das System die Standard-Shell (/bin/sh) für den Benutzer ausführen.

RÜCKGABEWERT
Die Funktion getpwent() gibt einen Zeiger auf eine Passwort-Struktur zurück oder NULL, falls dort mehrere Einträge sind oder ein Fehler auftritt. Wenn ein Fehler auftritt, wird errno entsprechend gesetzt. 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).)

FEHLER

EINTR
    Es wurde ein Signal empfangen.

EIO E/A-Fehler

EMFILE
    Im aufrufenden Prozess wurde bereits die maximale Anzahl (OPEN_MAX) von Dateien geöffnet.

ENFILE
    Im System wurde bereits die maximale Anzahl von Dateien geöffnet.

ENOMEM
    Der Speicher reicht nicht aus, um ihn für die Struktur passwd zu reservieren.

ERANGE
    Der für den Puffer bereitgestellte Platz reicht nicht aus.

DATEIEN

/etc/passwd
    lokale Passwortdatenbank

KONFORM ZU
SVr4, 4.3BSD, POSIX.1-2001.

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

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> 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 <debian-l10n-german@lists.debian.org>.