Wie erzwinge ich, dass ein Benutzer beim erstmaligen Anmelden mit ssh ein Kennwort ändert?

28

Ich versuche, einen neu erstellten Benutzer zu zwingen, ein Kennwort beim erstmaligen Anmelden mit ssh zu ändern. Aus Sicherheitsgründen möchte ich ihm ein sicheres Passwort geben, bis er sich zum ersten Mal anmeldet. Ich habe bisher folgendes gemacht:

useradd -s /bin/bash -m -d /home/foo foo
passwd foo

Dadurch chage -d 0 fooerhalte ich nur den Fehler Your account has expired; please contact your system administratorbeim SSH-Login.

JohnnyFromBF
quelle

Antworten:

40

Ändern Sie das Alter des Passworts auf 0 Tage

Syntax chage -d 0 {user-name}

In diesem Fall

chage -d0 foo

Das funktioniert bei mir über ssh auch

Sicherheitstier
quelle
14

Je nach passwd Version kannst du es versuchen

  • passwd -f: Zwingt den Benutzer, das Kennwort beim nächsten Anmelden zu ändern, indem das Kennwort für name abläuft.

  • passwd -eoder passwd --expire: Das Kennwort eines Kontos verfällt sofort. Dadurch kann ein Benutzer gezwungen werden, sein Kennwort beim nächsten Anmelden des Benutzers zu ändern.

Kawu
quelle
passwd -e ändert die Login-Shell.
schily
2
passwd -efunktioniert bei mir (Linux Mint 17.3)
Joril
passwd -earbeitet in RHEL 7.0
Crypteya
@schily Die Optionen für passwdvariieren je nach Distribution. Erzwingt auf RHEL -eeine Kennwortänderung bei der nächsten Anmeldung.
jrw32982 unterstützt Monica
@ jrw32982 es ist bedauerlich, dass die Linux-leute optionen für programme erstellen, die im widerspruch zu lang existierenden programmen von UNIX stehen. Die Option -f zum Ablaufen des Kennworts ist bereits mehr als 30 Jahre alt und älter als Linux. Sogar die Option -e zum Ändern der Anmeldeshell ist älter als ein vollständiges Linux.
Schily