3 formas de bloquear y desbloquear cuentas de usuario en Linux
Puede haber varias razones por las que desee deshabilitar a un usuario en su entorno Linux multiusuario. Tal vez un empleado abandonó la organización y, en lugar de eliminar al usuario por completo, bloqueó la cuenta con fines de archivo.
En este tutorial, le mostraré tres formas de bloquear a un usuario en la línea de comandos de Linux. También hablaré sobre cómo desbloquear al usuario.
Tenga en cuenta que para realizar estos cambios, debe ya sea root o tener acceso de root a través de sudo .
Método 1:bloquear y desbloquear usuarios con el comando passwd
El comando passwd en Linux se ocupa de las contraseñas de una cuenta de usuario. También puede usar este comando para bloquear una cuenta de usuario.
El comando básicamente funciona en el archivo /etc/passwd. Puede modificar manualmente este archivo, pero le desaconsejo.
Para bloquear a un usuario con el comando passwd, puede usar la opción -l o –lock de esta manera:
passwd -l user_name
Verificar el estado de un usuario con el comando passwd
Puede saber si un usuario está bloqueado o desbloqueado usando la opción -S o -status del comando passwd.
contraseña -S nombre_usuario
Mire el segundo campo en la salida. Esto es lo que significa:
– P o PS:la contraseña está configurada (el usuario está desbloqueado)
– L o LK:el usuario está bloqueado
– N o NP:el usuario no necesita contraseña
Aquí hay una salida de muestra del comando passwd:
P estándar 14/10/2019 0 99999 7 -1
Para desbloquear al usuario con el comando passwd, puede usar la opción -u o –unlock:
passwd -u user_name
En Ubuntu, verá un resultado como este para bloquear y desbloquear al usuario:
passwd: password expiry information changed
¿Qué pasa con el inicio de sesión a través de SSH?
Hay un gran problema con el bloqueo de usuarios de esta manera. Dado que solo funciona con el archivo /etc/passwd, el usuario bloqueado aún podrá iniciar sesión mediante claves SSH (si está configurado el inicio de sesión mediante clave SSH). Te mostraré cómo lidiar con eso en la siguiente sección.
Método 2:Bloquear y desbloquear usuarios con el comando usermod
También puede usar el comando usermod. El comando se usa principalmente para modificar cuentas de usuario en Linux. También puede modificar el estado de un usuario bloqueándolo o desbloqueándolo con usermod.
Para bloquear al usuario, puede usar la opción -L de esta manera:
usermod -L user_name
Para desbloquear al usuario, puede usar la opción -U:
usermod -U user_name
¿Cómo se verifica si el usuario está bloqueado o no? El comando usermod también funciona en el archivo /etc/passwd, por lo que puede usar el comando passwd -S user_name para verificar el estado del usuario.
Pero usermod también funciona con el archivo /etc/passwd, por lo que esto significa que el usuario bloqueado aún podría iniciar sesión a través de claves SSH, ¿verdad? Así es. Pero hay formas de superar este problema.
Por ejemplo, puede cambiar el shell del usuario a nologin y esto no permitirá que el usuario inicie sesión en un shell.
Otro método es bloquear al usuario y proporcionar una fecha de caducidad en el pasado. Lo que hace es que deshabilita la cuenta en una fecha pasada y luego la bloquea.
Asegúrese de que la fecha pasada esté entre 1970-01-02 y la fecha actual.
usermod -L --expiredate 1970-01-02 user_name
Puedes revertirlo con este comando:
usermod -U --expiredate '' user_name
Hay una forma similar de bloquear al usuario en Linux con el comando chage. Veámoslo en la siguiente sección.
Método 3:Bloquear y desbloquear usuarios con el comando chage
El comando chage se utiliza para cambiar la información de caducidad de la contraseña de usuario. Se puede usar para bloquear automáticamente a un usuario inactivo después de cierto número de días de inactividad.
Básicamente, lo que hizo con el comando usermod en la sección anterior se puede lograr con el comando chage como este:
chage -E 1 username
Básicamente, ha establecido la fecha de caducidad en 1970-01-02. Puedes ver los detalles así:
[email protected]:~$ sudo chage -l standard
Last password change : Nov 07, 2019
Password expires : never
Password inactive : never
Account expires : Jan 02, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Puede eliminar la fecha de caducidad y así desbloquear al usuario de esta manera:
chage -E -1 username
Al final…
Como siempre, hay varias formas de realizar una tarea en la línea de comandos de Linux. He mostrado aquí tres métodos para bloquear y desbloquear usuarios en Linux. ¿Conoce una mejor manera o tiene alguna sugerencia de mejores prácticas para bloquear a los usuarios? Compártelo en la sección de comentarios.