Datei /etc/passwd

Zweck

Enthält Basisbenutzerattribute.

Beschreibung

Die Datei /etc/passwd enthält grundlegende Benutzerattribute. Dies ist eine ASCII-Datei, die einen Eintrag für jeden Benutzer enthält. Jeder Eintrag definiert die Basisattribute, die auf einen Benutzer angewendet werden. Wenn Sie den Befehl mkuser verwenden, um Ihrem System einen Benutzer hinzuzufügen, aktualisiert der Befehl die Datei /etc/passwd .
Anmerkung: Für eine ordnungsgemäße Installation und Aktualisierung der Systemsoftware sind bestimmte systemdefinierte Gruppen-und Benutzernamen erforderlich. Gehen Sie vor dem Ersetzen dieser Datei vorsichtig vor, um sicherzustellen, dass keine vom System bereitgestellten Gruppen oder Benutzer entfernt werden.

Ein Eintrag in der Datei /etc/passwd hat das folgende Format:

Name : Passwort : Benutzer-ID : PrincipleGroup : Gecos : HomeDirectory : Shell

Attribute in einem Eintrag werden durch einen Doppelpunkt (:) getrennt. Aus diesem Grund sollten Sie in keinem Attribut einen Doppelpunkt (:) verwenden. Die Attribute sind wie folgt definiert:

Attribut Definition
Name Gibt den Anmeldenamen des Benutzers an Es gibt eine Reihe von Einschränkungen bei der Benennung von Benutzern. Weitere Informationen finden Sie in der Beschreibung des Befehls mkuser .
Kennwort Enthält einen Stern (*), der ein ungültiges Kennwort oder ein! (Ausrufezeichen) Gibt an, dass sich das Kennwort in der /etc/security/passwd befindet. Unter normalen Bedingungen enthält das Feld ein!. Wenn das Feld einen Stern (*) enthält und ein Kennwort für die Benutzerauthentifizierung erforderlich ist, kann sich der Benutzer nicht anmelden.
UserID Gibt die eindeutige numerische ID des Benutzers an. Diese ID wird für die eignerdefinierte Zugriffssteuerung verwendet. Der Wert ist eine eindeutige ganze Dezimalzahl.
PrincipleGroup Gibt die Principalgruppen-ID des Benutzers an Dies muss die numerische ID einer Gruppe in der Benutzerdatenbank oder eine Gruppe sein, die von einem Netzinformationsservice definiert wird. Der Wert ist eine eindeutige ganze Dezimalzahl.
Gecos Gibt allgemeine Informationen über den Benutzer an, die vom System nicht benötigt werden, z. B. eine Büro-oder Telefonnummer. Der Wert ist eine Zeichenfolge. Das Feld Gecos darf keinen Doppelpunkt enthalten.
HomeDirectory Gibt den vollständigen Pfadnamen des Benutzerausgangsverzeichnisses an. Wenn der Benutzer kein definiertes Ausgangsverzeichnis hat, wird das Ausgangsverzeichnis des Gastbenutzers verwendet. Der Wert ist eine Zeichenfolge.
Shell Gibt das Startprogramm oder die Shell an, das bzw. die ausgeführt wird, wenn ein Benutzer den Befehl Anmeldung oder Su aufruft. Wenn ein Benutzer keine definierte Shell hat, wird /usr/bin/sh, die Systemshell verwendet. Der Wert ist eine Zeichenfolge, die Argumente enthalten kann, die an das Startprogramm übergeben werden.

Benutzer können zusätzliche Attribute in anderen Systemdateien haben. Weitere Informationen finden Sie im Abschnitt "Dateien".

Benutzerdatei ändern

Sie sollten über die Systembefehle und Subroutinen, die für diesen Zweck definiert sind, auf die Benutzerdatenbankdateien zugreifen. Der Zugriff über andere Befehle oder Subroutinen wird in zukünftigen Releases möglicherweise nicht unterstützt. Verwenden Sie die folgenden Befehle, um auf Benutzerdatenbankdateien zuzugreifen:

  • chfn
  • chsh
  • chuser
  • lsuser
  • mkuser
  • rmuser

Der Befehl mkuser fügt neue Einträge zur Datei /etc/passwd hinzu und gibt die in der Datei /usr/lib/security/mkuser.default definierten Attributwerte ein.

Das Attribut Passwort wird immer mit einem Stern (*) initialisiert, einem ungültigen Kennwort. Sie können das Kennwort mit dem Befehl Kennwort oder Pwdadm festlegen. Wenn das Kennwort geändert wird, wird ein! (Ausrufezeichen) wird der Datei /etc/passwd hinzugefügt und gibt an, dass sich das verschlüsselte Kennwort in der Datei /etc/security/passwd befindet.

Verwenden Sie den Befehl Benutzer chuser , um alle Benutzerattribute außer Passwortzu ändern. Der Befehl Chfn und der Befehl Chsh ändern das Attribut Gecos bzw. das Attribut Shell . Verwenden Sie den Befehl Befehl lsuser , um alle Attribute in der Datei anzuzeigen. Mit dem Befehl Rmuser können Sie einen Benutzer und alle Attribute des Benutzers entfernen.

Verwenden Sie zum Schreiben von Programmen, die sich auf Attribute in der Datei /etc/passwd auswirken, die im Abschnitt mit den zugehörigen Informationen aufgelisteten Subroutinen.

Sicherheit

Zugriffssteuerung: Diese Datei sollte allen Benutzern Lese-(r) und Schreibzugriff (w) nur dem Rootbenutzer und den Mitgliedern der Sicherheitsgruppe erteilen.

Beispiele

  1. Typische Datensätze, die ein ungültiges Kennwort fürsmithundguestfolgen:
    smith:*:100:100:8A-74(office):/home/smith:/usr/bin/sh
    guest:*:200:0::/home/guest:/usr/bin/sh  
    Die Felder haben die folgende Reihenfolge: Benutzername, Kennwort, Benutzer-ID, Primärgruppe, allgemeine Informationen (gecos), Ausgangsverzeichnis und Startprogramm (Anmeldeshell). Der Stern (*) im Kennwortfeld gibt an, dass das Kennwort ungültig ist. Jedes Attribut wird durch einen Doppelpunkt (:) getrennt.
  2. Wenn das Kennwort fürsmithim vorherigen Beispiel in ein gültiges Kennwort geändert wird, wird der Datensatz wie folgt geändert:
    smith:!:100:100:8A-74(office):/home/smith:/usr/bin/sh 
    Das! (Ausrufezeichen) Gibt an, dass ein verschlüsseltes Kennwort in der Datei /etc/security/passwd gespeichert wird

Dateien

Element Beschreibung
/etc/passwd Enthält Basisbenutzerattribute.
/usr/lib/security/mkuser.default Enthält Standardattribute für neue Benutzer
/etc/group Enthält die Basisattribute von Gruppen.
/etc/security/group Enthält die erweiterten Attribute von Gruppen.
/etc/security/passwd Enthält Kennwortinformationen.
/etc/security/user Enthält die erweiterten Attribute von Benutzern.
/etc/security/environ Enthält die Umgebungsattribute von Benutzern.
/etc/security/limits Enthält die Prozessressourcengrenzwerte von Benutzern.