Saltar al contenido

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

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:

  1. Intentamos hacer un sudo su (cambiar a un usuario diferente)
  2. 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 😉

Categorías

Linux, Tutoriales

Etiquetas

, , ,

Alejandro Ver todo

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.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: