Cómo bloquear y desbloquear un usuario de Linux

¿Cómo va eso? soy Enrique. Os traigo un nuevo post sobre el sistema operativo mas molón. Encantado linuxeros.

3 formas de bloquear y desbloquear cuentas de usuario en Linux

Puede haber una serie de razones por las que es posible que desee deshabilitar a un usuario en su entorno Linux multiusuario. Tal vez un empleado haya abandonado la organización y, en lugar de eliminar al usuario por completo, bloquee 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 discutiré cómo desbloquear al usuario.

Tenga en cuenta que para realizar estos cambios, debe o root, o tener acceso 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 las cuentas de usuario. También puede utilizar este comando para bloquear una cuenta de usuario.

El comando básicamente funciona en el archivo / etc / passwd. Puede modificar manualmente este archivo, pero no lo recomiendo.

Para bloquear a un usuario con comando passwd, puede usar la opción -l o -lock de esta manera:

passwd -l user_name

Verifique el estado del usuario con el comando passwd

Puede averiguar si el usuario está bloqueado o desbloqueado usando la opción -S o -status en el comando passwd.

passwd -S nombre de usuario

Mira el segundo campo a la salida. Esto es lo que significa:

– P o PS: contraseña configurada (usuario desbloqueado)
– L o LK: el usuario está bloqueado
– N o NP: no se requiere contraseña de usuario

Aquí hay un resultado de ejemplo del comando passwd:

estándar P 10.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á una salida como la de bloquear y desbloquear al usuario:

passwd: password expiry information changed

¿Qué tal iniciar sesión a través de SSH?

Hay un problema importante al bloquear a los usuarios de esta manera. Debido a que solo funciona con el archivo / etc / passwd, el usuario bloqueado aún podrá iniciar sesión mediante claves SSH (si se especifica un inicio de sesión con clave SSH). Te mostraré cómo lidiar con esto en la siguiente sección.

Método 2: bloquear y desbloquear usuarios con el comando usermod

También puede utilizar el comando usermod. El comando se usa principalmente para modificar cuentas de usuario en Linux. También puede cambiar el estado del usuario bloqueando o desbloqueando con usermod.

Para bloquear al usuario, puede usar la opción -L así:

usermod -L user_name

Para desbloquear al usuario, puede utilizar la opción -U:

usermod -U user_name

¿Cómo comprobar 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, lo que significa que el usuario bloqueado aún puede iniciar sesión mediante claves SSH, ¿verdad? Esto es verdad. Pero hay formas de superar este problema.

Por ejemplo, puede cambiar el shell del usuario a nologin y esto no permitirá que el usuario ingrese al shell.

Otro método es bloquear al usuario y proporcionar una fecha de vencimiento en el pasado. Lo que hace es desactivar la cuenta en una fecha anterior y luego bloquearla.

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

Existe 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 del usuario. Se puede utilizar para bloquear automáticamente a un usuario inactivo después de un 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 de la siguiente manera:

chage -E 1 username

Por lo general, ha establecido la fecha de vencimiento en 1970-01-02. Puedes ver los detalles de esta manera:

abhishek@linuxhandbook:~$ 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 vencimiento y así desbloquear al usuario de esta manera:

chage -E -1 username

En el final…

Como siempre, hay diferentes formas de realizar una tarea en la línea de comandos de Linux. Aquí he mostrado tres métodos para bloquear y desbloquear usuarios en Linux. ¿Conoce una forma mejor o tiene una sugerencia de mejores prácticas para bloquear usuarios? Compártelo en la sección de comentarios.

El Blog lo hacemos para colaborar y servir de ayuda a la gente Linux. Esperamos que os guste.

Leave a Reply