Cómo bloquear una cuenta en Linux

Linux

¿Cómo puedo bloquear la cuenta de un usuario en sistemas operativos Linux? ¿Cómo puedo desbloquearla?

Para cambiar la contraseña de una cuenta de usuario o de un grupo, puedes utilizar el comando passwd . Un usuario normal solamente puede cambiar la contraseña de su propia cuenta, mientras que el superusuario root puede cambiar la contraseña de cualquier cuenta. Puedes utilizar el comando passwd para bloquear o desbloquear cuentas en cualquier sistema operativo Linux.

Bloqueando una cuenta en Linux

A modo de curiosidad, el bloqueo a nivel interno se realiza mediante la conversión de la contraseña cifrada en una cadena no válida agregando un prefijo, que suele ser una admiración «!».

Para el bloqueo de cuentas, se utiliza el comando passwd con la opción -l, que sólo está disponible para el usuario root. La sintaxis es la siguiente:

passwd -l {usuario}

La opción -l desactiva una cuenta cambiando la contraseña a un valor que no coincide con ningún valor cifrado posible. En este ejemplo, bloqueamos la cuenta del usuario neoguias. En primer lugar, iniciamos sesión como usuario root, y luego, escribimos el siguiente comando:

# passwd -l neoguias

Un ejemplo de salida por pantalla es el siguiente:

Locking password for user neoguias.
passwd: Success

Desbloqueando una cuenta en linux

Se utiliza el comando passwd con la opción -u, que solamente está disponible para el usuario root:

passwd -u {usuario}

La opción -u vuelve a habilitar la cuenta, devolviendo la contraseña a su valor original, es decir, al valor que tenía antes de utilizar la opción -l. Vamos a ver un ejemplo para desbloquear cuenta del usuario neoguias. Iniciamos sesión como usuario root y escribimos el siguiente comando:

# passwd -u neoguias

Ejemplos de salida del comando:

Unlocking password for user neoguias.
passwd: Success

Vamos a ver ahora algunas consideraciones adicionales.

Como usuario root, acceder a una cuenta bloqueada

Aunque una cuenta esté bloqueada, aún podéis querer acceder a ella mediante el comando:

su – {usuario}

Cuando bloqueamos una cuenta, el acceso mediante SSH estará deshabilitado, pero aún podemos acceder a ella si somos usuario root. Por ejemplo, si la cuenta del usuario neoguias está bloqueada, podemos acceder a ella mediante el comando:

# su - neoguias

Ejemplo completo en el que bloqueamos el acceso a una cuenta de usuario sin deshabilitar la cuenta en sí:

Bloqueo de cuenta de usuario en Linux y acceso como root.

Aún así, será posible acceder a la cuenta mediante el uso de una clave pública.

¿Qué ocurre con la autenticación SSH con clave pública?

Cuando las cuenta de usuario son bloqueadas con la opción -l, aún es posible iniciar sesión por otros métodos, como por ejemplo, mediante la autenticación ssh con clave pública. Para bloquear una cuenta por completo, podemos utilizar el siguiente comando:

chage -E 0 {usuario}

De este modo, ponemos una fecha de expiración de acceso nula. Para bloquear la cuenta del usuario neoguias por completo, escribimos el siguiente comando:

# chage -E 0 neoguias

Cómo eliminar la fecha de expiración de una cuenta

Para ello, volvemos utilizar el mismo comando que antes, pero en lugar del valor cero, escribimos el valor -1:

# Chage -E -1 neoguias
# Chage -l neoguias

Si así lo queremos, también podemos asignar una nueva contraseña a la cuenta.

Ahora, el usuario ya podrá entra mediante SSH utilizando su contraseña habitual, además de poder entrar utilizando su clave pública.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”