Übersicht
chpasswd liest Daten im Format 'Benutzername:Passwort' von der Standardeingabe oder aus einer Datei und aktualisiert die Passwörter der entsprechenden Benutzer. Dieser Befehl muss normalerweise mit Root-Rechten ausgeführt werden und ist unerlässlich für die Automatisierung der Passwortverwaltung in Umgebungen mit vielen Benutzern.
Hauptmerkmale
- Massenänderung von Passwörtern
- Geeignet für Skripte und Automatisierung
- Liest Daten von Standardeingabe oder Datei
- Root-Rechte erforderlich
Wichtige Optionen
Der Befehl chpasswd bietet einige wichtige Optionen im Zusammenhang mit der Passwortverarbeitung.
Passwortverarbeitung
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`chpasswd` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Verschiedene Szenarien zur Passwortänderung mit dem Befehl chpasswd.
Ändern des Passworts eines einzelnen Benutzers
echo 'testuser:newpassword123' | sudo chpasswd
Ändert das Passwort eines einzelnen Benutzers, indem der Befehl echo über eine Pipe (|) weitergeleitet wird. Diese Methode ist in Skripten nützlich.
Ändern von Passwörtern mehrerer Benutzer aus einer Datei
cat users.txt
# Inhalt von users.txt:
# user1:pass123
# user2:pass456
sudo chpasswd < users.txt
Erstellt eine Datei namens users.txt mit mehreren Zeilen im Format 'Benutzername:Passwort' und übergibt diese als Eingabe an chpasswd zur Massenänderung.
Verwenden bereits verschlüsselter Passwörter
echo 'user3:$6$rounds=5000$saltsalt$hashedpasswordexample' | sudo chpasswd -e
Wenn das Passwort bereits verschlüsselt (gehasht) ist, verwenden Sie die Option -e (oder --encrypted), damit chpasswd es nicht erneut verschlüsselt. In diesem Fall muss das Passwort dem Format der Datei /etc/shadow entsprechen.
Ändern des Passworts mit einer bestimmten Verschlüsselungsmethode
echo 'user4:securepass' | sudo chpasswd --crypt-method SHA512
Hasht ein Klartextpasswort mit einer bestimmten Verschlüsselungsmethode (z. B. SHA512) und ändert es. Die Option -e wird in diesem Fall nicht verwendet.
Tipps & Hinweise
Tipps und Hinweise zur sicheren und effizienten Verwendung des Befehls chpasswd.
Sicherheitsüberlegungen
Passwörter sind sensible Informationen, daher sollten Sie Folgendes beachten:
- **Root-Rechte**: chpasswd ändert Systempasswörter und muss daher unbedingt mit Root-Rechten ausgeführt werden.
- **Schutz vor Verlauf**: Die direkte Eingabe von Passwörtern wie `echo 'user:pass' | sudo chpasswd` kann im Shell-Verlauf gespeichert werden. Es wird empfohlen, den Verlauf mit `unset HISTFILE` oder `history -c` zu löschen oder die Methode des Lesens aus einer Datei zu verwenden.
- **Dateiberechtigungen**: Dateien, die Passwörter enthalten, müssen so konfiguriert werden, dass nur der Eigentümer (root) sie lesen kann (z. B. `chmod 600 users.txt`).
- **Verwendung temporärer Dateien**: Wenn Sie temporäre Dateien zum Übergeben von Passwörtern in Skripten verwenden, stellen Sie sicher, dass die Dateien nach Abschluss der Arbeit sicher gelöscht werden.
Eingabeformat
chpasswd erkennt nur das Format 'Benutzername:Passwort'. Andere Formate können zu Fehlern führen.
- Jede Zeile muss ein Benutzer:Passwort-Paar sein.
- Benutzername und Passwort werden durch einen Doppelpunkt (:) getrennt.
Verschlüsselungsmethode
Standardmäßig verwendet chpasswd die systemseitig definierte Standardverschlüsselungsmethode. Sie können die Option `--crypt-method` verwenden, um eine bestimmte Methode zu erzwingen, aber Sie sollten sicherstellen, dass dies mit der Sicherheitspolitik Ihres Systems übereinstimmt.