저는 Busybox를 실행하는 Synology DS412+ NAS 상자를 가지고 있는데, 기본 셸은 ash
. 이전에는 ipkg install optware-devel
실행하여 설치 bash
하고 기본 쉘로 설정했습니다. 실행 중이 ipkg install zsh
설치되었지만 zsh
기본 셸로 설정되지 않았습니다. chsh
존재하지 않습니다(Busybox는 축소 시스템을 가정하고 ash
사용됩니다). 그러면 기본 쉘을 어떻게 설정합니까?
도움이나 통찰력을 주시면 매우 감사하겠습니다.
답변1
을 편집하여 로그인 셸을 변경할 수 있습니다 /etc/passwd
. 각 줄은 콜론으로 구분된 값 목록이며, 그 중 마지막 값은 로그인 셸입니다.
user:x:1000:1000:User:/home/user:/usr/bin/zsh
존재 하는 경우 /etc/shells
zsh(전체 경로)를 추가해야 합니다. 그렇지 않으면 일부 서비스가 사용자에게 작동하지 않을 수 있습니다.
메모:
zsh
디스크 중 하나에 설치된 경우 루트(또는 관리 목적으로 필요한 사용자)의 로그인 셸을 변경하지 않는 것이 좋습니다 . 설치된 디스크 없이도 여전히 루트 액세스 권한을 갖고 싶을 수 있습니다.
언제든지 zsh
Ash의 사용자 구성에서 자동으로 시작할 수 있습니다. 그런 것
[ -x /usr/bin/zsh ] && exec /usr/bin/zsh
답변2
다른 방법 Synology 포럼의 이 게시물에서:
https://community.synology.com/enu/forum/1/post/150323
선택한 편집기(예: nano)에서 ~/.profile에 다음 줄을 추가합니다.
SHELL=/bin/bash exec /bin/bash 내보내기
여기서 /bin/bash는 선택한 쉘의 경로입니다.