Scroll to navigation

GETPW(3) Linux-Programmierhandbuch GETPW(3)

BEZEICHNUNG

getpw - 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 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.
puffer ist NULL.
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

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.

SIEHE AUCH

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

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.13 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 <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 die Mailingliste der Übersetzer.

22. März 2021 GNU