Cómo cambiar la contraseña en Linux (comando passwd)

En este tutorial, explicaré cómo un usuario o superusuario (root) puede cambiar la contraseña en Linux. Passwd es el comando utilizado en Linux (Redhat, Centos, Ubuntu, Debian, Fedora) y sistemas operativos similares a UNIX para cambiar la contraseña.
Cuando corremos passwd
comando la contraseña cifrada del usuario se almacena en el archivo / etc / shadow.
Un usuario normal (no root) solo podrá cambiar su contraseña. Mientras que los usuarios root o sudo pueden cambiar la contraseña de cualquier cuenta.
Por razones de seguridad, siempre es recomendable utilizar una contraseña segura y cambiarla periódicamente.
Cambiando tu contraseña
Si el passwd
El comando es ejecutado por un usuario que no es root, luego le pedirá la contraseña actual y luego establecerá la nueva contraseña de ese usuario. El superusuario o root puede restablecer la contraseña de cualquier usuario, incluido el root, sin conocer la contraseña actual.
Si el comando passwd
es invocado por un usuario no root, primero debe proporcionar su contraseña existente antes de proceder a cambiar la contraseña. La contraseña debe escribirse dos veces y no se repite en la pantalla mientras la escribe.
$ passwd Changing password for vagrant. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Tampoco puede proporcionar palabras simples como contraseñas. El comando passwd comprobará qué tan larga y compleja es su contraseña. En el siguiente resultado, se prueba una contraseña simple basada en un diccionario.
$ passwd Changing password for vagrant. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: You must choose a longer password Enter new UNIX password: Retype new UNIX password: Bad: new password is too simple Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Cambio de contraseña como superusuario (root)
Cualquier usuario del sistema puede cambiar su contraseña únicamente. los passwd
El comando no toma ningún argumento cuando se ejecuta como un usuario normal.
Pero como root puede cambiar y restablecer la contraseña de cualquier usuario del sistema.
El uso es el siguiente:
# passwd [options] [user_name]
Las diferentes opciones que se pueden utilizar son:
Options: -a, --all report password status on all accounts -d, --delete delete the password for the named account -e, --expire force expire the password for the named account -h, --help display this help message and exit -k, --keep-tokens change password only if expired -i, --inactive INACTIVE set password inactive after expiration to INACTIVE -l, --lock lock the password of the named account -n, --mindays MIN_DAYS set minimum number of days before password change to MIN_DAYS -q, --quiet quiet mode -r, --repository REPOSITORY change password in REPOSITORY repository -R, --root CHROOT_DIR directory to chroot into -S, --status report password status on the named account -u, --unlock unlock the password of the named account -w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS -x, --maxdays MAX_DAYS set maximum number of days before password change to MAX_DAYS
Cuando la raíz se ejecuta passwd
comando, restablecerá la contraseña de root de forma predeterminada, y si especifica el nombre de usuario después passwd
comando entonces cambiará la contraseña de ese usuario.
# passwd vagrant Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully #
El usuario root puede incluso proporcionar contraseñas sencillas. Aunque se muestra una advertencia, la contraseña aún se cambia correctamente. La contraseña del usuario del sistema se almacena de forma cifrada en el archivo / etc / shadow.
Mostrar información de estado de contraseña
Para mostrar la información del estado de la contraseña de un usuario deseado, use -S
opción en el comando passwd.
# passwd -S vagrant vagrant P 07/02/2019 0 99999 7 -1 #
El primer campo muestra el nombre de usuario, el segundo campo muestra el estado de la contraseña (PS = Contraseña establecida, LK = Contraseña bloqueada, NP = Sin contraseña), el tercer campo muestra cuándo se cambió la contraseña por última vez y el último y cuarto campo muestra la edad mínima, la edad máxima, advertencia período y período de inactividad para la contraseña.
Para listar el estado de todas las contraseñas de usuario en el sistema usaremos -Sa
parámetro:
# passwd -Sa root P 05/14/2019 0 99999 7 -1 daemon L 05/14/2019 0 99999 7 -1 bin L 05/14/2019 0 99999 7 -1 sys L 05/14/2019 0 99999 7 -1 sync L 05/14/2019 0 99999 7 -1 games L 05/14/2019 0 99999 7 -1 man L 05/14/2019 0 99999 7 -1 lp L 05/14/2019 0 99999 7 -1 mail L 05/14/2019 0 99999 7 -1 news L 05/14/2019 0 99999 7 -1 uucp L 05/14/2019 0 99999 7 -1 proxy L 05/14/2019 0 99999 7 -1 www-data L 05/14/2019 0 99999 7 -1 backup L 05/14/2019 0 99999 7 -1
Eliminar la contraseña de un usuario
Para eliminar la contraseña de un usuario deseado usaremos -d
opción de comando:
# passwd -d test passwd: password expiry information changed. # passwd -S test test NP 07/02/2019 0 99999 7 -1
Nota: Opción -d
hará que la contraseña del usuario esté vacía y deshabilitará la cuenta del usuario.
Establecer el vencimiento de la contraseña
Para hacer que la contraseña del usuario caduque y obligar a ese usuario a cambiar la contraseña en un próximo inicio de sesión, use -e
opción en passwd
mando.
# passwd -e test passwd: password expiry information changed. # passwd -S test test NP 01/01/1970 0 99999 7 -1
Bloquear y desbloquear la contraseña de un usuario del sistema
Para bloquear el uso de la contraseña de un usuario -l
opción en passwd
mando. Se agregará !
al comienzo de la contraseña del usuario. El usuario no puede cambiar su contraseña cuando su contraseña está bloqueada.
# passwd -l test passwd: password expiry information changed. # passwd -S test test L 07/03/2019 0 99999 7 -1
Para desbloquear el uso de la contraseña del usuario -u
opción:
# passwd -u test passwd: password expiry information changed. # passwd -S test test P 07/03/2019 0 99999 7 -1
Configuración de días inactivos con la opción -i
Esto se activará cuando la contraseña de un usuario seleccionado expire y el usuario no haya cambiado su contraseña en ‘n’ días (es decir, 10 días). Después, ese usuario no podrá iniciar sesión.
# passwd -i 10 test passwd: password expiry information changed. # passwd -S test test P 07/03/2019 0 99999 7 10
Establecer días de advertencia antes de que expire la contraseña
Opción -w
se utiliza para establecer días de advertencia antes de que se recuerde al usuario que cambie la contraseña. Significa que un usuario recibirá una advertencia n días antes de que caduque su contraseña.
# passwd -w 5 test passwd: password expiry information changed. # passwd -S test test P 07/03/2019 0 99999 5 10
Establecer días mínimos para cambiar la contraseña
A continuación, el usuario de prueba de ejemplo tiene que cambiar la contraseña en 30 días. Un valor de cero muestra que el usuario puede cambiar su contraseña en cualquier momento.
# passwd -n 30 test passwd: password expiry information changed. # passwd -S test test P 07/03/2019 30 99999 5 10
Conclusión
En este tutorial, aprendimos cómo cambiar la contraseña de usuario en Linux. Para obtener más información, eche un vistazo a páginas de manual del comando passwd. Gracias por leer este artículo y avíseme si tiene alguna pregunta.
Leer también: