리눅스 명령어 · 2 min read · Sep 15, 2025

리눅스 chsh 명령어 초보자 가이드 (5가지 예제)

리눅스의 chsh (change shell) 명령어는 사용자가 기본 로그인 셸을 변경할 수 있게 해주는 유틸리티입니다. 로그인 셸은 사용자가 유닉스와 유사한 시스템에 로그인할 때 상호작용하는 명령줄 인터페이스입니다. 일반적인 셸로는 dash, bash, zsh, ksh, fish가 있습니다.

chsh 명령어를 살펴보기 전에 로그인 셸이 무엇인지 이해하는 것이 중요합니다. 로그인 셸은 사용자가 로그인할 때 사용자 ID 아래에서 실행되는 첫 번째 프로세스입니다. 이는 환경을 초기화하고 시스템과 상호작용할 수 있는 인터페이스를 제공합니다.

일반적인 리눅스 셸들

  • Bash (Bourne Again Shell): 많은 리눅스 배포판의 기본 셸로, 사용의 용이성과 강력한 기능으로 알려져 있습니다.
  • Zsh (Z Shell): 개선된 탭 완성과 사용자 정의와 같은 많은 추가 기능이 있는 bash의 확장 버전입니다.
  • Ksh (Korn Shell): sh와 csh에서 발견되는 스크립팅 기능을 제공하는 셸입니다.
  • Fish (Friendly Interactive Shell): 구문 강조 및 자동 제안과 같은 사용자 친화적인 기능으로 알려져 있습니다.
  • Dash: 리눅스 Dash 셸(dash)은 속도와 최소한의 리소스 사용을 위해 설계된 경량 POSIX 호환 셸로, 종종 Debian 기반 시스템에서 기본 스크립팅 셸로 사용됩니다.

리눅스 chsh 명령어

위의 소개에서 설명했듯이, chsh 명령어는 로그인 셸을 변경할 수 있게 해줍니다. 다음은 그 구문입니다:

chsh [options] [LOGIN]

그리고 도구의 매뉴얼 페이지에서 다음과 같이 설명합니다:

       chsh 명령어는 사용자 로그인 셸을 변경합니다. 이는 사용자의 초기 로그인 명령의 이름을 결정합니다. 일반 사용자는 자신의 계정에 대해서만 로그인 셸을 변경할 수 있으며, 슈퍼유저는 모든 계정의 로그인 셸을 변경할 수 있습니다.

다음은 chsh 명령어가 어떻게 작동하는지 잘 이해할 수 있도록 Q&A 형식의 예제입니다.

Q1. chsh를 사용하는 방법은?

기본 사용법은 매우 간단합니다 - 인수 없이 ‘chsh’ 명령어를 실행하세요. 로그인 비밀번호를 입력하라는 메시지가 표시되며, 이를 성공적으로 입력하면 로그인 셸을 변경할 수 있는 옵션이 제공됩니다.

chsh

우분투에서 셸을 bash로 변경

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

Q2. chsh를 사용하여 로그인 셸을 변경하는 방법은?

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

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

chsh를 사용하여 로그인 셸을 변경하는 방법

변경 사항을 확인하려면 chsh 명령어를 다시 실행할 수 있습니다. 대괄호 안에 표시된 값이 현재 셸입니다. 제 경우, 현재 셸은 /bin/sh가 되었습니다:

새 로그인 셸 설정

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

이를 위해서는 chsh 명령어에 사용자 이름을 입력하면 됩니다.

chsh [username]

예를 들어, root의 로그인 셸을 변경하려면 다음과 같이 chsh를 사용하세요:

chsh root

다른 사용자의 로그인 셸을 변경하는 방법

Q4. chsh를 비대화 모드로 실행하는 방법은?

이를 위해 -s 명령줄 옵션을 사용하세요. 이 옵션은 입력으로 셸 이름을 요구합니다.

예를 들어:

chsh -s /bin/sh

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

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

시스템에서 사용 가능한 셸 목록을 빠르게 확인하려면 /etc/shells 파일을 cat하세요.

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

# /etc/shells: 유효한 로그인 셸
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

참고:

       로그인 셸에 부과된 유일한 제한은 명령 이름이 /etc/shells에 나열되어야 한다는 것입니다. 호출자가 슈퍼유저인 경우에는 어떤 값도 추가할 수 있습니다. 제한된 로그인 셸을 가진 계정은 자신의 로그인 셸을 변경할 수 없습니다. 이러한 이유로 /bin/rsh를 /etc/shells에 배치하는 것은 권장되지 않으며, 제한된 셸로 실수로 변경되면 사용자가 자신의 로그인 셸을 원래 값으로 되돌릴 수 없게 됩니다.

결론

따라서 chsh 명령어는 명령줄 사용자가 알아야 할 중요한 도구입니다. 이 튜토리얼에서는 도구가 제공하는 대부분의 명령줄 옵션에 대해 논의했습니다. chsh에 대해 더 알아보려면 매뉴얼 페이지를 참조하세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.