Comment forcer un utilisateur à modifier un mot de passe lors de sa première connexion à l'aide de ssh?

28

J'essaie de forcer un utilisateur nouvellement créé à modifier un mot de passe lors de la première connexion à l'aide de ssh. Pour des raisons de sécurité, je veux lui donner un mot de passe sécurisé jusqu'à ce qu'il se connecte pour la première fois. J'ai fait ce qui suit jusqu'à présent:

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

Faire chage -d 0 foone me donne que l'erreur Your account has expired; please contact your system administratorsur la connexion ssh.

JohnnyFromBF
la source

Réponses:

40

changer l'âge du mot de passe à 0 jour

syntaxe chage -d 0 {user-name}

Dans ce cas

chage -d0 foo

Cela fonctionne aussi pour moi sur ssh

Bête de sécurité
la source
14

Selon la version du mot de passe, vous pouvez essayer

  • passwd -f: Force l'utilisateur à changer de mot de passe à la prochaine connexion en expirant le mot de passe pour le nom.

  • passwd -eou passwd --expire: expirer immédiatement le mot de passe d'un compte. En effet, cela peut forcer un utilisateur à changer son mot de passe lors de sa prochaine connexion.

kawu
la source
passwd -e change le shell de connexion.
schily
2
passwd -efonctionne pour moi (Linux Mint 17.3)
Joril
passwd -efonctionne dans RHEL 7.0
Crypteya
@schily Les options pour passwdvarient selon la distribution. Sur RHEL, -eforce un changement de mot de passe lors de la prochaine connexion.
jrw32982 prend en charge Monica
@ jrw32982 il est regrettable que les gens de Linux créent des options pour des programmes qui sont en conflit avec ceux qui existent depuis longtemps sous UNIX. L'option -f pour expirer le mot de passe a déjà plus de 30 ans et est antérieure à Linux de plusieurs années. Même l'option -e pour changer le shell de connexion est antérieure à un Linux complet.
schily