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.
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]
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]
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]
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]
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:
Después del bloqueo de 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]
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]
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]
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]
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:
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]
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]
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.
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