Mejores formas de bloquear y desbloquear una cuenta de usuario en Linux

TLos sistemas basados ​​en Linux han sido una parte indomable de la gestión de sistemas, especialmente la mayoría de los sistemas back-end. Hay muchas herramientas diseñadas solo para eso, incluso si simplemente miramos el kernel de Linux + las utilidades GNU.

Una parte fundamental de cualquier administrador es la capacidad de administrar cuentas de usuario. En este artículo, vamos a demostrar las diferentes formas en que se puede bloquear y desbloquear una cuenta de usuario en un sistema Linux. Esto es independiente de la distribución.

Índice

Bloqueo y desbloqueo de cuentas de usuario

Bloqueo de contraseñas

Es importante tener en cuenta que los dos primeros métodos que implican bloquear la contraseña de la cuenta de usuario solo funcionan si no hay formas alternativas de inicio de sesión disponibles para el usuario. Por ejemplo, si el usuario tiene la opción de iniciar sesión a través de SSH, bloquear las contraseñas será inútil en ese caso. Las últimas opciones muestran cómo solucionarlo.

1. comando usermod

los usermod El comando es una solución integral para modificar una cuenta de usuario y contiene una opción para bloquear la contraseña de una cuenta de usuario. Con un simple -L bandera, usermod simplemente hace el trabajo. El comando tiene este aspecto:

sudo usermod -L [Username]

bloqueo de contraseña de usermod
bloqueo de contraseña de usermod

desbloquear

El comando para desbloquear a un usuario bloqueado de esta manera usa la bandera -U. El comando es el siguiente:

sudo usermod -U [Username]

Desbloqueo de contraseña de usermod
Desbloqueo de contraseña de usermod

2. comando passwd

Otra opción a la hora de gestionar contraseñas es la passwd mando. También tiene una opción para bloquear la contraseña de una cuenta.

Sintaxis:

sudo passwd -l [Username]

bloqueo passwd
bloqueo passwd

desbloquear

Para desbloquear el usuario bloqueado con el -l Bandera de passwd, los -u Es necesario utilizar la bandera (desbloqueo). El comando tiene este aspecto:

sudo passwd -u [Username]

Desbloqueo de contraseña
desbloqueo de contraseña

Bajo el capó

Lo que sucede cuando emite cualquiera de estos comandos se puede ver en la / etc / shadow expediente. Este archivo contiene una versión encriptada de la contraseña junto con el nombre de usuario. Si comprueba antes y después de bloquear la contraseña de un usuario, puede ver que hay un signo de exclamación (!) Antes de la contraseña cifrada, lo que indica que la contraseña ha sido bloqueada.

Antes del bloqueo de contraseña:

Estado normal de la cuenta
Estado normal de la cuenta

Después del bloqueo de contraseña:

Después de bloquear la contraseña
Después de bloquear la contraseña

Por supuesto, también puede hacer esto manualmente y tendrá el mismo efecto. Sin embargo, no lo recomendamos.

Comprobar estado

Hay un comando simple para verificar si una cuenta está bloqueada o no. El comando es:

sudo passwd --status [Username]

Estado de la contraseña
Estado de la contraseña

Si hay "L ” presente en la salida después del nombre de usuario, eso significa que la cuenta de usuario está bloqueada.

Bloqueo de cuentas

Se menciona repetidamente, incluso en el hombre página de la passwd comando y el usermod comando, que bloquear la contraseña no es una forma eficaz de bloquear a un usuario. Se puede omitir si el usuario puede usar la autenticación SSH para iniciar sesión. Para solucionarlo, podemos bloquear la cuenta. Podemos lograr esto caducando la cuenta de usuario.

1. usermod

No se puede negar el hecho de que usermod realmente en la solución integral para casi todas las configuraciones de cuenta necesarias. Podríamos bloquear la contraseña usermod, y también podemos caducar la cuenta de usuario para que ni siquiera sean posibles más inicios de sesión.

Sintaxis:

sudo usermod --expiredate 1 [Username]

Bloqueo de cuenta usermod
Bloqueo de cuenta usermod

Esto deshabilita inmediatamente la cuenta de usuario.

2. cambio

los cambio El comando se usa para modificar la información de vencimiento de la cuenta de usuario. Podemos usar el -MI para establecer la fecha de vencimiento en 0, lo que deshabilita la cuenta de usuario.

Sintaxis:

sudo chage -E0 [Username]

Cuenta caducada con cambio
Cuenta caducada con cambio

Desbloqueo

Dado que estamos cancelando la cuenta de usuario aquí, el antídoto obvio para la situación es cambiar la fecha de vencimiento de la cuenta de usuario por otra. Si lo desea para que la cuenta de usuario nunca caduque, puede usar este comando para lograrlo:

sudo chage -E -1 [Username]

De lo contrario, si va a establecer una fecha específica, también puede hacerlo:

sudo chage -E YYYY-MM-FF [Username]

Comprobar estado

Estamos caducando la cuenta aquí, y dicha información se puede verificar fácilmente usando el comando chage nuevamente. El comando para verificar la información es:

sudo chage -l [Username]

Restablecer vencimiento
Restablecer vencimiento

Bajo el capó

Similar a bloquear la contraseña de una cuenta de usuario, el / etc / shadow el archivo cambia cuando caduca una cuenta de usuario. Antes de los últimos dos puntos de la entrada del usuario, habrá '1' en lugar de estar vacío. Ese espacio indica el vencimiento de una cuenta.

Estado normal:

Estado normal de la cuenta
Estado normal de la cuenta

Después de expirar la cuenta:

Después de expirar la cuenta
Después de expirar la cuenta

Nuevamente, puede hacer esto manualmente, pero no lo recomendamos.

Cambio de caparazón

Cuando un usuario inicia sesión, está usando lo que se llama un shell de inicio de sesión. Puede que no hayas visto esto muchas veces, pero si te atreves, prueba esta combinación: CTRL + ALT + F1, y obtendrá una interfaz basada en texto, que le pedirá un nombre de usuario y una contraseña antes de permitirle usar cualquier comando. Esto se llama shell de inicio de sesión.

1. Cambiar el caparazón a nologin

Naturalmente, una forma de bloquear a un usuario es ni siquiera permitir que ese usuario inicie sesión, en primer lugar. Por lo tanto, el shell de ese usuario se puede cambiar a la nologin shell con este comando:

sudo usermod -s /sbin/nologin [Username]

Cambio de caparazón a nologin
Cambio de caparazón a nologin

Esto muestra un mensaje cortés que indica que el usuario no puede iniciar sesión.

2. Cambiar el caparazón a falso

También existe la opción de cambiar el caparazón a falso, que a diferencia de nologin (que muestra un mensaje), simplemente cierra la sesión del usuario cada vez que el usuario intenta iniciar sesión. Es un poco extremo, pero también útil.

Sintaxis:

sudo usermod -s /bin/false [Username]

Cambiar shell a falso
Cambiar shell a falso

Inversión

Esto se puede revertir cambiando el shell de nuevo al shell predeterminado del usuario. Puede encontrar cuál es el shell predeterminado comparando los shells de los otros usuarios del sistema en el / etc / passwd expediente. Generalmente, es el shell Bash en la mayoría de los sistemas Linux. Entonces, para establecer eso:

sudo usermod -s /bin/bash [Username]

Bajo el capó

También puede ver la diferencia aquí. Si lees el archivo / etc / passwd, podrá ver los shells que utilizan los usuarios. Ahora, si ve que el usuario en cuestión está utilizando el shell, probablemente será / bin / bash por defecto. Cuando se cambia el shell, cambia el contenido del archivo.

Cambio de caparazón
Cambio de caparazón

Puede cambiar directamente el contenido de / etc / passwd para cambiar el shell para lograr los mismos resultados dados por los comandos anteriores. Sin embargo, existe un riesgo y no lo recomendamos.

Conclusión

Esta simple actividad de bloquear una cuenta de usuario demuestra lo buenos que son los sistemas Linux para tareas administrativas. Hay una multitud de opciones disponibles para lograr cualquier resultado, y esa flexibilidad siempre se agradece. Si tiene alguna pregunta, no dude en utilizar la sección de comentarios.

Deja una respuesta

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

Subir