쉘이 /usr/bin/bash로 설정되어 있으면 로그인할 수 없습니다.

쉘이 /usr/bin/bash로 설정되어 있으면 로그인할 수 없습니다.

그래서 흥미로운 문제가 있습니다. Arch Linux에서 셸을 사용하여 사용자를 생성하면 /usr/bin로그인할 수 없습니다. 다음 명령을 사용하여 사용자를 생성합니다.

useradd -m -G wheel -s /usr/bin/bash username

로그인을 시도하면 "로그인 오류"가 표시됩니다. 하지만 쉘을 편집하여 /etc/passwd으로 변경 하면 /bin/bash모든 것이 잘 작동합니다.

어떤 아이디어가 있나요? 감사해요!

답변1

~처럼Arch Wiki에서는 이를 명확하게 설명합니다.:

경고: 로그인할 수 있으려면 로그인 쉘이 /etc/shells에 나열된 쉘 중 하나여야 합니다. 그렇지 않으면 PAM 모듈 pam_shell이 ​​로그인 요청을 거부합니다.특히, /bin/bash 대신 /usr/bin/bash 경로를 사용하지 마십시오., /etc/shells에 올바르게 구성되지 않은 경우.

cat /etc/shells                         
#
# /etc/shells
#

/bin/sh
/bin/bash

답변2

과 가 함께 연결되지 않은 경우 bash잘못된 Bash 경로를 지정하면 로그인 프로그램이 셸을 시작할 수 없습니다./bin/bash/bin/usr/bin

/etc/shells바이너리가 서로 연결된 경우 두 변형을 모두 포함하도록 편집해야 합니다 .

관련 정보