>> Read Reply from No. 15096 article  
RE: Telnet 접속자 디렉토리 접근 제한

등록 2000-12-21 16:29:00     조회 2
이름 주현    

		: Telnet사용자들을 자신의 디렉토리에서 벗어나지 못하도록 하고 싶은데 어떻게 해야 하
나요? :
: 상위 디렉토리로 이동하지 못하게 말입니다.
 제가 전에 사용했던 방법인데요. 이거라도 아쉬운대로...
그냥 shell 을 chroot 해서 띄웠습니다.* 목적
telnet 혹은 ssh 사용자의 제한. 즉, chroot 된 디렉토리 상위로는 올라갈 수 없도록 함으로써 
악의적인 성향을 갖는 사용자의 행동 제약.  * 과정
1. 다음의 간단한 소스를 컴파일 하여 실행파일을 만듭니다. 이 소스는 chroot 할 디렉토리를
 /crsh 로 가정한 것 입니다.  [root@backup /root]# more crsh.c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <error.h>
 main()
{
   uid_t crt_uid;
   uid_t eff_uid;
    crt_uid = getuid();
   eff_uid = geteuid();
   chdir("/crsh");
   if ( setuid(0) == -1 )
       perror("setuid(0) failed");
   chroot("/crsh");
   if ( setuid(crt_uid) == -1 )
       perror("set crt_uid failed");
   execl("/bin/bash","bash","-i",(char *)0);
}
 2. 1에서 만든 실행 파일을 /bin 등 적당한 위치로 옯겨 놓고, setuid root 를 합니다.
3. chroot 할 디렉토리를 만들고 하위에 다음과 같은 디렉토리 구조를 만듭니다.
/bin, /etc, /lib, /usr, /usr/bin, /usr
4. 일단 shell 을 띄워야 하므로 shell과 shell 을 실행 시키기 위한 공유 라이브러리를 찾아서 
적당한 위치에 설치합니다. 예) cp /bin/sh /crsh/bin ;ldd /bin/sh | awk '{print $3}' | xargs -i cp {} /crsh/li
b 5. 마찬가지로 사용자에게 허가할 기본적인 명령어와 공유 라이브러리를 찾아 복사합니
다. 6. chroot 된 shell 을 이용할 사용자를 /etc/passwd 파일에서 home 디렉토리와 기본 shell 을 /bin/
crsh 로 바꿉니다. 7. 나머지 기본적인 환경 설정을 해 줍니다. (.bashrc등 환경파일)
 * 결과
로긴을 하여 pwd;id 를 하면 다음과 같은 결과를 볼 수 있습니다.
bash$ pwd;id
/
uid=508 gid=508 groups=508
따라서, 사용자는 실제로 /crsh 가 /로 인식하고 또 상위로는 접근 할 수 없습니다.
단, 이 경우 문제점은 몇몇 명령어가 작동이 안된 다는 것과 (에를 들어 /proc를 필요로 하는
 경우) USER가 I have no name! 이 된다는 것입니다.--God save the queen!
이름
암호


>> 관련글
15096 Telnet 접속자 디렉토리 접근 제한  이흥주  2000.12.21  ....
  답장 RE: Telnet 접속자 디렉토리 접근 제한  주현  2000.12.21  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.78 초 ] 작업시간: [ 0.44 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789682058
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.