케이스 교체는 어디서 하나요? [복사]

케이스 교체는 어디서 하나요? [복사]

zsh예를 들어 대신을 사용하려면 bash현재 사용자에 대해 어디에서 변경해야 합니까?

답변1

usermod -s /bin/zsh <username>

추가 옵션 은 리소스를 참조하세요 man usermod.

답변2

사용자에 대한 액세스 권한이 없고 루트 권한이 있는 경우 Chris Browne의 답변이 작동합니다.

현재 사용자의 기본 셸을 변경하려면 다음을 사용할 수도 있습니다.

chsh -s /bin/ksh

추가 정보

사용자의 로그인 쉘은 파일( /etc/passwdDebian의 경우)에 정의됩니다. 이 파일에는 생성 시 입력한 정보가 포함된 각 사용자에 대한 항목이 있습니다.

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호출 시 쿼리됩니다.

지침은 chshUNIX 유형에 따라 다릅니다.

리눅스:

chsh -s newshell

솔라리스:

chsh newshell

HP-UX

chsh username newshell

AIX

chsh

그러면 새 셸의 전체 경로를 입력하라는 메시지가 표시되는 대화형 세션이 시작됩니다.

인용하다:http://kb.iu.edu/data/benf.html

답변4

DSM 5.1을 실행하고 Ash Shell을 실행하는 Synology 장치에서 이 작업을 수행하려고 합니다. 어떤 이유로 이 chsh명령을 사용할 수 없습니다 . 파일을 편집 /etc/passwd하고 원하는 셸 실행 파일의 전체 경로를 입력해야 했습니다.

관련 정보