Contraseña perdida para un usuario en un servidor Linux: ¿cómo restablecerla?

17

En un servidor, un usuario 16040 ha perdido su contraseña. Tengo contraseña para root pero no tengo contraseña para el usuario 16040. ¿Cómo puedo restablecer su contraseña?

Con passwd 16040, Unix me pregunta la contraseña actual que no tengo. ¿Existe un comando para restablecer la contraseña de un usuario sin la contraseña actual?

passwd 16040
Changing password for 16040.
Current password for [email protected]:
Catanzaro
fuente

Respuestas:

24

Si se ejecuta passwd 16040como root, no se le pedirá la contraseña actual.

Después de cambiar la contraseña, debe considerar la emisión chage -d 0 16040. Esto establece la última fecha de cambio de contraseña en el pasado; suponiendo que las contraseñas estén expiradas en su sistema, esto obligará al usuario a cambiar su contraseña después de iniciar sesión. Esto les da la oportunidad de elegir una contraseña que solo ellos conocen.

Artur Szymczak
fuente
3

Debe emitir passwd 16040como root ( sudo passwd 16040si su usuario está en el archivo sudoers) para cambiar su contraseña. No le pedirá el actual.

O, si tiene acceso físico al cuadro, puede agregarlo init=/bin/bashcomo parámetro del kernel para obtener acceso raíz y luego emitir passwd 16040.

peperunas
fuente
3
Tener un aviso en los comandos en línea es bastante desconcertante y puede malinterpretarse fácilmente como parte del comando. Utilice solo las indicaciones en las comillas de bloque. Además, # >es bastante poco común y aquí >simplemente invita a ser malinterpretado como parte del comando: la práctica común es usar un simple #para rootshells y $no root.
Andreas Wiese el
Tienes razón, he editado mi respuesta en aras de la claridad. Gracias.
peperunas
1

Si no puede iniciar sesión directamente como root, puede intentar

  • sudo /usr/bin/passwd 16040.
  • sudo -i y después /usr/bin/passwd 16040

Supongo que passwdestá en / usr / bin (puede verificar con el comando which passwd)

Hastur
fuente
sudo bashpara iniciar un rootshell es (aunque común) muy, muy mala sudopráctica. Es sudo -so sudo -i(non-login o login-shell, resp.). Esto incluso hace honor a su conjunto de shell predeterminado /etc/passwdsin tener que preocuparse por usted mismo. Además, bashsin una ruta completa es una mala idea en sí misma, ya que este sería uno de los primeros binarios falsos que un usuario malintencionado pondría en algún lugar $PATH.
Andreas Wiese
Estoy de acuerdo con la especificación de ruta completa y el uso de sudo -i, por lo que modifiqué la respuesta ... pero si habla de seguridad y la posibilidad de un troio oculto en el $PATHtal vez, es mejor evitar el uso, sudo -sya que agrega al menos el $USER/bindirectorio y todos los alias que puedas imaginar ... :-)
Hastur
Buen punto, de hecho, pero depende de la sudoconfiguración: la configuración predeterminada incluida sudono mantiene la $HOMEvariable establecida, por lo que terminaría teniendo sus propios archivos rc, no $SUDO_USERlos de.
Andreas Wiese