Ubuntu Server에서 새로 생성된 사용자에 대해 잘못된 쉘 프롬프트가 나타남

Ubuntu Server에서 새로 생성된 사용자에 대해 잘못된 쉘 프롬프트가 나타남

Ubuntu 18.04.01에서 다음과 같이 새 사용자를 만들었습니다.

sudo useradd svn
sudo passwd svn
sudo mkhomedir_helper svn
sudo usermod -d /home/svn -m svn

문제는 사용자로 전환하면 su svn표준 프롬프트 명령이 표시되지 않는다는 것입니다. 표준 프롬프트 대신:

svn@svn-server:/srv/svn/$

나는 단지 다음을 본다:

$

파일의 내용에도 불구하고 /home/svn/.bashrc. 또한 이 "깨진" 프롬프트에서 경로를 자동 완성하기 위해 Tab 키를 사용할 수도 없습니다.

echo $PS1사용자 로 실행 하면 svn빈 결과가 나타납니다.

이 사용자를 어떻게 수정할 수 있나요?

답변1

할당된 쉘을 확인하십시오. Ubuntu 18에서 이 명령을 사용 하면 useradd기본 로그인 셸이 되며 /bin/sh언급한 것과 같은 출력을 얻게 됩니다. 다음 명령을 실행하여 로그인 셸을 변경할 수 있습니다.

sudo usermod -s /bin/bash svn

답변2

모든 신규 사용자가 동일한 셸을 사용하도록 하려면 를 사용하여 설정할 수 있습니다 /etc/default/useradd. SHELL사용하려는 셸 바이너리의 경로를 반영하도록 설정을 변경합니다 . 예를 들어 내 모습은 다음과 같습니다.

HOME=/home
SHELL=/bin/zsh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

또한 설정에 지정된 디렉터리를 사용하여 SKEL기본적으로 새 사용자의 홈 디렉터리에 복사해야 하는 파일을 정의할 수 있다는 점도 주목할 가치가 있습니다. 제 경우에는 .zshrc모든 신규 사용자에게 제공하고 싶은 zsh 구성이 포함된 파일이 있습니다 .

이 두 파일을 사용하여 모든 신규 사용자에 대한 기본값을 설정하십시오.

답변3

새 사용자로 쉘을 변경할 수 있습니다.

$chsh
svn 쉘을 변경하십시오.
새 쉘 [/bin/sh]: /bin/bash
비밀번호: ****
쉘이 변경되었습니다.

계정에 예상되는 "골격" 콘텐츠 중 일부가 누락된 경우와 같이 추가 정리 작업이 필요할 수 있습니다. 당신이 그것을 언급했으니 ~/.bashrc아마도 그것은 문제가 아닐 수도 있습니다.

관련 정보