아래는 sunsite에서 끌거온 내용입니다.
restricted shell이란 /usr/lib/rsh를 말하며, 일반 사용자가 접근 가능한
working directory의 영역과 사용 가능한 명령어를 제한하기 위해 일반
사용자의 login shell에 정의한다.
1. restricted shell의 기능은 아래와 같다.
- 사용자는 자신의 home directory에서만 화일을 새로 만들수 있으며
"cd" 명령을 사용하여 다른 directory를 access 할 수 없다.
- 사용자는 root가 PATH 변수에 지정한 directory 에 있는 명령만
사용가능 하고 자신의 PATH 를 변경 할 수 없다.
- 사용자는 자신의 home directory와 subdirectory에 있는 화일만
access 가능하고 "cd" 명령을 사용하여 subdirectory를 access 할수 없다.
- 사용자는 ">" 나 ">>" 를 사용하여 output을 다른 화일로 redirect
할 수 없다.
2. restricted shell 설정하기
- /etc/password 화일에 정의된 사용자의 login shell을 /usr/lib/rsh로
변경한다.
예) test:x:10000:1::/export/home/test:/usr/lib/rsh
- /etc/profile 또는 사용자의 home direcroty에 .profile을 만들어
이 화일 안에 PATH를 지정한다. 별도로 PATH를 지정하지 않으면 default로
/usr/bin 이 사용된다.
사용자의 home direcroty에 .profile을 만들 경우에는 owner를 root로
하고 permission을 755로 정의하여 사용자가 내용을 변경하지 못하게 한다.
*이렇게 했더니 ftp가 안되더군요...
이용호님의 가르침을 받아 etc/shells 파일을 만들고 사용가능한 셀의 경로 집어
넣어서 ftp 문제는 해결 했는데,
[예.]
/usr/bin/sh
/usr/bin/csh
.
.
.
/usr/lib/rsh
*또 문제는...
별도로 PATH를 지정하지 않은 관계로 default로 /usr/bin 디렉토리가 path
지정 되더라 말이죠....그랬더니 사용자들이 telnet 접속후 csh, sh,...등등의
셀로 전환이 가능하더라 예깁니다.
그래서 /usr/bin에 있는 shell들의 퍼키션을 조정하려 하니깐 몇개는 되더니만
이상하게도 몇게는 /usr/lib/rsh 파일과 서로 같이 퍼미션이 바뀌더라 예기조
(/usr/bin/jsh등등의 파일은 /other그룹의 퍼미션을 0으로 하니깐
/usr/lib/rsh 파일도 자동적으로 똑 같이 0으로 바뀌더라구요....)잉
그래서리 궁금한게 /etc/profile, 또는 각사용자의 홈디렉토리에서 .profile을
만들어 특정 디렉토리만 path를 잡아 줄 수 없을까 하는게 궁금한 거죠.
아니면 특정한 셀만 사용하도록 하는 방법이 없을까 하는 문젠데요...
인터넷에 나름데로 찾아 받지만 정보를 얻지 못했거든요...
많은 고수님들이 저의 궁금증을 풀어 줄 수 있기를 기대할게요.
^^ ^^ ^^ ^^ ^^
히히