[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] [:sudo:Root Rechte erlangen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] '''passw'''or'''d''' ändert die Passwörter eines Benutzers oder einer ganzen Gruppe. Darüber hinaus erlaubt der Befehl, Änderungs- und Sperrintervalle festzulegen. = Installation = Das Programm ist in jeder Ubuntu-Installation bereits enthalten und im Paket * '''passwd''' integriert. = Benutzung = Die allgemeine Syntax zum Verwalten (Sperren, Löschen etc.) eines Benutzers lautet [1]: {{{#!vorlage Befehl passwd [OPTIONEN] [BENUTZERNAME] }}} Die allgemeine Syntax zum Festlegen, wann und wie oft das Password geändert werden kann, lautet: {{{#!vorlage Befehl passwd [-x MAX_TAGE] [-n MIN_TAGE] [-w WARN_TAGE] [-i INAKTIV_TAGE] BENUTZERNAME }}} == Optionen == Einige Optionen von passwd werden im Folgenden erklärt. Eine vollständige Liste der Parameter findet man in der [:man:Man-Page] von passwd und beim Aufruf mit der Option `--help`. {{{#!vorlage Tabelle Optionen von passwd +++ Kurzform Langform Beschreibung +++ `-a` `--all` Sorgt in Verbindung mit `-S` dafür, dass Informationen zu allen Benutzern ausgegeben werden. +++ `-d` `--delete` Entfernt das Passwort des Benutzers. Dadurch wird das Passwort deaktiviert. +++ `-e` `--expire` Lässt ein Passwort verfallen. Der betroffene Benutzer muss dann beim nächsten Einloggen ein neues Passwort vergeben. +++ `-i` `--inactive INAKTIV_TAGE` Deaktiviert ein Konto, wenn der Benutzer INAKTIV_TAGE nach dem Verfallen seines Passwortes untätig geblieben ist. Ein Wert von -1 deaktiviert diese Funktion. +++ `-k` `--keep-tokens` Beschränkt die Änderung auf abgelaufene Passwörter. +++ `-l` `--lock` Sperrt das Passwort des Benutzers. Das bedeutet __nicht__, dass das Konto deaktiviert wird. Ein Einloggen mit anderen Authentifizierungstechniken bleibt weiterhin möglich. +++ `-n` `--mindays MIN_TAGE` Legt das Mindestalter fest. D.h. nach einer Passwortänderung kann der Benutzer das Passwort erst nach MIN_TAGE erneut ändern. +++ `-S` `--status` Liefert die für den angegebenen Benutzer aktuell gesetzten Werte (siehe [#Anker Status]). +++ `-u` `--unlock` Hebt die Wirkung von `-l` (bzw. `--lock`) auf. Das vorher vergebene Passwort wird dabei wiederhergestellt. +++ `-w` `--warndays WARN_TAGE` Legt die Warnungsdauer fest. Mit WARN_TAGE wird die Anzahl der Tage gesetzt, bei denen der angegebene Benutzer vor dem Ablaufen eines Passwortes eine Warnung erhält. +++ `-x` `--maxdays MAX_TAGE` Legt das Höchstalter fest. D.h., der angegebene Benutzer muss sein Passwort alle MAX_TAGE ändern. }}} Für die Option `-S` und den Aufruf ohne Optionen werden keine Administrationsrechte [2] benötigt, wenn das eigene Konto bearbeitet werden soll. Alle anderen Optionen erfordern dagegen die Kombinationen mit `sudo`. == Status == Die aktuell gesetzten Werte lassen sich mit {{{#!vorlage Befehl passwd -S [BENUTZERNAME] }}} auslesen. Wird kein Benutzername angegeben, so erfolgt die Ausgabe für den aufrufenden Benutzer. Die Ausgabe hat die Form: {{{ Benutzername Passwortstatus Änderungsdatum Mindestalter Höchstalter Warnungsdauer Untätigkeit }}} Die Zeiten werden dabei in Tagen angegeben und der Passwortstatus lässt sich über folgende Tabelle auflösen: {{{#!vorlage Tabelle Passwortstatus +++ Abkürzung Beschreibung +++ L gesperrtes Passwort +++ NP kein Passwort +++ P gültiges Passwort }}} Das folgende Beispiel soll die Auswertung des Befehls verdeutlichen: {{{#!vorlage Befehl passwd -S }}} {{{ bEnUtZeR P 11/29/2014 2 99 7 27 }}} Der Benutzer heißt `bEnUtZeR`, hat ein gültiges Kennwort (P), dass am 29. November 2014 geändert wurde. Er muss nach einer Passwortänderung 2 Tage warten, bevor das Passwort erneut geändert werden darf. Am 08. März 2015 (nach 99 Tagen) läuft das Passwort ab, wovor ab dem 01. März 2015 (7 Tage vorher) gewarnt wird. Das Konto wird zudem 27 Tage nach dem Ablaufen des Passwortes deaktiviert, falls der Benutzer das Passwort nicht zwischenzeitlich ändert. == Ändern von Passwörtern == Das eigene Passwort lässt sich durch die Eingabe von {{{#!vorlage Befehl passwd }}} ändern. Der Nutzer wird zuerst nach seinem alten Passwort gefragt. Der Administrator [2] kann diesen Schritt überspringen, so dass auch vergessene Passwörter geändert werden können. Anschließend wird der Nutzer aufgefordert, das neue Passwort einzugeben. {{{#!vorlage Hinweis Beim Eintippen des Passworts werden keine Platzhalter (z.B. `*`) angezeigt, man tippt also "blind". }}} Wird das eingegebene Passwort akzeptiert, so fordert passwd zu einer erneuten Eingabe auf. Nur wenn diese zweite Eingabe mit der ersten übereinstimmt, wird das Passwort tatsächlich geändert. Möchte man ein Passwort eines anderen Benutzers ändern, muss man dies als Administrator [2] mit dem Befehl: {{{#!vorlage Befehl sudo passwd BENUTZERNAME }}} machen. Eine Anleitung für sichere Passwörter findet man unter [:Sicherheits-Einmaleins/Passwörter:]. {{{#!vorlage Experten passwd weist Passwörter zurück, die nicht ausreichend komplex sind. Die Vorgaben zur Komplexität werden über [wikipedia:Pluggable_Authentication_Modules:'''pam'''-Module] gesetzt. Die Datei '''/etc/pam.d/common-password''' legt die verwendeten Module fest. }}} == Nicht Interaktives ändern von Passwörtern per Script == Der Befehl chpasswd erlaubt dem Adminstrator Root das Ändern von Passwörtern ohne Interaktion. Damit lassen sich Passwörter auch in einem Script ändern, bei Verwendung einer Schleife auch viele auf einmal. chpasswd liest die Nutzernamen und Passwörter von der Standardeingabe, die sich mit dem Pipelinesymbol | in einem Script nutzen lässt: {{{#!vorlage Befehl echo Nutzername:NeuesPasswort | chpasswd }}} = Links = * [:usermod:] - weitere Änderungen am Benutzerkonto, wie die Festlegung der UID oder des Homeverzeichnis * [:chfn:] - Ändern des vollen Namens, der Telefonnummern und anderer erweiterter Benutzerinformationen * [:Benutzer und Gruppen:] {Übersicht} Übersicht über die Verwaltung von Benutzern und Gruppen * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle # tag: Shell, Sicherheit, System