Heim  >  Artikel  >  System-Tutorial  >  Detaillierte Erklärung der Datei /etc/passwd unter Linux

Detaillierte Erklärung der Datei /etc/passwd unter Linux

PHPz
PHPznach vorne
2024-02-12 17:18:191018Durchsuche

Wussten Sie, dass im Linux-System jeder Benutzer entsprechende Datensatzzeilen in der Datei /etc/passwd hat? Diese Datensatzzeilen enthalten einige grundlegende Attribute des Benutzers. Als Systemadministrator ist es eine häufige Aufgabe, häufig Änderungen an dieser Datei vorzunehmen, um Benutzer zu verwalten.

Detaillierte Erklärung der Datei /etc/passwd unter Linux

Der Inhalt ähnelt dem folgenden Beispiel:

Detaillierte Erklärung der Datei /etc/passwd unter Linux

Aus dem obigen Beispiel können wir ersehen, dass eine Datensatzzeile in /etc/passwd einem Benutzer entspricht und jede Datensatzzeile durch einen Doppelpunkt (:) in 7 Felder getrennt ist. Sein Format und seine spezifische Bedeutung sind wie folgt:

Benutzername: Passwort: Benutzeridentifikationsnummer: Gruppenidentifikationsnummer: Anmerkungsbeschreibung: Home-Verzeichnis: Login-Shell

"Benutzername"

Eine Zeichenfolge, die das Benutzerkonto darstellt. Normalerweise nicht länger als 8 Zeichen und bestehend aus Groß- und Kleinbuchstaben und/oder Zahlen. Der Anmeldename darf keinen Doppelpunkt (:) enthalten, da hier der Doppelpunkt als Trennzeichen dient. Aus Kompatibilitätsgründen ist es am besten, den Punkt (.) nicht in den Anmeldenamen aufzunehmen und nicht mit einem Bindestrich (-) und einem Pluszeichen (+) zu beginnen.

"Passwort"

In manchen Systemen werden verschlüsselte Benutzerpasswörter gespeichert. Obwohl dieses Feld nur die verschlüsselte Zeichenfolge des Benutzerkennworts und keinen Klartext speichert, stellt dies dennoch ein Sicherheitsrisiko dar, da die Datei /etc/passwd für alle Benutzer lesbar ist. Daher verwenden viele Linux-Systeme (z. B. SVR4) jetzt die Schattentechnologie, um das echte verschlüsselte Benutzerkennwort in der Datei /etc/shadow zu speichern, und speichern nur ein spezielles Kennwort im Kennwortfeld der Datei /etc/passwd als „x“ oder „*“.

„Benutzeridentifikationsnummer“

ist eine Ganzzahl, die vom System intern zur Identifizierung des Benutzers verwendet wird. Im Allgemeinen entspricht es eins zu eins dem Benutzernamen. Wenn die Benutzeridentifikationsnummern, die mehreren Benutzernamen entsprechen, gleich sind, werden sie intern vom System als derselbe Benutzer betrachtet, sie können jedoch unterschiedliche Passwörter, unterschiedliche Home-Verzeichnisse, unterschiedliche Anmelde-Shells usw. haben. Normalerweise liegt der Wertebereich der Benutzeridentifikationsnummern zwischen 0 und 65535. 0 ist die Identifikationsnummer des Superuser-Roots, 1 bis 99 sind vom System als Verwaltungskonten reserviert und die Identifikationsnummern normaler Benutzer beginnen bei 100. Auf Linux-Systemen beträgt dieser Grenzwert 500.

„Gruppenidentifikationsnummer“

Das Feld erfasst die Benutzergruppe, zu der der Benutzer gehört. Es entspricht einem Eintrag in der Datei /etc/group.

„Kommentierte Beschreibung“

In dem Feld werden einige persönliche Informationen des Benutzers erfasst, z. B. der tatsächliche Name, die Telefonnummer, die Adresse usw. des Benutzers. Dieses Feld hat keinen praktischen Nutzen. Das Format dieses Feldes ist in verschiedenen Linux-Systemen nicht einheitlich. In vielen Linux-Systemen speichert dieses Feld einen beliebigen beschreibenden Text, der als Ausgabe des Finger-Befehls verwendet wird.

"Home-Verzeichnis"

Das heißt, das Startarbeitsverzeichnis des Benutzers, das Verzeichnis, in dem sich der Benutzer nach der Anmeldung am System befindet. In den meisten Systemen ist das Home-Verzeichnis jedes Benutzers im selben spezifischen Verzeichnis organisiert, und der Name des Home-Verzeichnisses des Benutzers ist der Anmeldename des Benutzers.

Jeder Benutzer verfügt über Lese-, Schreib- und Ausführungsberechtigungen (Suchberechtigungen) für sein eigenes Home-Verzeichnis. Die Zugriffsberechtigungen anderer Benutzer für dieses Verzeichnis werden entsprechend den spezifischen Umständen festgelegt. Nachdem sich der Benutzer angemeldet hat, wird ein Prozess gestartet, der für die Übertragung der Vorgänge des Benutzers an den Kernel verantwortlich ist. Bei diesem Prozess handelt es sich um den Befehlsinterpreter oder ein bestimmtes Programm, d. h. die Shell, das ausgeführt wird, nachdem sich der Benutzer beim angemeldet hat System. Die Shell ist die Schnittstelle zwischen dem Benutzer und dem Linux-System. Es gibt viele Arten von Linux-Shells mit jeweils unterschiedlichen Eigenschaften.

Zu den häufig verwendeten gehören sh (BourneShell), csh (CShell), ksh (KornShell), tcsh (TENEX/TOPS-20typeCShell), bash (BourneAgainShell) usw.

Systemadministratoren können basierend auf Systembedingungen und Benutzergewohnheiten eine Shell für Benutzer festlegen. Wenn Sie keine Shell angeben, verwendet das System sh als Standard-Anmeldeshell, d. h. der Wert dieses Feldes ist /bin/sh. Die Login-Shell des Benutzers kann auch als bestimmtes Programm bezeichnet werden (dieses Programm ist kein Befehlsinterpreter).

Mit dieser Funktion können wir Benutzer darauf beschränken, nur bestimmte Anwendungen auszuführen. Nachdem die Anwendung beendet ist, verlässt der Benutzer das System automatisch. Einige Linux-Systeme erfordern, dass in diesem Feld nur im System registrierte Programme angezeigt werden dürfen. Es gibt einen Benutzertyp im System, der Pseudobenutzer genannt wird. Diese Benutzer haben ebenfalls einen Eintrag in der Linux-Datei /etc/passwd, können sich jedoch nicht anmelden, da ihre Anmeldeshell leer ist. Ihre Existenz dient hauptsächlich dazu, die Systemverwaltung zu erleichtern und die Anforderungen der entsprechenden Systemprozesse für Dateieigentümer zu erfüllen. Häufige Pseudobenutzer werden unten aufgeführt.

Pseudo-Benutzerbedeutung

Enthält:

bin verfügt über ausführbare Benutzerbefehlsdateien

sys besitzt Systemdateien

adm besitzt die Kontodatei

uucp UUCP-Nutzung

lplp- oder lpd-Subsystemverwendung

niemand NFS-Nutzung

Kontodateien haben

Es gibt auch einige Standard-Pseudobenutzer wie Audit, Cron, Mail, Usenet usw., die auch über entsprechende Prozesse und Dateien im Linux-System verfügen. Da die Linux-Datei /etc/passwd jedoch für alle Benutzer lesbar ist und das Kennwort des Benutzers zu einfach ist oder offensichtliche Muster aufweist, kann es von Angreifern leicht geknackt werden. Daher werden in Linux-Systemen mit hohen Sicherheitsanforderungen die verschlüsselten Passwörter separat in der Datei /etc/shadow gespeichert und nur der Superuser hat Leseberechtigung für die Datei, wodurch die Sicherheit des Benutzerpassworts geschützt wird.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Datei /etc/passwd unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen