/etc/passwd in Linux ist eine Datei, die die Liste der Benutzer auf dem System zusammen mit wichtigen Informationen zu diesen Benutzern speichert. Die eindeutige Identifizierung von Benutzern ist zum Zeitpunkt der Anmeldung unerlässlich und erforderlich. /etc/passwd wird vom Linux-System zum Zeitpunkt der Anmeldung verwendet. Die Datei sollte für alle Benutzer lesbar sein, aber Schreibrechte sollten nur dem Root-Benutzer gehören.
Die /etc/passwd-Datei verstehen
Um den Inhalt der Datei anzuzeigen, verwenden Sie cat Befehl.
$ cat /etc/passwd
Die Ausgabe wird in etwa so aussehen. Hier repräsentiert jede Zeile einen Benutzer. Jeder Benutzer hat eine Liste von Parametern, die durch „:“
getrennt sindDie sieben Felder sind:
- Anmeldename
- Verschlüsseltes Passwort
- UID-Nummer
- GID-Nummer
- GECOS
- Home-Verzeichnis
- Login-Shell
Mal sehen, was jeder von ihnen bedeutet:
- Anmeldename :Der eindeutige Name, der einem Benutzer gegeben wird. Es wird zwischen Groß- und Kleinschreibung unterschieden.
- Verschlüsseltes Passwort :Dieses Feld ist für das verschlüsselte Passwort. In den meisten modernen Linux-Systemen wird das Passwort jedoch in einer Shadow-Datei namens /etc/shadow gespeichert. Das „x“ im zweiten Feld stellt dar, dass das Passwort in einer Schattendatei gespeichert ist.
- UID-Nummer :Jedem Benutzer wird eine eindeutige ID zugewiesen. Das System identifiziert einen Benutzer anhand seiner UID-Nummer. Der Root-Benutzer erhält die UID 0, die reserviert ist. UID 1-99 sind für vordefinierte Konten reserviert. Diese werden auch als Fake-Logins bezeichnet. In den meisten Linux-Systemen beginnt die UID für neue Benutzer bei 1000.
- GID-Nummer :GID wird verwendet, um die Gruppe zu identifizieren, zu der der Benutzer gehört. Informationen über Gruppen werden in der Datei /etc/group gespeichert. Unter Linux kann ein Benutzer bis zu 16 Gruppen angehören.
- GECOS :steht für General Electric Comprehensive Operating Supervisor. In diesem Feld kann der Administrator zusätzliche Informationen über den Benutzer speichern. Dieses Feld kann mehrere Einträge in einer durch Kommas getrennten Liste enthalten. In diesem Feld können Informationen wie vollständiger Name, Telefonnummer, die Bezeichnung hinterlegt werden.
- Home-Verzeichnis: Dieses Feld enthält den absoluten Pfad zum Home-Verzeichnis des Benutzers. Wenn sich ein Benutzer anmeldet, legt ihn das System direkt in seinem Home-Verzeichnis ab.
- Login-Shell :Dieses Feld dient zur Angabe des Programms, das automatisch ausgeführt wird, wenn sich der Benutzer anmeldet. Es ist normalerweise ein Befehlsinterpreter (Shell).
Erstellen Sie einen Benutzer
Wir können das useradd verwenden Befehl zum Erstellen eines neuen Benutzers. Stellen Sie sicher, dass Sie den Befehl mit Root-Zugriff ausführen.
$ useradd Adam
Dadurch wird ein Benutzer mit dem Namen Adam. erstellt
GECOS-Feld ändern
Um das GECOS-Feld für Adam zu ändern, verwenden Sie usermod Befehl.
$ usermod -c "DevOp expert" Adam
Eintrag für einen bestimmten Benutzer anzeigen
Verwenden Sie grep aus der etc/passwd-Datei, um den Eintrag für einen einzelnen Benutzer zu erhalten Befehl.
$ grep Adam /etc/passwd
Wie wir sehen können, wurde das GECOS-Feld für Benutzer Adam erfolgreich aktualisiert.
Wir unterteilen die Werte in ihre jeweiligen Felder:
- Anmeldename:Adam
- Verschlüsseltes Passwort:x (Schattendatei)
- UID-Nummer:1001
- GID-Nummer:1002
- GECOS:DevOp-Experte
- Home-Verzeichnis:/home/Adam
- Login-Shell:/bin/sh
Endwörter
Als Linux-Administrator ist es wichtig, die Datei /etc/passwd auf der Hand zu haben. Verstehen Sie, was jedes Feld bedeutet, und verfolgen Sie die Benutzer im System. Weitere Informationen zur /etc/passwd-Datei finden Sie auf dieser Wikipedia-Seite für den passwd-Befehl.