chroot

유닉스 운영 체제에서 chroot는 현재 실행 중인 프로세스와 차일드 프로세스 그룹에서 루트 디렉터리를 변경하는 작업이다.

이렇게 수정된 환경에서 실행되는 프로그램은 지정된 디렉터리 트리 밖의 파일들의 이름을 지정할 수 없으므로(즉, 일반적으로는 접근이 불가능하므로) chroot 감옥으로 부른다. chroot는 chroot(2) 시스템 호출이나 chroot(8) 래퍼 프로그램을 가리킬 수 있다.

역사[편집]

chroot 시스템 호출은 1979년 버전 7 유닉스의 개발 중에 도입되었으며, 1982년 3월 18일 빌 조이가 BSD에 추가하였다.

이용 목적[편집]

chroot는 다음의 목적에 유용하게 쓰일 수 있다:

  • 테스트 및 개발
  • 의존성 제어
  • 호환성
  • 복구
  • 권한 분리

리눅스 호스트 커널 가상 파일 시스템 및 구성 파일[편집]

리눅스에서 chroot 환경을 사용하려면 커널 가상 파일 시스템과 구성 파일 또한 host에서 chroot로 마운트/복사되어야 한다.

# Mount Kernel Virtual File Systems TARGETDIR="/mnt/chroot" mount -t proc proc $TARGETDIR/proc mount -t sysfs sysfs $TARGETDIR/sys mount -t devtmpfs devtmpfs $TARGETDIR/dev mount -t tmpfs tmpfs $TARGETDIR/dev/shm mount -t devpts devpts $TARGETDIR/dev/pts  # Copy /etc/hosts /bin/cp -f /etc/hosts $TARGETDIR/etc/  # Copy /etc/resolv.conf /bin/cp -f /etc/resolv.conf $TARGETDIR/etc/resolv.conf  # Link /etc/mtab chroot $TARGETDIR rm /etc/mtab 2> /dev/null chroot $TARGETDIR ln -s /proc/mounts /etc/mtab 

chroot 상의 그래픽 응용 프로그램[편집]

다음의 방식을 이용하여 chroot로 된 환경에서 그래픽 응용 프로그램을 구동할 수 있다.[1][2]

  • xhost
  • Xnest 또는 더 현대적인 Xephyr
  • X11 포워드 (ssh-X) 기능을 이용하여 chroot SSH 접근
  • xchroot
  • X11 VNC 서버 및 환경 외 VNC 클라이언트 접속

같이 보기[편집]

각주[편집]

  1. “보관된 사본”. 2014년 3월 26일에 원본 문서에서 보존된 문서. 2016년 2월 28일에 확인함. 
  2. “보관된 사본”. 2011년 8월 31일에 원본 문서에서 보존된 문서. 2011년 10월 13일에 확인함. 

외부 링크[편집]