getpw(3) den Eintrag einer Passwortzeile rekonstruieren

ÜBERSICHT

#define _GNU_SOURCE /* siehe feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>


int getpw(uid_t uid, char *puffer);

BESCHREIBUNG

Die Funktion getpw() rekonstruiert eine Zeile in der Passwortdatei im Puffer puffer für die angegebene Benutzer-ID 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;        /* Benutzer-ID */
    gid_t   pw_gid;        /* Gruppen-ID */
    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.
SchnittstelleAttributWert
getpw() Multithread-FähigkeitMT-Safe locale

KONFORM ZU

SVr2.

FEHLER

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

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 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 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 <[email protected]>.