zsh
예를 들어 대신을 사용하려면 bash
현재 사용자에 대해 어디에서 변경해야 합니까?
답변1
usermod -s /bin/zsh <username>
추가 옵션 은 리소스를 참조하세요 man usermod
.
답변2
사용자에 대한 액세스 권한이 없고 루트 권한이 있는 경우 Chris Browne의 답변이 작동합니다.
현재 사용자의 기본 셸을 변경하려면 다음을 사용할 수도 있습니다.
chsh -s /bin/ksh
추가 정보
사용자의 로그인 쉘은 파일( /etc/passwd
Debian의 경우)에 정의됩니다. 이 파일에는 생성 시 입력한 정보가 포함된 각 사용자에 대한 항목이 있습니다.
rahmu:x:1000:1000:My Nameisrahmu,,,:/home/rahmu:/bin/bash
anotheruser:x:1001:1001:,,,:/home/anotheruser:/bin/ksh
마지막 열은 로그인 셸입니다. 성공하면 로그인 프로그램에 의해 포크됩니다.
그러나 이 파일을 수동으로 수정하지 않는 것이 좋습니다. 가능할 때마다 또는 을 사용해야 합니다 chsh
.usermod
답변3
다음 명령을 사용하여 로그인 쉘을 변경할 수 있습니다 chsh
. 앞에서 언급했듯이 man chsh
일반 사용자는 자신의 계정 쉘만 변경할 수 있지만 루트는 모든 계정의 쉘을 변경할 수 있습니다.
/etc/shells
유효한 로그인 쉘의 경로 이름을 포함합니다. 이 파일은 chsh
호출 시 쿼리됩니다.
지침은 chsh
UNIX 유형에 따라 다릅니다.
리눅스:
chsh -s newshell
솔라리스:
chsh newshell
HP-UX
chsh username newshell
AIX
chsh
그러면 새 셸의 전체 경로를 입력하라는 메시지가 표시되는 대화형 세션이 시작됩니다.
답변4
DSM 5.1을 실행하고 Ash Shell을 실행하는 Synology 장치에서 이 작업을 수행하려고 합니다. 어떤 이유로 이 chsh
명령을 사용할 수 없습니다 . 파일을 편집 /etc/passwd
하고 원하는 셸 실행 파일의 전체 경로를 입력해야 했습니다.