¿Cómo fuerzo a un usuario a cambiar una contraseña la primera vez que inicia sesión con ssh?

28

Estoy tratando de forzar a un usuario recién creado a cambiar una contraseña la primera vez que inicie sesión con ssh. Por razones de seguridad, quiero darle una contraseña segura hasta que inicie sesión por primera vez. Hice lo siguiente hasta ahora:

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

Hacer chage -d 0 foosolo me da el error Your account has expired; please contact your system administratoren el inicio de sesión ssh.

JohnnyFromBF
fuente

Respuestas:

40

cambiar la edad de la contraseña a 0 días

sintaxis chage -d 0 {user-name}

En este caso

chage -d0 foo

Esto funciona para mí sobre ssh también

Bestia de seguridad
fuente
14

Dependiendo de la versión passwd puedes probar

  • passwd -f: Obliga al usuario a cambiar la contraseña en el próximo inicio de sesión al expirar la contraseña para el nombre.

  • passwd -eo passwd --expire: expire inmediatamente la contraseña de una cuenta. En efecto, esto puede obligar a un usuario a cambiar su contraseña en el próximo inicio de sesión del usuario.

kawu
fuente
passwd -e cambia el shell de inicio de sesión.
schily
2
passwd -efunciona para mí (Linux Mint 17.3)
Joril
passwd -efunciona en RHEL 7.0
Crypteya
@schily Las opciones passwdvarían según la distribución. En RHEL, -efuerza un cambio de contraseña en el próximo inicio de sesión.
jrw32982 apoya a Monica el
@ jrw32982 es desafortunado que la gente de Linux cree opciones para programas que están en conflicto con UNIX. La opción -f para caducar la contraseña ya tiene más de 30 años y es anterior a Linux por muchos años. Incluso la opción -e para cambiar el shell de inicio de sesión es anterior a un Linux completo.
Schily