Solución al problema This Account is currently not available en Linux

¿Alguna vez te has encontrado con un error inesperado al tratar de acceder mediante SSH o cambiarte a una cuenta en sistema operativo Linux? Verás lo sencillo que es solventarlo y las causas posibles.
El mensaje de error significa, en nuestro idioma:
Esta cuenta no está disponible actualmente
Por sí mismo, no indica claramente la tipología del error. Falta de permisos, la cuenta está deshabilitada, etcétera.

Significado de This account is currently not available
Este fallo se manifestará cuando se de uno de estos casos:
- Intentamos hacer un sudo su (cambiar a un usuario diferente)
- Intentamos iniciar sesión remotamente vía SSH
Lo común es que signifique exclusivamente una cosa, y es que no se cuentan con permisos de shell suficientes por parte del usuario destino. Es decir, que en el archivo /etc/passwd se haya establecido uno de estos valores para la shell del usuario.
- /bin/false
- /sbin/nologin
Esto es algo que se hace comúnmente por seguridad en los usuarios de servicio (usuarios necesarios pero que nunca se utilizarán para conectar al sistema, solo para servir un servicio concreto).
En mi ejemplo anterior he usado la cuenta «zabbix», que es un ejemplo de esto mismo. En el siguiente cuadro vemos ejemplos de todo tipo.
dietpi:x:1000:1000::/home/dietpi:/bin/bash lightdm:x:107:111:Light Display Manager:/var/lib/lightdm:/bin/false nx:x:108:1001::/var/NX/nx:/etc/NX/nxserver monitor:x:1001:1002:monitorizacion:/home/monitor:/bin/bash zabbix:x:109:114::/nonexistent:/usr/sbin/nologin
Solución al error «esta cuenta no está disponible»
Si has entendido los riesgos de seguridad potenciales de hacer esto para un usuario de servicio, o bien quieres corregir una mala configuración, debes seguir estos pasos para asignar una shell al usuario Linux.
La shell por defecto es bash (es decir, el valor sería /bin/bash) pero existen otras como sh, ksh, etcétera. Para saber las opciones soportadas por nuestro sistema, lanzaremos este comando.
cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash
Chsh equivale a change shell.
sudo chsh -s /bin/bash <usuario>
Es decir, algo así como:
sudo chsh -s /bin/bash alejandro
Después de lanzar el comando, al examinar el archivo de usuarios de Linux deberías ver la nueva shell modificada.
Otra opción, si lo anterior no resulta, es editar directamente sobre el archivo, de una de las siguientes formas.
sudo vi /etc/passwd sudo nano /etc/passwd
Ahora habrás resuelto el problema con los permisos del usuario rebelde. Y si no es así, dímelo en los comentarios y le buscamos solución 😉
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.