보안을 위해 새로운 가상의 루트 디렉토리를 생성하여 원격 서비스로 접속할 경우 이 디렉토리의 상위로 이동이 불가능하게 하는 명령어

사용법 
chroot 새로운 루트 경로 [명령어] 
chroot [옵션] 
--help : 도움말을 보여준다. 
--version : 명령어에 대한 버전을 보여준다. 

사용자가 시도하는 명령어는 보통 기본 루트 디렉토리인 /를 기준으로한 $PATH에 대해서 명령어를 해석한다. chroot는 루트 디렉토리를 일반적인 환경과 다르게 시스템 관리자가 지정한 디렉토리로 인식하도록 바꾸게 된다. 이는 시스템 관리의 측면이나 보안상 측면으로 볼 수 있다. 보안상 측면은 크래커가 원격 시스템에 셸 계정을 얻었다 하더라도, 루트 셸을 따기 위한 툴을 시도하더라도 제대로 될 수 없으므로, 보다 더 안전한 시스템을 만들 수 있다. 예를 들면, 웹서버 기본 디렉토리인 /var/www/html 밑에 시스템의 / 인 것처럼 / 디렉토리에 관련된 기본 디렉토리를 만들고, chroot를 설정하여 침해자가 / 인 것처럼 속이는 역할을 한다.
2005/06/21 20:58 2005/06/21 20:58
로그인하여 사용하는 기본 셀에서 임시로 다른 셀을 사용하게 하는 명령어

사용법 : chsh [옵션] [계정명] 
-s, --shell : 지정하는 셸을 앞으로 사용할 로그인 셸로 바꾼다. 
-l, --list-shells : /etc/shells 파일 안에 지정된 셸을 나열하고 마친다. 
-u, --help : 도움말을 보여준다. 
-v, --version : 버전 정보를 보여주고 마친다. 

chsh 명령어는 로긴된 셀을 변경한다. 이는 /etc/shells에 등록된 셸만을 변경할 수 있다. 만일 /etc/shells 파일이 존재하지 않는 셸은 에러 메시지를 보여주며, 셸의 지정은 전체를 지정해야 한다.
먼저, 지금 시스템에서 사용할 수 있는 셸을 살펴보자.

# cat /etc/shells 
/bin/sh 
/bin/bash 
/bin/bash2 
/bin/ash 
/bin/bsh 
/bin/tcsh 
/bin/csh 
/bin/ksh 
/bin/zsh 

chsh -l 옵션은 /etc/shells의 파일 내용과 동일한 내용을 보여준다.

# chsh -l 
/bin/sh 
/bin/bash 
/bin/bash2 
/bin/ash 
/bin/bsh 
/bin/tcsh 
/bin/csh 
/bin/ksh 
/bin/zsh 

그럼, chsh 명령어로 /bin/csh 로 변경해 보자

# chsh 
Changing shell for root. 
New shell [/bin/bash]: /bin/csh 
Shell Changed. 

-s 명령으로 직접 지정한 셸로 변경할 수도 있다.

# chsh -s /bin/bash 
Changing shell for root. 
Shell changed. 

자기가 사용하는 셸을 알아보기 위해서는 다음과 같이 한다.

# echo $SHELL
2005/06/21 20:57 2005/06/21 20:57
콘솔의 텍스트 화면을 지우고 커서를 맨 윗줄로 올린다. MS-DOS의 cls와 같은 기능이다.

사용법 : clear 
2005/06/21 20:56 2005/06/21 20:56