LINUX

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:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar