BEZEICHNUNG

getpw - den Eintrag einer Passwortzeile rekonstruieren

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#define _GNU_SOURCE             /* siehe feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>
[[veraltet]] int getpw(uid_t uid, char *puffer);

BESCHREIBUNG

Die Funktion getpw() rekonstruiert eine Zeile in der Passwortdatei im Puffer puffer für die angegebene Benutzerkennung uid. Der zurückgegebene Puffer enthält eine Zeile im folgenden Format:

name:passwd:uid:gid:gecos:dir:shell

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).

RÜCKGABEWERT

Die Funktion getpw() gibt bei Erfolg 0 zurück. Bei einem Fehler wird -1 zurückgegeben und errno so gesetzt, dass es den Fehler anzeigt.
Falls uid nicht in der Passwortdatenbank gefunden wird, gibt getpw() -1 zurück, setzt errno auf 0 und lässt buf unverändert.

FEHLER

0 oder ENOENT
Zu uid gibt es keinen dazugehörigen Benutzer.
EINVAL
puffer ist NULL.
ENOMEM
Der Speicher reicht nicht aus, um ihn für die Struktur passwd zu reservieren.

DATEIEN

/etc/passwd
Passwortdatenbank

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle Attribut Wert
getpw() Multithread-Fähigkeit MT-Safe locale
 

STANDARDS

SVr2.

FEHLER

Die Funktion getpw() ist gefährlich, da sie den bereitgestellten Puffer puffer zum Überlauf bringen kann. Sie wurde durch getpwuid(3) ersetzt.

SIEHE AUCH

endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <[email protected]> und Chris Leick <[email protected]> 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