모든 사용자의 기본 셸을 어떻게 bash로 변경합니까?


38

지금부터 모든 새로운 사용자는 기본적으로 bash를 bash로 사용하기를 원합니다.

자신의 셸을 bash로 변경하려면 "chsh -s / bin / bash"명령을 사용하지만 향후 모든 사용자의 셸을 기본적으로 bash로 자동 설정하려면 어떻게해야합니까?

답변:


63

사용자 추가

adduser기본값 파일입니다 /etc/adduser.conf. DSHELL변수로 정의 된 기본 쉘 은 /bin/bash기본적으로입니다.

useradd

useradd는 매우 낮은 수준의 유틸리티이므로 거의 사용되지 않기 때문에 대부분 필요하지 않습니다.

useradd를 사용하는 경우 /etc/default/useradd스켈레톤 파일을 편집 하십시오 (백업하는 것을 잊지 마십시오).

대신 SHELL변수를로 설정하십시오 ./bin/bash/bin/sh

이제 useradd새 사용자를 추가 할 때마다 bash자동으로 기본 쉘이됩니다.

기존 사용자

기존 사용자의 셸을 변경하려면 /etc/passwd파일 을 편집해야 합니다 (백업 해 두어야합니다).

다음은 열에 대한 설명입니다

  1. 로그인 이름
  2. 선택적인 암호화 된 비밀번호
  3. 숫자 사용자 ID
  4. 숫자 그룹 ID
  5. 사용자 이름 또는 설명 필드
  6. 사용자 홈 디렉토리
  7. 선택적 사용자 명령 인터프리터

순서대로 콜론 (:)으로 구분하십시오.

root:x:0:0:root:/root:/bin/bash

해당 파일에 대한 자세한 내용은 매뉴얼 페이지를 참조하십시오 man 5 passwd.


4
다른 사용자의 쉘을 변경하는 더 안전한 방법은 다음과 같습니다 sudo -u $USER chsh -s $SHELL.
Jack O'Connor

1
@ JackO'Connor 당신도 답변으로 게시해야합니다.
Octavian Damiean

우분투 16.04에서는 작동하지 않는 것 같습니다. 누구든지 수정 사항을 알고 있습니다.
Harshdeep

26

Octavian이 지적했듯이 기본값을 변경하는 방법은 사용자를 만드는 방법에 따라 다릅니다. 지금 Gnome Settings를 통해 새 사용자를 만들려고했는데 따라 오는 것 같습니다 /etc/default/useradd. 기존 사용자의 경우 다른 사람의 로그인 쉘을 변경하는 가장 안전한 방법은 usermod를 사용하는 것입니다 .

usermod -s /bin/bash $USERNAME

루트가 아니라면 sudo 를 해야 한다. 다른 방법은 수정하려는 사용자 에게 sudo 를 입력하고 다음 과 같이 chsh를 실행하는 것입니다.

sudo -u $USERNAME chsh -s /bin/bash

/etc/passwd실수로 인해 모든 종류의 문제가 발생할 수 있으므로 직접 편집하지 않는 것이 가장 좋습니다 .


1

실제로 서버의 모든 사용자가 bash (실제로 질문 한)를 갖기를 원한다면 다음 명령을 실행할 수 있습니다.

sudo dpkg-reconfigure dash

그런 다음 NOT dash를 선택하십시오. 이 답변에서 설명했듯이

/ bin / sh가 / bin / bash를 가리 키도록하려면 어떻게해야합니까?

이것은 bash를 기본 쉘로 설정했을뿐만 아니라 sh와 man 페이지를 올바르게 재 지정합니다.

도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.