리눅스마스터2급강좌 :쉘의 설정 파일 및 변경
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,063 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 :쉘의 설정 파일 및 변경
① 사용자가 사용하는 쉘 확인하기/etc/passwd 파일에서 사용자가 기본적으로 사용하는 쉘이 설정되어 있다.
마지막 항목(/bin/bash)이 사용자가 사용하는 쉘을 의미한다.
이 부분을 /bin/false로 변경하면, 명령어를 처리하는 쉘을 얻지 못하므로 어떤 명령도 수행할 수가 없게 되고 로그인도 할 수 없다.
|
|
|
| # grep sulinuxer /etc/passwd /sulinuxer:x:500:500::/home/sulinuxer:/bin/bash |
|
|
|
|
그리고 사용 중인 로그인 쉘의 확인은 “echo $SHELL” 명령으로 할 수도 있다.
|
|
|
| # echo $SHELL /bin/bash |
|
|
|
|
최초에 관리자가 사용자 계정을 만들면 사용자의 쉘을 선택한다.
그리고 사용자는 필요에 따라 쉘을 변경할 수 있다.
② 쉘의 변경사용하고자 하는 쉘을 변경하려면 먼저 사용중인 쉘을 확인한다.
그리고 사용자는 잠시 사용하고자 하는 쉘로 변경하기 위해 원하는 쉘의 이름을 이용하여 해당 쉘을 실행하면 된다(쉘을 종료할 때에는 exit 명령을 사용한다). 다음은 서브쉘로 쉘을 바꾸는 방법을 보여주고 있다.
|
|
|
| [freekgb@localhost ~]$ echo $SHELL (현재 로그인쉘은 Bash 쉘) /bin/bash [freekgb@localhost ~]$ /bin/sh (본 쉘로 변경) sh-3.2$ csh (C 쉘로 변경) [freekgb@localhost ~]$ exit (C 쉘에서 빠져나가서 본 쉘 상태로 변경) exit sh-3.2$ exit (본 쉘에서 빠져나가서 Bash 쉘로 변경) exit [freekgb@localhost ~]$ |
|
|
|
|
만약 사용자가 로그인 쉘(기본사용 쉘)을 변경하려면, chsh 명령을 사용하거나 /etc/passwd 파일의 쉘 부분을 변경한다(이 경우 시스템에 재로그인 해야 변경된 사항이 적용된다).
③ chsh
“chsh(change shell)” 명령은 로그인 쉘의 변경을 위해 사용한다.
이 명령은 root 사용자 및 일반 사용자 모두 사용이 가능하다.
다음은 기본적인 명령의 형식이다.
|
|
|
| chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ] |
|
|
|
|
다음은 chsh 명령과 함께 사용할 수 있는 옵션들이다.
옵 션 | 기 능 |
-s, --shell | 지정하는 쉘을 앞으로 사용할 로그인 쉘로 바꾼다. |
-l, --list-shells | /etc/shells 파일 안에 지정된 쉘을 출력한다. |
-u, --help | 도움말을 출력한다. |
-v, --version | 버전 정보를 출력한다. |
다음은 “chsh”를 사용하여 로그인 쉘을 변경하는 것이다.
쉘을 특별하게 지정하지 않았기 때문에 새로운 로그인 쉘로 무엇을 사용할 것인지 묻고 있다.
그렇지만 /etc/shells 파일에 없는 쉘을 지정하는 경우에는 경고 메시지를 출력한다.
그리고 이 명령을 내린 후에 이것이 적용되기 위해서는 다시 로그인해야 한다.
로그인쉘의 설정을 변경한 것이기 때문이다.
|
|
|
| [freekgb@localhost ~]$ grep freekgb /etc/passwd freekgb:x:574:500::/home/freekgb:/bin/bash [freekgb@localhost ~]$ chsh Changing shell for freekgb. 암호: ******** New shell [/bin/bash]: /bin/sh Shell changed. [freekgb@localhost ~]$ grep freekgb /etc/passwd freekgb:x:574:500::/home/freekgb:/bin/sh [freekgb@localhost ~]$ |
|
|
|
|
chsh 명령에 -s 옵션을 사용하면 조금 더 간편하게 로그인 쉘을 변경할 수 있다.
|
|
|
| [freekgb@localhost ~]$ chsh -s /bin/bash Changing shell for freekgb. 암호: ******** Shell changed. [freekgb@localhost ~]$ |
|
|
|
|
그리고 “chsh –l” 명령을 통해 쉘의 종류를 확인하는 것이 가능한데, 이것은 /etc/shells 파일의 내용을 출력해 주는 것이다.
|
|
|
| # chsh -l /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/ksh # |
|
|
|
|
관련자료
-
이전
-
다음