So ändern Sie Kontokennwörter unter Linux

Passwörter sind seit sechs Jahrzehnten ein Eckpfeiler der Kontosicherheit, und ihre Geschichte reicht sogar noch weiter zurück als das Unix-Betriebssystem. Dieser Artikel beleuchtet die verschiedenen Methoden, mit denen Sie Ihre Passwörter unter Linux verwalten können, sowohl über die Befehlszeile als auch über die grafische GNOME-Desktopumgebung.

Die Bedeutung von sicheren Passwörtern

Die Notwendigkeit von Computerpasswörtern entstand mit der Entwicklung von Mehrbenutzersystemen. Es wurde schnell klar, dass ein Mechanismus benötigt wurde, um die Daten einzelner Benutzer zu trennen und zu schützen. Das Passwort erfüllte diesen Zweck.

Auch heute noch sind Passwörter die gebräuchlichste Methode zur Authentifizierung. Multi-Faktor-Authentifizierung und biometrische Verfahren bieten zwar zusätzliche Sicherheit oder alternative Identifikationsmethoden, aber das gute alte Passwort ist nach wie vor relevant und wird es voraussichtlich auch in Zukunft bleiben. Daher ist es entscheidend, zu wissen, wie man starke Passwörter erstellt und verwendet. Einige überholte Praktiken sollten vermieden werden.

Grundlegende Regeln für sichere Passwörter:

  • Verwenden Sie Passphrasen statt Passwörtern: Eine Kombination aus drei oder vier beliebigen Wörtern, getrennt durch Satzzeichen, Symbole oder Zahlen, ist wesentlich schwieriger zu knacken als eine Reihe von zufälligen Zeichen oder ein Passwort, bei dem Vokale durch Zahlen ersetzt wurden.
  • Vermeiden Sie die Wiederverwendung von Passwörtern: Verwenden Sie niemals dasselbe Passwort auf verschiedenen Systemen oder Konten.
  • Halten Sie Passwörter geheim: Passwörter sind private Informationen und sollten niemals an andere weitergegeben werden.
  • Verwenden Sie keine persönlichen Daten: Vermeiden Sie Namen von Familienmitgliedern, Sportmannschaften, Lieblingsbands oder andere Informationen, die aus sozialen Medien oder persönlichen Beziehungen ableitbar sind.
  • Verwenden Sie keine Muster: Vermeiden Sie Passwörter, die auf Mustern auf der Tastatur basieren (z.B. qwerty, 1q2w3e).

Regelmäßige Passwortänderungen sind nicht mehr zwingend notwendig, solange Sie starke, sichere Passphrasen verwenden. Eine Passwortänderung sollte nur dann erfolgen, wenn der Verdacht besteht, dass das Passwort kompromittiert wurde. Regelmäßige Änderungen können sogar zu einer schlechteren Passwortauswahl führen, da viele Benutzer dazu neigen, nur ein Datum oder eine Ziffer an ein Basispasswort anzuhängen.

Das National Institute of Standards and Technology (NIST) hat umfangreiche Informationen zu Passwörtern und Benutzeridentifikation veröffentlicht. Diese Informationen sind in der Sonderpublikation 800-63-3: Leitlinien für die digitale Authentifizierung verfügbar.

Die Bedeutung der /etc/passwd-Datei

Historisch gesehen speicherten Unix-ähnliche Betriebssysteme Passwörter in der Datei „/etc/passwd“, zusammen mit anderen Kontoinformationen. Heute enthält diese Datei zwar immer noch Kontoinformationen, aber die verschlüsselten Passwörter werden in der Datei „/etc/shadow“ gespeichert, auf die nur eingeschränkter Zugriff besteht. Die Datei „/etc/passwd“ hingegen ist für alle Benutzer einsehbar.

Um den Inhalt der Datei „/etc/passwd“ anzuzeigen, verwenden Sie folgenden Befehl:

less /etc/passwd

Die Datei enthält für jedes Konto eine Zeile. Betrachten wir die Details für das Benutzerkonto „Mary“:

Jede Zeile ist durch Doppelpunkte getrennt und enthält folgende Informationen:

  • Benutzername: Der Anmeldename des Kontos.
  • Passwort: Ein „x“ zeigt an, dass das Passwort in der Datei „/etc/shadow“ gespeichert ist.
  • Benutzer-ID (UID): Eine eindeutige Identifikationsnummer für das Konto.
  • Gruppen-ID (GID): Eine eindeutige Identifikationsnummer der primären Gruppe des Benutzers.
  • GECOS: Ursprünglich General Electric Comprehensive Operating Supervisor, heute enthält dieses Feld Informationen wie vollständigen Namen, Raumnummer oder Telefonnummern, die durch Kommas getrennt sind.
  • Home-Verzeichnis: Der Pfad zum Home-Verzeichnis des Kontos.
  • Shell: Die Befehlsinterpreter (z.B. Bash), die beim Anmelden des Benutzers gestartet wird.

Leere Felder werden durch einen Doppelpunkt dargestellt.

Übrigens, der Befehl `finger` bezieht seine Informationen aus dem GECOS-Feld.

finger mary

Die Datei /etc/shadow

Um die Datei „/etc/shadow“ anzuzeigen, benötigen Sie Root-Rechte und verwenden den Befehl `sudo`:

sudo less /etc/shadow

Für jeden Eintrag in der Datei „/etc/passwd“ sollte es einen passenden Eintrag in der Datei „/etc/shadow“ geben.

Jede Zeile enthält durch Doppelpunkte getrennte Felder:

  • Benutzername: Der Anmeldename des Kontos.
  • Verschlüsseltes Passwort: Die verschlüsselte Form des Passworts.
  • Letzte Änderung: Das Datum, an dem das Passwort zuletzt geändert wurde.
  • Mindesttage: Die Mindestanzahl von Tagen, die zwischen Passwortänderungen liegen müssen. Der Benutzer muss diese Zeitspanne abwarten, bevor er das Passwort erneut ändern kann. Der Wert Null bedeutet, dass das Passwort beliebig oft geändert werden kann.
  • Maximale Tage: Die maximale Anzahl von Tagen, die zwischen Passwortänderungen liegen dürfen. Dieser Wert ist normalerweise sehr hoch (z.B. Mary: 99.999 Tage, was über 27 Jahren entspricht).
  • Warnzeit: Die Anzahl der Tage vor Ablauf des Passworts, an denen eine Warnmeldung angezeigt wird.
  • Sperrzeit: Die Anzahl der Tage nach dem Ablauf des Passworts, nach denen das Konto deaktiviert wird.
  • Ablaufdatum des Kontos: Das Datum, ab dem sich der Kontoinhaber nicht mehr anmelden kann. Ist dieses Feld leer, läuft das Konto nie ab.
  • Reserviertes Feld: Ein leeres Feld zur zukünftigen Verwendung.

Leere Felder werden durch einen Doppelpunkt dargestellt.

Das Feld „Letzte Änderung“ in ein Datum umwandeln

Die Unix-Epoche begann am 1. Januar 1970. Der Wert des Feldes „Letzte Änderung“ ist die Anzahl der Tage seit diesem Datum. Der Wert 18.209 bedeutet also, dass das Passwort für das Konto „Mary“ 18.209 Tage nach dem 1. Januar 1970 geändert wurde.

Um diesen Wert als Datum anzuzeigen, verwenden Sie folgenden Befehl:

date -d "1970-01-01 18209 days"

Das Ergebnis ist das Datum, an dem das Passwort zuletzt geändert wurde. In diesem Fall war es der 9. November 2019.

Der Befehl `passwd`

Der Befehl `passwd` dient zum Ändern des eigenen Passworts oder – mit Sudo-Rechten – der Passwörter anderer Benutzer.

Um Ihr eigenes Passwort zu ändern, geben Sie einfach den Befehl `passwd` ohne weitere Parameter ein:

passwd

Sie werden aufgefordert, Ihr aktuelles Passwort einzugeben, gefolgt von dem neuen Passwort (zweimal zur Bestätigung).

Passwort eines anderen Benutzers ändern

Um das Passwort eines anderen Benutzers zu ändern, benötigen Sie Sudo-Rechte und müssen den Namen des Benutzers angeben:

sudo passwd mary

Sie werden aufgefordert, Ihr eigenes Passwort einzugeben, um Ihre Superuser-Rechte zu bestätigen. Anschließend geben Sie das neue Passwort für den angegebenen Benutzer ein (zweimal zur Bestätigung).

Erzwingen einer Passwortänderung

Um einen Benutzer zu zwingen, sein Passwort bei der nächsten Anmeldung zu ändern, verwenden Sie die Option `-e` (expire):

sudo passwd -e mary

Sie erhalten die Bestätigung, dass das Passwort-Ablaufdatum geändert wurde.

Bei der nächsten Anmeldung wird der Benutzer aufgefordert, sein Passwort zu ändern:

Ein Konto sperren

Um ein Konto zu sperren, verwenden Sie `passwd` mit der Option `-l` (lock):

sudo passwd -l mary

Sie erhalten eine Meldung, dass das Passwort-Ablaufdatum geändert wurde.

Der Benutzer kann sich nun nicht mehr mit seinem Passwort am Computer anmelden. Um das Konto wieder zu entsperren, verwenden Sie die Option `-u` (unlock):

sudo passwd -u mary

Auch hier erhalten Sie die Bestätigung, dass die Passwort-Ablaufdaten geändert wurden:

Der Benutzer kann sich zwar weiterhin nicht mit seinem Passwort am Computer anmelden, aber mit anderen Authentifizierungsmethoden, wie zum Beispiel SSH-Schlüsseln. Für eine vollständige Sperrung des Zugangs müssen Sie das Konto ablaufen lassen.

Der Befehl `chage`

Der Befehl `chage` (change age) wird verwendet, um das Ablaufdatum eines Kontos zu ändern.

Um die aktuellen Einstellungen für das Konto „mary“ anzuzeigen, verwenden Sie die Option `-l` (list):

sudo chage -l mary

Das Ablaufdatum ist auf „nie“ gesetzt.

Um das Ablaufdatum zu ändern, verwenden Sie die Option `-E` (expire). Wenn Sie den Wert auf Null setzen, wird dies als „Null Tage seit der Unix-Epoche“ interpretiert (1. Januar 1970).

Geben Sie folgenden Befehl ein:

sudo chage -E0 mary

Überprüfen Sie das Ablaufdatum erneut:

sudo chage -l mary

Da das Ablaufdatum in der Vergangenheit liegt, ist das Konto nun wirklich gesperrt, unabhängig von der verwendeten Authentifizierungsmethode.

Um das Konto wiederherzustellen, verwenden Sie denselben Befehl mit `-1` als numerischem Parameter:

sudo chage -E -1 mary

Überprüfen Sie die Änderung:

sudo chage -l mary

Das Ablaufdatum wurde wieder auf „nie“ gesetzt.

Passwortänderung in GNOME

Ubuntu und viele andere Linux-Distributionen verwenden GNOME als Standard-Desktop-Umgebung. Sie können das Passwort eines Kontos über das Einstellungsfenster ändern.

Klicken Sie im Systemmenü auf das Symbol „Einstellungen“.

Klicken Sie im Einstellungsfenster im linken Bereich auf „Details“ und dann auf „Benutzer“.

Wählen Sie das Konto aus, dessen Passwort Sie ändern möchten. In diesem Beispiel wählen wir „Mary Quinn“. Klicken Sie auf das Konto und dann auf „Entsperren“.

Sie werden aufgefordert, Ihr Passwort einzugeben. Nach der Authentifizierung können Sie die Details von „Mary“ bearbeiten. Klicken Sie auf das Feld „Passwort“.

Wählen Sie im Dialogfeld „Passwort ändern“ die Option „Passwort jetzt festlegen“.

Geben Sie das neue Passwort in die Felder „Neues Passwort“ und „Neues Passwort bestätigen“ ein.

Wenn die Passwörter übereinstimmen, wird die Schaltfläche „Ändern“ grün; klicken Sie darauf, um das neue Passwort zu speichern.

In anderen Desktop-Umgebungen sind die Kontoverwaltungswerkzeuge ähnlich wie in GNOME.

Sicherheitshinweis

Seit nunmehr 60 Jahren sind Passwörter ein wesentlicher Bestandteil der Sicherheit von Online-Konten. Es ist davon auszugehen, dass sie uns auch in Zukunft erhalten bleiben werden.

Aus diesem Grund ist es sehr wichtig, sie mit Bedacht zu verwalten. Wenn Sie die Mechanismen von Passwörtern unter Linux verstehen und bewährte Methoden anwenden, können Sie Ihr System sicher halten.