putuserpwx-Subroutine

Zweck

Greift auf die Benutzerauthentifizierungsdaten zu.

Bibliothek

Sicherheitsbibliotheklibc.a)

Syntax

#include <userpw.h>
int putuserpwx  (Password)
struct userpwx *Password;

Beschreibung

Das Unterprogramm putuserpwx ändert die Benutzerauthentifizierungsinformationen. Sie kann mit denjenigen administrativen Domänen verwendet werden, die das Ändern des verschlüsselten Kennworts des Benutzers mit dem Unterprogramm putuserattrs unterstützen. Das Unterprogramm chpassx muss verwendet werden, um Authentifizierungsinformationen für Verwaltungsdomänen zu ändern, die diese Funktion nicht unterstützen.

Das Unterprogramm putuserpwx aktualisiert oder erstellt Kennwortauthentifizierungsdaten für den im Parameter Password definierten Benutzer in der angegebenen Verwaltungsdomäne. Der von der Unterroutine putuserpwx erstellte Passworteintrag wird nur verwendet, wenn ein ! (Ausrufezeichen) im Attribut Passwort des Benutzers(S_PWD). Die Benutzeranwendung kann die Unterroutine putuserattrs verwenden, um ein ! zu diesem Feld.

Das Unterprogramm putuserpwx öffnet die Authentifizierungsdatenbank lesend und schreibend, wenn kein anderer Zugriff stattgefunden hat, aber das Programm sollte setpwdb(S_READ | S_WRITE) aufrufen, bevor es das Unterprogramm putuserpwx aufruft, und endpwdb, wenn der Zugriff auf die Authentifizierungsinformationen nicht mehr erforderlich ist.

Die im Feld upw_authdb angegebene Verwaltungsdomäne wird von der Unterroutine getuserpwx festgelegt. Er muss vom Anwendungsprogramm angegeben werden, wenn das Unterprogramm getuserpwx nicht verwendet wird, um den Parameter Password zu erzeugen.

Parameter

Element Beschreibung
Kennwort Gibt die Passwortstruktur an, die zur Aktualisierung der Passwortinformationen für diesen Benutzer verwendet wird. Die Felder in einer userpwx-Struktur sind in der Datei userpw.h definiert und enthalten die folgenden Mitglieder:
Upw-Name
Gibt den Namen des Benutzers an
upw_kennwort
Gibt das verschlüsselte Kennwort des Benutzers an
upw_lastupdate
Gibt die Zeit (in Sekunden) seit der letzten Aktualisierung des Kennworts an (d. h. 00:00:00 GMT, 1. Januar 1970).
Befehl 'upw_flags'
Gibt die Attribute des Kennworts an. Dieser Member ist eine Bitmaske aus einem oder mehreren der folgenden Werte, die in der Datei userpw.h definiert sind:
PW_NOCHECK (KENNWORT)
Gibt an, dass neue Kennwörter nicht den für das System geltenden Kennworteinschränkungen entsprechen müssen.
PW_ADMCHG
Gibt an, dass das Passwort zuletzt von einem Administrator festgelegt wurde und bei der nächsten erfolgreichen Verwendung des Befehls login oder su geändert werden muss.
PW_ADMIN
Gibt an, dass die Kennwortinformationen für diesen Benutzer nur vom Rootbenutzer geändert werden können.
upw_authdb
Gibt die Verwaltungsdomäne an, die die Authentifizierungsdaten enthält.

Sicherheit

Dateien, auf die zugegriffen wird:

Element Beschreibung
Modus Datei
rw /etc/security/passwd

Rückgabewerte

Bei Erfolg gibt das Unterprogramm putuserpwx den Wert 0 zurück. Wenn das Unterprogramm die Kennwortinformationen nicht aktualisieren oder erstellen konnte, gibt das Unterprogramm putuserpwx einen Wert ungleich Null zurück.

Fehlercodes

Die Unterroutine getuserpwx schlägt fehl, wenn der folgende Wert wahr ist:

Element Beschreibung
ENOENT Der Benutzer hat keinen Eintrag in der Datei /etc/security/passwd.

Unterprogramme, die von dem Unterprogramm putuserpwx aufgerufen werden, können ebenfalls Fehler setzen.

Dateien

Element Beschreibung
/etc/security/passwd Enthält Benutzerkennwörter.