Befehl "pwdck"

Zweck

Überprüft die Richtigkeit der lokalen Authentifizierungsinformationen.

Syntax

pwdck { -p | -n | -t | -y }[-l]{ ALL | User ... }

Beschreibung

Der Befehl pwdck überprüft die Korrektheit der Kennwortinformationen in den Benutzerdatenbankdateien, indem er die Definitionen für ALLE Benutzer oder für die durch den Parameter User angegebenen Benutzer überprüft. Wenn mehrere Benutzernamen angegeben werden, müssen diese durch Leerzeichen voneinander getrennt werden.

Hinweis: Dieser Befehl schreibt seine Meldungen in stderr.

Sie müssen ein Flag auswählen, um anzugeben, ob das System versuchen soll, fehlerhafte Attribute zu korrigieren. Die folgenden Attribute werden für lokal definierte Benutzer in der Datei /etc/passwd überprüft:

Element Beschreibung
Eintrag Stellt sicher, dass jeder Eintrag lesbar ist und mindestens zwei Doppelpunkte (:) enthält. Wenn Sie angeben, dass das System Fehler beheben soll, wird der gesamte Eintrag verworfen.
passwd Stellt sicher, dass das Passwortfeld ein ! (Ausrufezeichen). Wenn Sie angeben, dass das System Fehler beheben soll, werden die Informationen im Kennwortfeld in die Datei /etc/security/passwd übertragen. Dann wird das Attribut lastupdate in der Datei /etc/security/passwd aktualisiert und das Kennwortfeld in der Datei /etc/passwd durch eine Ausrufezeichen (!) ersetzt. Im Allgemeinen sind Kennwörter erforderlich, wenn die Kennworteinschränkung minalpha, minother oder minlen in der Datei /etc/security/user auf einen Wert ungleich null gesetzt ist.
User Stellt sicher, dass der Benutzername eine eindeutige Zeichenfolge von maximal 8 Byte ist. Er darf nicht mit einem Pluszeichen (+), einem Doppelpunkt (:), einem Minuszeichen (-) oder einer Tilde (~) beginnen. Er darf keinen Doppelpunkt (:) in der Zeichenfolge enthalten und nicht den Schlüsselwörtern ALL, default und * entsprechen. Wenn Sie angeben, dass das System Fehler beheben soll, wird die Eintragszeile für diesen Benutzer aus der Datei /etc/passwd entfernt. Wenn der Benutzername mit einem Pluszeichen (+) oder Minuszeichen (-) beginnt, ist der Benutzer nicht lokal definiert und es werden keine Prüfungen durchgeführt.

Die folgenden Attribute werden in der Datei /etc/security/passwd überprüft:

Element Beschreibung
Zeile Stellt sicher, dass jede Zeile lesbar und Teil einer Zeilengruppe ist. Jede ungültige Zeile wird verworfen.
Kennwort Stellt sicher, dass das Attribut password vorhanden und nicht leer ist, wenn Kennwörter auf dem System erforderlich sind. Wenn Sie angeben, dass das System Fehler beheben soll, wird das Kennwort auf * (Stern) gesetzt und das Attribut lastupdate wird verworfen.

Im Allgemeinen sind Kennwörter erforderlich, wenn die Kennworteinschränkung minalpha oder minother in der Datei /etc/security/user auf einen Wert ungleich null gesetzt ist. Wenn das Attribut flags eines Benutzers das Schlüsselwort NOCHECK angibt, ist für diesen Benutzer kein Kennwort erforderlich und die Prüfung wird ignoriert.

lastupdate Stellt sicher, dass das Attribut lastupdate für ein gültiges nicht leeres Kennwort vorhanden ist und dass die Zeit vor der aktuellen Zeit liegt. Wenn Sie angeben, dass das System Fehler beheben soll, wird das Attribut lastupdate je nach Attribut password verworfen oder aktualisiert. Das Attribut lastupdate wird verworfen, wenn das Attribut password nicht vorhanden oder ein Leerzeichen oder ein Stern (*) ist. Andernfalls wird die lastupdate-Zeit auf die aktuelle Uhrzeit gesetzt.
Flags Stellt sicher, dass das Attribut flags nur die Schlüsselwörter ADMIN, ADMCHG und NOCHECK enthält. Wenn Sie angeben, dass das System Fehler beheben soll, werden alle nicht definierten Flags gelöscht.

Die folgenden Attribute werden in der Datei /etc/security/user überprüft:

Element Beschreibung
auth1 Stellt sicher, dass jeder für einen lokalen Benutzer definierte Eintrag "SYSTEM;Benutzername" einen Eintrag username in der Datei /etc/security/passwd hat. Wenn Sie angeben, dass das System Fehler beheben soll, wird der Datei /etc/security/passwd für jeden fehlenden Eintrag eine Zeilengruppe im folgenden Format hinzugefügt:
username:
          password = *         

Wenn in der Datei /etc/security/user kein Benutzereintrag und kein Standardeintrag enthalten sind, nimmt das System die folgenden Werte an und überprüft "auth1":

auth1 = SYSTEM;user                
Hinweis: Das Attribut auth1 ist veraltet und sollte nicht mehr verwendet werden.
auth2 Stellt sicher, dass jeder für einen lokalen Benutzer definierte Eintrag "authname;Benutzername" einen Eintrag username in der Datei /etc/security/passwd hat. Wenn Sie angeben, dass das System Fehler beheben soll, wird für jeden fehlenden Eintrag ein Eintrag hinzugefügt.

Wenn in der Datei /etc/security/user kein Benutzereintrag und kein Standardeintrag enthalten sind, nimmt das System die folgenden Werte an und überprüft auth2:

auth2 = NONE                  

Wenn ALL angegeben ist, stellt der Befehl pwdck sicher, dass jede Zeilengruppe in der Datei /etc/security/passwd dem Authentifizierungsnamen eines lokalen Benutzers, angegeben als "SYSTEM;Benutzername" in der Datei /etc/security/user entspricht. Wenn Sie angeben, dass das System Fehler beheben soll, wird eine Zeilengruppe, die keinem Benutzernamenseintrag in der Datei /etc/security/user entspricht, aus der Datei /etc/security/passwd gelöscht.

Der Befehl pwdck sperrt die Datei /etc/passwd und die Datei /etc/security/passwd, wenn diese aktualisiert werden. Wenn eine dieser Dateien von einem anderen Prozess gesperrt ist, wartet der Befehl pwdck einige Minuten, bis die Dateien wieder entsperrt werden. Sollte dies nicht passieren, wird der Befehl beendet.

Der Befehl pwdck überprüft, ob die Datei /etc/passwd und die Datei /etc/security/passwd von einem anderen Prozess geändert werden, während der aktuelle pwdck-Prozess ausgeführt wird. Wenn Sie angeben, dass das System Fehler beheben soll, aktualisiert der Befehl pwdck die Datei /etc/passwd und die Datei /etc/security/passwd und überschreibt ggf. alle vom anderen Prozess vorgenommenen Änderungen.

Hinweis: Der Befehl pwdck deaktiviert alle erweiterten Zugriffskontrolllisten (ACLs) für die Dateien, wenn er Fehler behebt und diese meldet.

Der Befehl pwdck prüft außerdem, ob die Sicherheitsdateien für das Datenbankmanagement (/etc/passwd.nm.idx, /etc/passwd.id.idx, /etc/security/passwd.idx und /etc/security/lastlog.idx)) auf dem neuesten Stand oder neuer als die entsprechenden Systemsicherheitsdateien sind. Beachten Sie, dass es in Ordnung ist, wenn die Datei /etc/security/lastlog.idx nicht neuer ist als /etc/security/lastlog. Wenn die Sicherheitsdateien für das Datenbankmanagement nicht auf dem neuesten Stand sind, wird eine Warnung angezeigt, in der der Rootbenutzer aufgefordert wird, den Befehl mkpasswd auszuführen.

Im Allgemeinen ruft der Befehl sysck den Befehl pwdck als Teil der Überprüfung einer vertrauenswürdigen Systeminstallation auf. Außerdem kann der Befehl vom Rootbenutzer und von Mitgliedern der Gruppe "security" ausgeführt werden.

Hinweis: Das Attribut auth2 ist veraltet und sollte nicht mehr verwendet werden.

Flags

Element Beschreibung
-l Sperrt die Datei während der gesamten Ausführung.
-N Berichtet Fehler, korrigiert sie aber nicht.
-p Korrigiert Fehler, berichtet sie aber nicht.
-T Berichtet Fehler und fragt an, ob sie korrigiert werden sollen.
-y Korrigiert Fehler und berichtet sie.

Sicherheit

Zugriffssteuerung: Dieser Befehl sollte nur dem Rootbenutzer und den Mitgliedern der Gruppe "security" Ausführungszugriff (e(x)ecute) erteilen. Der Befehl muss zum Lesen und Schreiben der Authentifizierungsinformationen mit setuid auf den Rootbenutzer gesetzt werden und das Attribut trusted computing base haben.

Dateien, auf die zugegriffen wird:

Modus Datei
rw /etc/passwd
r /etc/security/user
rw /etc/security/passwd
r /etc/security/login.cfg

Prüfereignisse:

Ereignis Informationen
PASSWORD_Check Benutzer, Fehler/Korrektur, Status
PASSWORT_Ckerr Datei/Benutzer, Fehler, Status

Achtung RBAC-Benutzer und vertrauenswürdige AIX®: Dieser Befehl kann privilegierte Operationen durchführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen zu Berechtigungen und Autorisierungen finden Sie im Abschnitt "Privileged Command Database" in der Veröffentlichung Security. Eine Liste der Privilegien und Berechtigungen für diesen Befehl finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.

Beispiele

  1. Um zu überprüfen, ob alle lokalen Benutzer gültige Passwörter haben, geben Sie ein:
    pwdck  -y ALL
    Dieser Befehl meldet Fehler und behebt sie.
  2. Um sicherzustellen, dass der Benutzerarieleine gültige Stanza in der Datei /etc/security/passwd hat, geben Sie ein:
    pwdck  -y ariel

Dateien

Element Beschreibung
/usr/bin/pwdck Enthält den Befehl pwdck.
/etc/security/passwd Enthält aktuelle Kennwörter und Sicherheitsinformationen.
/etc/security/login.cfg Enthält Konfigurationsinformationen und Kennwortbeschränkungen.