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 prácticos del comando passwd

El comando passwd funciona en el archivo /etc/passwd. Los cambios que ha realizado 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 sudo o su comandos. Esto se debe a que una contraseña predeterminada como ‘toor’ haría que un sistema fuera vulnerable a los atacantes.

debes ser un sudo usuario para crear la contraseña de root:

                      
                        sudo passwd root
                      
                    

Aquí está la salida:

                      
                        [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 le gustaría que todos los usuarios pudieran cambiar su contraseña de root!

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. Está restableciendo la contraseña después de todo y como el admindeberías poder hacer eso.

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

4. Verifique 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
                      
                    

Aquí hay un example:

                      
                        [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é lo que significan ciertos valores.

Nombre de usuario Estado Fecha de último cambio Edad mínima Edad máxima Período de advertencia Período de inactividad
cristóbal PAGS 13/06/2020 0 99999 7 -1

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

Estado Descripción
PAGS Contraseña utilizable
P.EJ Sin contraseña
L contraseña bloqueada

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

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

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 utilizar 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 la expiración forzada:

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

Ahora puede verificar el estado para notar 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 ligada a los sistemas Unix ya que es “ época ” fecha. Esto básicamente 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. Elimine la contraseña de una cuenta y hágala 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 forma, 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. ¡Deje un comentario a continuación y comparta sus pensamientos con nosotros!

Related Posts