
Então, acabei de me deparar com um problema interessante. No Arch Linux, se eu criar um usuário que usa um shell, /usr/bin
ele não poderá efetuar login. Eu crio o usuário com:
useradd -m -G wheel -s /usr/bin/bash username
e quando tentam fazer login, obtêm 'Login incorreto'. Mas se eu editar /etc/passwd
e alterar o shell para /bin/bash
, tudo funcionará bem.
Alguma idéia do que está acontecendo aqui? Obrigado!
Responder1
Enquanto oArch Wiki deixa claro:
Aviso: Para poder efetuar login, o shell de login deve ser um dos listados em /etc/shells, caso contrário o módulo PAM pam_shell negará a solicitação de login.Em particular, não use o caminho /usr/bin/bash em vez de /bin/bash, a menos que esteja configurado corretamente em /etc/shells.
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
Responder2
Se bash
estiver em /bin/bash
e /bin
e /usr/bin
não estiverem vinculados, o programa de login não poderá iniciar o shell se você especificar um caminho errado para o Bash.
Se os binários estiverem vinculados, será necessário editar /etc/shells
para incluir ambas as variantes.