
Entonces me encontré con un problema interesante. En Arch Linux, si creo un usuario que usa un shell, /usr/bin
no puede iniciar sesión. Creo el usuario con:
useradd -m -G wheel -s /usr/bin/bash username
y cuando intentan iniciar sesión, obtienen el mensaje "Inicio de sesión incorrecto". Pero si edito /etc/passwd
y cambio el shell /bin/bash
, todo funciona bien.
¿Alguna idea de lo que está pasando aquí? ¡Gracias!
Respuesta1
como elArch Wiki deja claro:
Advertencia: Para poder iniciar sesión, el shell de inicio de sesión debe ser uno de los que figuran en /etc/shells; de lo contrario, el módulo PAM pam_shell denegará la solicitud de inicio de sesión.En particular, no utilice la ruta /usr/bin/bash en lugar de /bin/bash, a menos que esté configurado correctamente en /etc/shells.
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
Respuesta2
Si bash
está en /bin/bash
y /bin
y /usr/bin
no están vinculados, entonces el programa de inicio de sesión no puede iniciar el shell si especifica una ruta incorrecta a Bash.
Si los binarios están vinculados entre sí, entonces deberá editarlos /etc/shells
para incluir ambas variantes.