Linux-Passwortänderung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Das Passwortmanagement ist ein entscheidender Aspekt für die Aufrechterhaltung der System-Sicherheit in Linux-Umgebungen. Systemadministratoren müssen verstehen, wie sie sichere Passwortrichtlinien erstellen und durchsetzen können, um Benutzerkonten und sensible Daten vor unbefugtem Zugriff zu schützen.

In diesem Lab (Praktikum) lernen Sie, wie Sie den Befehl passwd verwenden, um Benutzerpasswörter zu ändern und grundlegende Passwortrichtlinien umzusetzen. Diese grundlegenden Fähigkeiten sind für alle, die mit Linux-Systemen arbeiten, unerlässlich, insbesondere für Rollen, die die Verwaltung von Benutzerkonten und die System-Sicherheit betreffen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/passwd("Password Changing") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/chmod -.-> lab-271347{{"Linux-Passwortänderung"}} linux/cd -.-> lab-271347{{"Linux-Passwortänderung"}} linux/grep -.-> lab-271347{{"Linux-Passwortänderung"}} linux/useradd -.-> lab-271347{{"Linux-Passwortänderung"}} linux/passwd -.-> lab-271347{{"Linux-Passwortänderung"}} linux/id -.-> lab-271347{{"Linux-Passwortänderung"}} linux/nano -.-> lab-271347{{"Linux-Passwortänderung"}} end

Das passwd-Kommando verstehen

In Linux-Systemen wird der Befehl passwd verwendet, um Benutzerpasswörter zu ändern. Mit diesem Befehl können Benutzer ihre eigenen Passwörter ändern, während Systemadministratoren die Passwörter für jedes Konto auf dem System ändern können.

Erstellen eines neuen Benutzers

Beginnen wir damit, einen neuen Benutzer zu erstellen, den wir für das Üben des Passwortmanagements nutzen können. Öffnen Sie Ihr Terminal und stellen Sie sicher, dass Sie sich im Standardarbeitsverzeichnis befinden:

cd ~/project

Nun verwenden Sie den Befehl useradd, um einen neuen Benutzer namens cyberuser zu erstellen:

sudo useradd cyberuser

Dieser Befehl erstellt ein neues Benutzerkonto, setzt aber kein Passwort für es. Wenn Sie einen Benutzer erstellen, ohne ein Passwort anzugeben, ist das Konto normalerweise standardmäßig gesperrt.

Sie können überprüfen, ob der Benutzer erstellt wurde, indem Sie den Befehl id verwenden:

id cyberuser

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

uid=1001(cyberuser) gid=1001(cyberuser) groups=1001(cyberuser)

Setzen eines Passworts für den neuen Benutzer

Nachdem wir einen neuen Benutzer erstellt haben, setzen wir nun ein Passwort für dieses Konto mit dem Befehl passwd:

sudo passwd cyberuser

Nachdem Sie diesen Befehl ausgeführt haben, werden Sie aufgefordert, ein neues Passwort zweimal einzugeben, um es zu bestätigen:

New password:
Retype new password:
passwd: password updated successfully

Geben Sie bei Aufforderung ein Passwort Ihrer Wahl ein. Aus Sicherheitsgründen wird das von Ihnen eingegebene Passwort nicht auf dem Bildschirm angezeigt.

Der Befehl passwd aktualisiert das Passwort für das angegebene Benutzerkonto. Wenn er mit sudo-Rechten ausgeführt wird, können Sie das Passwort für jeden Benutzer auf dem System ändern.

Anzeigen von Passwortinformationen

Um Informationen über das Passwort eines Benutzers, einschließlich des Datums der letzten Änderung, anzuzeigen, können Sie den Befehl chage -l gefolgt vom Benutzernamen verwenden:

sudo chage -l cyberuser

Dieser Befehl zeigt Informationen über die Passwortalterung und -ablaufrichtlinien des Benutzers an. Die Ausgabe sieht ähnlich wie folgt aus:

Last password change                                    : Jul 15, 2023
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

Diese Informationen sind nützlich, um die aktuellen Passwortrichtlinien, die auf ein Benutzerkonto angewendet werden, zu verstehen.

Das Verständnis von Passwortdateien in Linux

In Linux werden Passwortinformationen in mehreren wichtigen Systemdateien gespeichert. Das Verständnis dieser Dateien hilft Administratoren, Benutzerkonten effektiv zu verwalten.

Untersuchung von Passwort-verwandten Dateien

Navigieren Sie in Ihr Projektverzeichnis:

cd ~/project

Untersuchen wir die Schlüsseldateien, die Passwort- und Benutzerkontoinformationen speichern:

  1. Sehen Sie sich zunächst die Datei /etc/passwd an, die grundlegende Benutzerkontoinformationen enthält:
grep cyberuser /etc/passwd

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

cyberuser:x:1001:1001::/home/cyberuser:/bin/sh

Diese Zeile enthält mehrere Felder, die durch Doppelpunkte getrennt sind:

  • Benutzername: cyberuser
  • Passwortplatzhalter: x (das eigentliche Passwort wird in /etc/shadow gespeichert)
  • Benutzer-ID (UID): 1001
  • Gruppen-ID (GID): 1001
  • Benutzerinformationsfeld: (in diesem Fall leer)
  • Heimatverzeichnis: /home/cyberuser
  • Standard-Shell: /bin/sh
  1. Jetzt untersuchen wir die Shadow-Passwortdatei, die verschlüsselte Passwortinformationen enthält:
sudo grep cyberuser /etc/shadow

Die Ausgabe zeigt das verschlüsselte Passwort und verwandte Informationen:

cyberuser:$6$xxxxxxxxxxxxxxxxxxx:19189:0:99999:7:::

Die Felder in dieser Zeile umfassen:

  • Benutzername
  • Verschlüsseltes Passwort
  • Anzahl der Tage seit dem 1. Januar 1970, seitdem das Passwort zuletzt geändert wurde
  • Anzahl der Tage, bevor das Passwort geändert werden kann
  • Anzahl der Tage, nach denen das Passwort geändert werden muss
  • Anzahl der Tage vor Passwortablauf, um den Benutzer zu warnen
  • Anzahl der Tage nach Passwortablauf, bis das Konto deaktiviert wird
  • Anzahl der Tage seit dem 1. Januar 1970, seitdem das Konto deaktiviert wurde
  • Ein reserviertes Feld

Diese Informationen sind von entscheidender Bedeutung, um zu verstehen, wie die Passwortsicherheit in Linux-Systemen implementiert wird.

Durchsetzung von Passwortrichtlinien

Linux bietet mehrere Tools, um Passwortrichtlinien durchzusetzen, die dazu beitragen, die System-Sicherheit aufrechtzuerhalten, indem sichergestellt wird, dass Benutzer starke Passwörter auswählen. In diesem Schritt lernen Sie, wie Sie grundlegende Passwortrichtlinien implementieren können.

Einstellen des Passwortablaufs

Der Befehl chage ermöglicht es Administratoren, Passwortablaufrichtlinien festzulegen. Navigieren Sie in Ihr Projektverzeichnis:

cd ~/project

Legen wir die maximale Passwortgültigkeitsdauer für unser cyberuser-Konto auf 90 Tage fest:

sudo chage -M 90 cyberuser

Dieser Befehl legt die maximale Anzahl von Tagen fest, für die ein Passwort gültig bleibt, bevor der Benutzer es ändern muss.

Sie können auch ein Mindestalter für das Passwort festlegen, um zu verhindern, dass Benutzer ihre Passwörter zu häufig ändern:

sudo chage -m 7 cyberuser

Dieser Befehl verlangt, dass der Benutzer mindestens 7 Tage warten muss, bevor er sein Passwort erneut ändern kann.

Überprüfen Sie die vorgenommenen Änderungen:

sudo chage -l cyberuser

Sie sollten die aktualisierten Passwortrichtlinieninformationen sehen:

Last password change                                    : Jul 15, 2023
Password expires                                        : Oct 13, 2023
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 7
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 7

Erstellen eines Passwortrichtlinien-Skripts

Jetzt erstellen wir ein Skript, das fortgeschrittene Passwortrichtlinien implementiert. Erstellen Sie eine neue Datei namens cyberpolicy.sh:

nano ~/project/cyberpolicy.sh

Fügen Sie der Datei den folgenden Inhalt hinzu:

#!/bin/bash

## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password

## Set password expiration policy for all new users
echo "PASS_MAX_DAYS   90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS   7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE   7" | sudo tee -a /etc/login.defs

echo "Password policy has been updated successfully."

Speichern Sie die Datei, indem Sie Strg+O drücken, dann Enter, und verlassen Sie nano mit Strg+X.

Machen Sie das Skript ausführbar:

chmod +x ~/project/cyberpolicy.sh

Dieses Skript legt die folgenden Passwortrichtlinien fest:

  • Passwortkomplexität: Mindestens 8 Zeichen, mindestens 3 verschiedene Zeichen im Vergleich zum vorherigen Passwort, 3 Versuche erlaubt
  • Passwortablauf: Maximale Passwortgültigkeitsdauer von 90 Tagen
  • Passwortänderungsbeschränkung: Mindestalter des Passworts von 7 Tagen
  • Passwortwarnung: 7 Tage vor Passwortablauf

In einer Produktionsumgebung würden Sie dieses Skript ausführen, um diese Richtlinien anzuwenden. In diesem Lab werden wir jedoch nur den Inhalt untersuchen, um zu verstehen, wie Passwortrichtlinien implementiert werden können.

Zusammenfassung

In diesem Lab haben Sie essentielle Fähigkeiten für die Passwortverwaltung in Linux-Systemen gelernt. Sie haben geübt:

  1. Das Erstellen eines neuen Benutzerkontos mit dem Befehl useradd
  2. Das Setzen und Ändern von Passwörtern mit dem Befehl passwd
  3. Das Anzeigen von Passwortinformationen in Systemdateien wie /etc/passwd und /etc/shadow
  4. Das Festlegen von Passwortablaufrichtlinien mit dem Befehl chage
  5. Das Erstellen eines Skripts zur Durchsetzung von Passwortkomplexitäts- und Ablaufrichtlinien

Diese Fähigkeiten sind grundlegend für Systemadministratoren, die sichere Systeme aufrechterhalten müssen, indem sie ordnungsgemäße Passwortverwaltungspraktiken implementieren. Indem Sie verstehen, wie Sie starke Passwortrichtlinien durchsetzen können, können Sie die Sicherheit von Linux-Systemen erheblich verbessern und sie vor unbefugtem Zugriff schützen.

Wenn Sie Ihre Lernreise fortsetzen, sollten Sie erwägen, fortgeschrittenere Themen wie die Konfiguration von PAM (Pluggable Authentication Modules), die Implementierung von Multi-Faktor-Authentifizierung und die Automatisierung der Benutzerkontenverwaltung in Unternehmensumgebungen zu erkunden.