본문 바로가기
IT/리눅스 이론

리눅스 사용중인 현재 쉘(shell) 확인 및 사용자 쉘 변경 방법

by 꾸꾸웍스 2022. 10. 9.
반응형

썸네일
사용자 쉘 확인 및 변경

 

리눅스 쉘(shell)은 사용자가 입력하는 명령을 해석하여 실행해주는 프로그램으로 리눅스에서 사용하는 쉘 여러 가지 종류가 있으며 리눅스 서버에 설치되어있는 쉘 기준으로 현재 사용하고 있는 쉘 또는 기본 쉘에서 사용자가 원하는 쉘로 변경할 수 있습니다.

 

※ 목차 구성
1) 리눅스 사용중인 현재 쉘 확인
2) 리눅스 파일로 쉘 확인
3) 리눅스 사용자 쉘 변경

 

반응형

 

리눅스 사용중인 현재 쉘 확인

위치 매개 변수로 확인

리눅스 서버의 현재 사용 중인 쉘을 확인하는 방법 중 위치 매개 변수 $0을 이용하여 현재 쉘을 확인할 수 있습니다.

echo $0

 

root@server # echo $0
-bash

 

환경변수로 확인

사용중인 현재 쉘을 확인하는 방법 중 환경변수를 이용하여 현재 사용 중인 쉘을 확인할 수 있습니다.

echo $SHELL

 

root@server # echo $SHELL
/bin/bash

 

 

리눅스 파일로 쉘 확인

/etc/passwd 파일

리눅스 /etc/passwd는 사용하고 있는 리눅스 서버의 계정에 대한 정보들이 들어있는 파일로 콜론(:)으로 구분하며 사용자가 사용하고 있는 쉘 정보를 확인할 수 있습니다. 또한 grep 명령어를 활용하여 원하는 사용자 계정의 정보만 볼 수 있습니다.

1) cat /etc/passwd
2) grep {사용자계정} /etc/passwd

 

root@server # grep user /etc/passwd
user:x:5003:5000::/home/test/user:/bin/bash

/etc/passwd 파일은 1열부터 7열까지 콜론(:) 기준으로 나누며 user 계정 의미는 아래 내용과 같습니다. 패스워드의 'x'의 의미는 /etc/shadow파일에 패스워드가 암호화가 되어있다는 의미를 나타냅니다.

1열 2열 3열 4열 5열 6열 7열
user x 5003 5000   /home/test/user /bin/bash
계정명 패스워드 UID GID 계정설명 홈디렉토리 shell 정보

 

 

/etc/shells 파일

리눅스 /etc/shells는 리눅스 서버의 설치된 현재 쉘을 확인하는 방법입니다. 

cat /etc/shells

 

root@server # cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux

 

 

리눅스 사용자 쉘 변경

root권한으로 쉘 변경

super 유저인 root 권한으로 사용자 shell을 변경하는 방법입니다. 변경할 사용자 계정으로 직접 로그인하지 않고 root 권한으로 패스워드 입력 없이 사용자 쉘을 변경할 수 있습니다.

root@server # chsh -s {변경할 쉘} {사용자계정}

 

root@server # chsh -s /bin/sh user
Changing shell for user.
Shell changed.

root@server # su - user
Last login: Wed Oct 5 17:34:14 KST 2022 on pts/0
-sh-4.2$

 

300x250

 

사용자 쉘 직접 변경

원하는 사용자 계정으로 직접 로그인하여 사용자 shell을 변경하는 방법입니다. 명령어를 입력 후 패스워드를 입력하여 일치하면 쉘이 변경되고 로그아웃 후 재 로그인하면 변경한 쉘로 적용됩니다.

chsh -s {변경할 쉘}

 

user@server # chsh -s /bin/sh
Changing shell for user.
Password:
Shell changed.

user@server # exit
logout

root@server # su - user
-sh-4.2$
반응형
그리드형

댓글