웹사이트 검색

초보자를 위한 Linux chsh 명령 자습서(예제 5개)


이 페이지에서

  1. 리눅스 chsh 명령
  2. Q1. chsh를 사용하는 방법?\n
  3. Q2. chsh를 사용하여 로그인 쉘을 변경하는 방법은 무엇입니까?\n
  4. Q3. 다른 사용자의 로그인 셸을 변경하는 방법은 무엇입니까?\n
  5. Q4. 비대화식 모드에서 chsh를 실행하는 방법은 무엇입니까?\n
  6. Q5. 시스템에서 사용 가능한 로그인 셸 목록을 보는 방법은 무엇입니까?\n
  7. 결론

bash 쉘은 Linux에서 가장 널리 사용되는 로그인 쉘 중 하나입니다. 그러나 다른 셸도 존재하며 명령줄 작업에 사용할 수 있습니다(물론 작업에 대한 특정 요구 사항이 있을 때까지). 이 기사에서는 현재 쉘과 다른 로그인 쉘로 전환할 수 있는 chsh라는 도구에 대해 설명합니다.

하지만 그 전에 이 튜토리얼의 모든 예제가 Ubuntu 18.04 LTS 시스템에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 chsh 명령

위의 소개에서 이미 설명한 것처럼 chsh 명령을 사용하면 로그인 셸을 변경할 수 있습니다. 구문은 다음과 같습니다.

chsh [options] [LOGIN]

그리고 도구 매뉴얼 페이지에서 설명하는 내용은 다음과 같습니다.

       The chsh command changes the user login shell. This determines the name
       of the user's initial login command. A normal user may only change the
       login shell for her own account; the superuser may change the login
       shell for any account.

다음은 chsh 명령이 작동하는 방식에 대한 좋은 아이디어를 제공하는 Q&A 형식의 예입니다.

Q1. chsh를 사용하는 방법?

기본 사용법은 매우 간단합니다. chsh 명령 sans 인수를 실행하기만 하면 됩니다. 로그인 암호를 묻는 메시지가 표시되고 암호를 성공적으로 입력하면 로그인 셸을 변경할 수 있습니다.

chsh

기본적으로 현재 사용자의 로그인 셸이 변경됩니다.

Q2. chsh를 사용하여 로그인 쉘을 변경하는 방법은 무엇입니까?

예상대로 새 값을 입력하기만 하면(이전 예의 스크린샷 참조) 셸이 새 값으로 변경됩니다.

예를 들어 새 값으로 /bin/sh를 입력했습니다.

변경 사항을 확인하기 위해 chsh 명령을 다시 실행할 수 있습니다. 대괄호 안에 표시된 값이 현재 쉘입니다. 제 경우에는 현재 쉘이 /bin/sh가 되었습니다.

Q3. 다른 사용자의 로그인 셸을 변경하는 방법은 무엇입니까?

이를 위해 chsh 명령에 대한 입력으로 사용자 이름을 지정하기만 하면 됩니다.

chsh [username]

예를 들어 루트의 로그인 쉘을 변경하려면 다음과 같이 chsh를 사용하십시오.

chsh root

Q4. 비대화식 모드에서 chsh를 실행하는 방법은 무엇입니까?

이를 위해 -s 명령줄 옵션을 사용합니다. 여기에는 입력으로 전달할 셸 이름이 필요합니다.

예를 들어:

chsh -s /bin/sh

이렇게 하면 현재 사용자의 로그인 셸이 비대화식 방식으로 /bin/sh로 변경됩니다.

Q5. 시스템에서 사용 가능한 로그인 셸 목록을 보는 방법은 무엇입니까?

시스템에서 사용 가능한 셸 목록을 빠르게 살펴보려면 /etc/shells 파일을 cat하면 됩니다.

예를 들어 내 시스템에서 생성된 출력은 다음과 같습니다.

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

메모:

       The only restriction placed on the login shell is that the command name
       must be listed in /etc/shells, unless the invoker is the superuser, and
       then any value may be added. An account with a restricted login shell
       may not change her login shell. For this reason, placing /bin/rsh in
       /etc/shells is discouraged since accidentally changing to a restricted
       shell would prevent the user from ever changing her login shell back to
       its original value.

결론

따라서 chsh 명령은 명령줄 사용자가 알아야 하는 중요한 도구입니다. 이 자습서에서는 도구가 제공하는 대부분의 명령줄 옵션에 대해 설명했습니다. chsh에 대해 자세히 알아보려면 man 페이지로 이동하십시오.