getpw - den Eintrag einer Passwortzeile rekonstruieren
Standard-C-Bibliothek (libc, -lc)
#define _GNU_SOURCE /* siehe feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>
[[veraltet]] int getpw(uid_t uid, char *puffer);
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).
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.
- 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.
- /etc/passwd
- Passwortdatenbank
Siehe attributes(7)EN für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
| Schnittstelle | Attribut | Wert |
| getpw() | Multithread-Fähigkeit | MT-Safe locale |
Die Funktion getpw() ist gefährlich, da sie den bereitgestellten Puffer puffer zum Überlauf bringen kann. Sie wurde durch getpwuid(3) ersetzt.
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.