루트 사용자와 루트가 아닌 사용자는 서로 다른 쉘을 사용합니다.

루트 사용자와 루트가 아닌 사용자는 서로 다른 쉘을 사용합니다.

루트로 ssh를 사용하면 내 쉘은 이지만 bash루트가 아닌 사용자인 경우에는 입니다 sh. 어떻게 하면 둘 다 사용할 수 있나요 bash? 이것은 실제로 질문의 논리에 어긋납니다.루트의 기본 쉘이 다른 일반 사용자 계정의 기본 쉘과 다르게 구성되는 이유는 무엇입니까?

답변1

보다 man usermod.

예는 다음과 같습니다 sudo usermod -s /bin/bash username.

답변2

내가 아는 한, 기본 쉘은 /etc/passwd(사용자 생성 시 결정됨)에 정의되어 있습니다. /etc/passwd선택 사항을 반영하도록 대상 컴퓨터를 변경합니다.

답변3

이 명령은 chsh(1)사용자의 쉘을 변경하는 데 사용됩니다. 에 허용되는 쉘을 나열하여 특정 쉘만 허용하도록 시스템을 설정할 수 있습니다 /etc/shells. 여기에는 루트 권한이 필요하지 않지만 사용자는 쉘만 변경할 수 있습니다.

쉘을 변경하려면 비밀번호(루트 아님)를 입력해야 합니다. 루트가 아닌 경우 비밀번호가 필요하지 않으며 사용자 쉘로 사용할 프로그램을 설정할 수 있습니다(무시됨 /etc/shells).

답변4

옵션을 사용하여 사용자를 생성할 때 useradd -s /bin/bash또는 나중에 다음을 사용하여 이 작업을 수행할 수 있습니다.usermod -s /bin/bash 제안할 수 있듯이/etc/passwd, 또는 파일을 수정하여asoundmove가 제안한대로. 하지만 다른 솔루션을 찾고 있다면 해당 파일을 찾아 /etc/default/useradd필요에 따라 수정하는 것이 좋습니다. 해당 행을 변경하면 SHELL=/bin/bash모든 신규 사용자에게 적용됩니다. 또한 /etc/login.defs문서를 살펴보십시오 .

관련 정보