So speichert und verwaltet Linux Benutzerkennwörter

Cum Linux stochează și gestionează parolele utilizatorilor
⏱️ 8 min read

Haben Sie sich gefragt, wie Linux eine Mehrbenutzerumgebung effizient verwaltet? In diesem Artikel erklären wir, wie Linux Benutzerkennwörter und Anmeldungen speichert und verwaltet.

Durchsuchen der Datei / etc / passwd

Wenn ein Benutzer einen Benutzernamen und ein Kennwort eingibt, vergleicht Linux das eingegebene Kennwort mit einem Eintrag in mehreren Dateien im Verzeichnis “/ etc”.

Das “/ etc / passwd” ist eine der wichtigsten Dateien, in denen Benutzerdetails gespeichert werden.

Der letzte Eintrag in dieser Datei entspricht “Carbon” -Nutzern. Es gibt mehrere Informationsfelder, die durch Doppelpunkte (:) getrennt sind.

  • carbon : Name des Benutzers, dem dieser Eintrag entspricht.
  • x : Gibt an, dass ein Kennwort für den Benutzer vorhanden ist. Das Kennwort wird jedoch in der Datei “/ etc / shadow” gespeichert. Wenn statt x es zeigt a ! Symbol, dies zeigt an, dass kein Passwort existiert.
  • 1000 : Benutzer-ID dieses Benutzers.
  • 1000: Gruppen-ID der Gruppe, zu der dieser Benutzer gehört.
  • carbon, , , : Angabe mehrerer Informationsfelder einschließlich des vollständigen Namens und der Telefonnummern. Hier wurden keine Telefonnummern angegeben.
  • /home/carbon : Speicherort des diesem Benutzer zugewiesenen Basisverzeichnisses.
  • /bin/bash : Standard-Shell, die diesem Benutzer zugewiesen ist.

Lassen Sie uns einen anderen Benutzer erstellen, für den einige Telefonnummern gespeichert wurden. Der Benutzer “pluto” wird dem System mit dem hinzugefügt adduser Befehl.

Linux-Benutzer GECOS-Feld

Wenn wir uns die Datei “etc / passwd” noch einmal ansehen, können wir die vollständigen Informationen für den Benutzer “pluto” anzeigen. Das Feld mit einer durch Kommas getrennten Liste mit vollständigen Namen und Nummern wird als “GECOS-Feld” bezeichnet.

Anzeige / etc / passwd mit Telefondetails

Jedes Mal, wenn ein Benutzer erstellt wird, werden die Werte des Ausgangsverzeichnisses und der Standard-Shell, die zugewiesen werden müssen, in der Datei “/etc/adduser.conf” angegeben.

adduser.conf

Benutzer-IDs für erstellte Benutzer beginnen bei 1000 und laufen bis zu 59999.

Der Benutzer “carbon” konnte die Einträge der Datei “/ etc / passwd” einfach mit dem anzeigen cat Befehl. Werfen wir einen Blick auf die Berechtigungen.

/ etc / passwd Dateiberechtigung

Nur der Root-Benutzer kann in die Datei schreiben. Andere Benutzer können die Datei nur lesen. Da diese Datei für alle lesbar ist, ist es nicht ideal, hier Passwörter zu speichern. Stattdessen wird es in einer anderen Datei namens “/ etc / shadow” gespeichert.

Erkunden der Datei / etc / shadow

Versuchen wir nun, das gespeicherte Passwort für die Benutzer “carbon” und “pluto” in der Datei “/ etc / shadow” anzuzeigen.

/ etc / shadow Berechtigung verweigert

Ein Blick auf die Berechtigungen für die Datei “/ etc / shadow” zeigt, dass nur der Benutzer “root” die Datei lesen und schreiben kann. Auch können nur Mitglieder der Gruppe “Schatten” die Datei lesen. In Wirklichkeit ist die Gruppe “Schatten” leer, wird jedoch syntaktisch für diese Datei benötigt.

/ etc / shadow Dateiberechtigung

Wenn Sie sich als “root” anmelden, können Sie die letzten zehn Zeilen von “/ etc / shadow” anzeigen. Für jeden Eintrag in “/ etc / passwd” gibt es einen entsprechenden Eintrag in dieser Datei. Das Format sieht folgendermaßen aus:

/ etc / shadow Einträge anzeigen

Auch in dieser Datei enthält jeder Eintrag mehrere Felder, die durch Doppelpunkte (:) getrennt sind. Lassen Sie uns den Eintrag für den Benutzer “pluto” entschlüsseln.

  • pluto : Name des Benutzers, dem dieser Eintrag entspricht.
  • $6$JvWfZ9u.$yGFIqOJ.... : Das gespeicherte Hash-Benutzerpasswort sowie Informationen zum verwendeten Hashing-Algorithmus. Zusätzlich wird ein Salt-Wert zusammen mit dem Klartext-Passwort verwendet, um den Passwort-Hash zu generieren.

Lassen Sie uns den Inhalt in diesem Bereich verarbeiten. Das $ Das Symbol wird als Trennzeichen verwendet, um drei Felder zu trennen.

  • $6 : der verwendete Hashing-Algorithmus. Hier ist die Liste möglicher Hashing-Algorithmen.

    • $ 1: MD5
    • $ 2a: Blowfish
    • $ 2y: Eksblowfish
    • $ 5: SHA-256
    • $ 6: SHA-512
  • $JvWfZ9u. : Salzwert.
  • $yGFIqOJ.... : Passwort gehasht.

Der resultierende Hashwert wird als verschlüsseltes Kennwort für einen Benutzer gespeichert. Der Salzwert ist für jeden Benutzer eindeutig. Selbst wenn zwei Benutzer dasselbe Klartextkennwort haben, würde die Verwendung eines eindeutigen Salt einen eindeutigen Hashwert generieren.

Folgen Sie mit den verbleibenden Feldern in diesem Eintrag,

  • 18283: Gibt die Anzahl der Tage seit dem 1. Januar 1970 an, an denen das Kennwort zuletzt geändert wurde
  • 0 : In diesem Feld wird die Anzahl der Tage angegeben, nach denen das Kennwort geändert werden kann. Ein Wert von 0 bedeutet, dass das Passwort jederzeit geändert werden kann.
  • 99999 : Dieses Feld gibt die Anzahl der Tage an, nach denen das Passwort geändert werden muss. Ein Wert von 99999 gibt an, dass ein Benutzer das Kennwort so lange wie gewünscht behalten kann.
  • 7 : Wenn das Kennwort abgelaufen ist, gibt dieses Feld die Anzahl der Tage an, die den Benutzer vor dem Ablauf des Kennworts warnen sollen.
  • : : : Drei weitere Felder sind Teil dieses Eintrags, obwohl sie hier leer sind. Der erste gibt die Anzahl der Tage an, die nach Ablauf des Kennworts gewartet werden muss. Danach wird das Konto deaktiviert. Der zweite gibt die Anzahl der Tage seit dem 1. Januar 1970 an, an denen ein Konto deaktiviert wurde. Das dritte Feld ist für die zukünftige Verwendung reserviert. Die leeren Felder zeigen an, dass das vorhandene Kennwort für diesen Benutzer nicht abgelaufen ist und nicht bald abläuft.

Die letzten sieben Felder, die sich auf die Gültigkeit von Passwörtern beziehen, enthalten zusammen Informationen zur „Richtlinie zur Kennwortalterung“.

Die Standardwerte für die Kennwortalterungsrichtlinie sind in der Datei “/etc/login.defs” angegeben. Diese Werte können für einen Benutzer mit dem geändert werden change Befehl.

login.defs

Was ist mit Gruppeninformationen?

Benutzerinformationen und Kennwörter werden in den Dateien “/ etc / passwd” und “/ etc / shadow” gespeichert. Ebenso werden Gruppeninformationen in der Datei “/ etc / group” gespeichert.

/ etc / group Einträge anzeigen

Oben hervorgehoben sind Gruppen, die zu den Benutzern “Carbon” und “Pluto” gehören. Wenn ein Benutzer unter Linux erstellt wird, wird dieser Benutzer sofort einer Gruppe mit demselben Namen wie der Benutzername zugewiesen.

Mitglieder einer Gruppe können auch ein Gruppenkennwort für gruppenbezogene Aktivitäten freigeben. Der Wert von x Gibt an, dass sich die Kennwortinformationen für diese Gruppe in der Datei “/ etc / gshadow” befinden.

Der Zugriff auf “/ etc / gshadow” ist jedoch auf den Benutzer “root” beschränkt.

/ etc / gshadow-Berechtigung verweigert

Der Benutzer “root” kann die Einträge von “/ etc / gshadow” anzeigen, ähnlich wie “/ etc / shadow”. Ein Blick auf den Eintrag für die Gruppe „Kohlenstoff“ zeigt, dass das zweite Feld einen Wert von hat !Dies zeigt an, dass für diese Gruppe kein Kennwort vorhanden ist.

Passwort 11

Alles zusammenfügen

Wenn sich ein Benutzer anmelden möchte, wird der Hash des eingegebenen Kennworts anhand des Salt-Werts dieses Benutzers in “/ etc / shadow” ermittelt. Dann wird es mit dem gespeicherten Hash verglichen. Wenn die Werte übereinstimmen, wird dem Benutzer Zugriff gewährt.

Verbunden:

  • So setzen Sie das Root-Passwort unter Linux zurück
  • So verwalten Sie Ihr Benutzerkennwort über das Terminal unter Linux

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x