GNU/Linux

Cómo bloquear una cuenta en 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 neeonez. En primer lugar, iniciamos sesión como usuario root, y luego, escribimos el siguiente comando:

# passwd -l neeonez

Un ejemplo de salida por pantalla es el siguiente:

Locking password for user neeonez.
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 neeonez. Iniciamos sesión como usuario root y escribimos el siguiente comando:

# passwd -u neeonez

Ejemplos de salida del comando:

Unlocking password for user neeonez.
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 neeonez está bloqueada, podemos acceder a ella mediante el comando:

# su - neeonez

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 neeonez por completo, escribimos el siguiente comando:

# chage -E 0 neeonez

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 neeonez
# Chage -l neeonez

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.

EduZRO

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

No Comments

comment No comments yet

You can be first to leave a comment

Deja un comentario

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