유닉스
運營 體制
에서
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]
같이 보기
[
編輯
]
各州
[
編輯
]
外部 링크
[
編輯
]
|
---|
파일 시스템
| |
---|
프로세스
| |
---|
使用者 環境
| |
---|
텍스트 處理
| |
---|
셸
프로그램
| |
---|
네트워크
| |
---|
檢索
| |
---|
文書化
| |
---|
기타
| |
---|
|