linux 명령어 chsh
지정된 쉘 변경하는 명령어.
$ chsh
Linux 명령어 chsh
사용자의 기본 셸을 변경하기 위한 명령어
1. 자세한 설명
chsh
명령어는 Linux에서 사용자의 기본 로그인 셸을 변경하는 데 사용됩니다. 사용자는 현재 셸에서 다른 셸(예: bash, zsh, fish 등)로 쉽게 변경할 수 있으며, 새로운 셸을 사용하기 위해 별도의 설정 없이 로그인 시 바로 사용할 수 있습니다.
2. 사용법
- 현재 사용자 셸 변경
chsh -s [셸 경로]
현재 사용자의 기본 로그인 셸을 지정된 셸로 변경합니다. - 특정 사용자 셸 변경
sudo chsh -s [셸 경로] [사용자]
관리자 권한으로 다른 사용자의 기본 셸을 변경합니다. - 현재 설정된 셸 확인
cat /etc/passwd | grep [사용자 이름]
사용자의 기본 셸을 확인합니다.
3. 자세하게 설명
chsh
명령어는 기본적으로 사용자의 /etc/passwd
파일을 수정하여 기본 셸 설정을 변경합니다. 이 명령어를 사용하기 전에 해당 셸이 시스템에 설치되어 있어야 하며, 셸 경로는 /etc/shells
파일에 포함되어 있어야 합니다.
주요 옵션:
- -s [셸 경로]: 변경할 셸의 경로를 지정합니다.
- 사용자 이름: 특정 사용자의 셸을 변경하려면 사용자 이름을 명시합니다.
4. 자세한 명령어 사용법
다음은 chsh
명령어의 다양한 사용 예제입니다:
# 현재 사용자의 기본 셸을 bash로 변경 $ chsh -s /bin/bash # 현재 사용자의 기본 셸을 zsh로 변경 $ chsh -s /bin/zsh # fish 셸로 변경 $ chsh -s /usr/bin/fish # 관리자 권한으로 특정 사용자 셸 변경 $ sudo chsh -s /bin/bash username # 현재 셸 확인 $ echo $SHELL # 사용자의 기본 셸 확인 $ cat /etc/passwd | grep $USER # 시스템에 설치된 셸 확인 $ cat /etc/shells # 특정 사용자의 기본 셸 확인 $ cat /etc/passwd | grep username # 현재 설정된 셸에서 zsh로 변경 및 확인 $ chsh -s /bin/zsh $ echo $SHELL # 스크립트를 통해 셸 자동 변경 #!/bin/bash chsh -s /bin/bash $USER # 잘못된 셸 경로로 변경 시도 $ chsh -s /invalid/shell/path # 오류 발생 # 특정 사용자의 셸 변경 후 확인 $ sudo chsh -s /bin/zsh username $ cat /etc/passwd | grep username # 시스템에 설치된 셸로 변경 및 확인 $ chsh -s $(cat /etc/shells | grep /bin/bash) # 스크립트를 통해 셸 변경 자동화 #!/bin/bash default_shell="/bin/bash" for user in user1 user2 user3; do sudo chsh -s $default_shell $user done # 결과를 로그 파일로 저장 $ chsh -s /bin/zsh > shell_change_log.txt 2>&1
위의 예제는 chsh
명령어를 사용하여 기본 로그인 셸을 변경하고 관리하는 다양한 방법을 보여줍니다.
No responses yet