루트로 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
문서를 살펴보십시오 .