GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo manejar contraseñas de cuentas en Linux con el comando passwd

Las tecnologías de seguridad han recorrido un largo camino, pero la venerable contraseña sigue siendo una de las herramientas más comunes que se utilizan para proteger los datos.

El comando passwd le permite cambiar la contraseña de usuario en Linux, pero puede hacer mucho más que eso. Puede bloquear (y desbloquear) usuarios. Puede hacer que un usuario cambie la contraseña en el próximo inicio de sesión y más.

En este tutorial, le mostraré algunos ejemplos útiles del comando passwd que puede usar como administrador de sistemas.

Ejemplos practicos del comando passwd

El comando passwd funciona en el archivo /etc/passwd. Los cambios que realizó se reflejan aquí.

¿Dónde se almacena la contraseña en Linux? Se almacena en forma encriptada en el archivo /etc/shadow.

Veamos algunos ejemplos del comando passwd.

1. Cambia tu propia contraseña

Para cambiar la contraseña del usuario actual, es decir, la contraseña de su propia cuenta, simplemente ingrese el comando passwd sin ninguna opción.

passwd

Primero se le pedirá que use su contraseña actual:

[email protected]:~$ passwd
Changing password for christopher.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Si ingresa su contraseña actual como la nueva contraseña, el sistema arrojará un mensaje de error que indica que la contraseña no ha cambiado y le solicitará nuevamente una nueva contraseña.

2. Crear contraseña raíz

Muchas distribuciones de Linux vienen sin una contraseña de root establecida. La única forma de acceder a la cuenta raíz es a través de los comandos sudo o su. Esto se debe a que una contraseña predeterminada como "toor" haría que un sistema fuera vulnerable a los atacantes.

Debe ser un usuario sudo para crear una contraseña de root:

sudo passwd root

Aquí está el resultado:

[email protected]:~$ sudo passwd root
[sudo] password for christopher:             
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Esta es una de las muchas razones por las que es fundamental configurar correctamente el acceso de los usuarios. ¡No querrá que todos los usuarios puedan cambiar su contraseña raíz!

3. Cambiar la contraseña de otro usuario

Puede cambiar la contraseña de usuario en Linux usando el comando passwd como root o con sudo.

sudo passwd user_name

Obviamente, no se le pedirá la contraseña anterior. Después de todo, está restableciendo la contraseña y, como administrador, debería poder hacerlo.

[email protected]:/home/christopher# passwd christopher
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

4. Comprobar el estado de la contraseña

Puede verificar el estado de la contraseña de un usuario de esta manera:

sudo passwd -S user_name

He aquí un ejemplo:

[email protected]:~$ passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1

Revisemos esta información. Lo organizaré en una tabla para que sea más fácil de leer. Luego discutiré qué significan ciertos valores.

Veamos primero la columna de estado. Estas son las opciones posibles para este campo.

Nombre de usuario Estado Fecha del último cambio Edad mínima Edad máxima Período de advertencia Período de inactividad
cristobal P 13/06/2020 0 99999 7 -1

Hay algunos números especiales reservados para establecer parámetros en las reglas de contraseña.

Estado Descripción
P Contraseña utilizable
NP Sin contraseña
L Contraseña bloqueada

Aquí puede ver que el período de advertencia se establece en 7 días, pero debido a que el período de inactividad está deshabilitado y la edad está configurada para que nunca caduque, no se producirá ninguna advertencia.

5. Verifique el estado de la contraseña para todas las cuentas

También puede verificar el estado de la contraseña de todas las cuentas de los usuarios en su sistema:

sudo passwd -Sa

6. Obligar al usuario a cambiar la contraseña en el próximo inicio de sesión

Puede usar la opción -e para caducar la contraseña del usuario inmediatamente. Esto obligará al usuario a cambiar la contraseña en el próximo inicio de sesión.

sudo passwd -e user_name

Así es como se ve el vencimiento forzado:

[email protected]:/home/christopher# passwd -e christopher
passwd: password expiry information changed.

Ahora puede comprobar el estado para observar los cambios:

[email protected]:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1

Como puede ver, la fecha de configuración de la contraseña se ha cambiado a '01/01/1970'. Esta fecha está históricamente vinculada a los sistemas Unix ya que es una fecha de "época". Básicamente, esto significa que esa fecha es el día '0' (en una escala de 32 bits) en la historia de Unix.

Ha caducado con éxito la contraseña. La próxima vez que mi cuenta inicie sesión, se verá obligada a cambiar a una contraseña diferente.

7. Bloquear o desbloquear cuentas de usuario

La opción -l del comando passwd le permite bloquear una cuenta de usuario en Linux:

sudo passwd -l user_name

Una vez que lo use en una cuenta de usuario, la contraseña ya no funcionará para otorgar acceso.

[email protected]:/home/christopher# passwd -l christopher
passwd: password expiry information changed.

Puede confirmar el estado de la contraseña de usuario con la opción -S como se explicó anteriormente. L significa bloqueo en la salida aquí.

[email protected]:/home/christopher# passwd -S christopher
christopher L 06/13/2020 0 99999 7 -1

Desbloquear la cuenta de usuario es igual de fácil. Use la opción -u para desbloquear al usuario:

[email protected]:/home/christopher# passwd -u christopher
passwd: password expiry information changed.

Puede confirmar el estado. La P en el resultado significa contraseña usable, es decir, la contraseña se puede usar con la cuenta.

[email protected]:/home/christopher# passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1

8. Eliminar la contraseña de una cuenta y dejarla sin contraseña

No veo ningún caso de uso práctico para esto, pero puede eliminar la contraseña de una cuenta determinada. De esta manera, esa cuenta no necesitará contraseña para acceder al sistema. Esto no es bueno para la seguridad.

sudo passwd -d user_name

Conclusión

También puede usar la opción -n para obligar a un usuario a cambiar la contraseña en N días. Pero hacerlo manualmente es una pérdida de tiempo. En su lugar, debe configurar correctamente la política de contraseñas de su sistema para que sea aplicable a todas las cuentas de usuario.

Siempre puede ver todas las opciones disponibles usando la opción -h.

Espero que este tutorial haya sido útil para comenzar con el comando passwd en Linux.

Como siempre, nos encanta saber de nuestros lectores sobre el contenido que les interesa. ¡Deja un comentario a continuación y comparte tus pensamientos con nosotros!


Linux
  1. Cómo administrar la contraseña de la cuenta en Linux

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

  3. Administrar usuarios de Linux con el comando passwd

  4. Cómo pasar la contraseña al comando SCP en Linux

  5. Cómo permitir ssh con contraseñas vacías en Linux

10 ejemplos de comandos passwd en Linux

Cómo administrar sus contraseñas con Enpass en Linux

Cómo administrar contraseñas de Linux con el comando pass

Cómo pasar la contraseña al comando SSH en Linux

Comando passwd de Linux – Cambiar contraseña de usuario

¿Cómo proteger GRUB con contraseña en Linux?

    Números especiales para la edad Descripción
    9999 Nunca caduca
    0 Se puede cambiar en cualquier momento
    -1 No activo