쉘이 /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두 변형을 모두 포함하도록 편집해야 합니다.

관련 정보