본문 바로가기
관리자 게시판/잡담

[본문스크랩]계정 사용자에게 쉘 명령어 제한하기

by 한빛가람 2013. 11. 10.
반응형






본문 출처 - http://kltp.kldp.net/stories.php?story=06/04/03/1235825

글쓴이 - 임홍섭


계정 사용자에게 쉘 명령어 제한하기


제가 관리하는 서버는 계정을 다른 사람에게는 발급을 하지 않았습니다.


그런데 이번에 계정을 특정 소수에게 발급을 해야할 일이 생겼습니다.


보안상 문제가 크게 되죠.


그래서 문서를 찾다가 "제한된 쉘"이라는 문서를 찾았습니다.



제한된 쉘에서 못 쓰는 명령어들


스크립트나 스크립트의 일부분을 제한된 모드로 동작시키는 것은 제한이 없을 경우에 쓸 수 있는 몇몇 명령어들을 쓰지 못하게 합니다. 보안상의 이유로, 스크립트 사용자의 권한을 제한시키고 스크립트를 돌려서 입을 수 있는 가능한 피해를 최소화해 줍니다.


cd로 작업 디렉토리를 바꾸기.


$PATH나, $SHELL, $BASH_ENV, $ENV 환경 변수의 값을 바꾸기.


쉘 환경 변수 옵션인 $SHELLOPTS을 읽거나 바꾸기.


출력 재지향.


/'s을 포함한 하나 이상의 명령어 실행.


쉘에서 다른 프로세스로 옮겨가기 위해서 exec 부르기.


불순한 목적으로 장난을 칠 수 있거나 스크립트를 뒤집어 엎을 수 있는 다양한 명령어들.


스크립트에서 제한된 모드를 빠져나기는 행위.



위의 기능을 잘 사용 하시면 계정 밖으로는 못나가게 할수가 있습니다.


.bash_profile 파일 끝에 set -r 을 추가해 주세요.

그리고 PATH는 $HOME/bin 만 셋팅 하시고 필요한 명령어만 넣어 주세요.


그리고 .bash_profile 이 파일은 읽기만 가능하도록 해주세요.

그리고 계정 사용자가 바꾸지 못하도록 사용자와 그룹도 바꾸어 주시고요.


어느 정도는 소원 성취 할수 있습니다.



저작권&크리에이티브 커먼즈 라이선스 포기글입니다.




반응형
크리에이티브 커먼즈 라이선스
한빛가람 필자가 게시한 대부분의 블로그 게시물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다. 게시물에 CCL이 적용되지 아니하다고 적혀있는 경우엔 본 라이선스 적용 대상이 아닙니다.

댓글