이 름
chroot − 루 트 디 렉 토 리 를 바 꾼 다 .
사 용 법
#include <unistd.h>
int chroot(const char *path);
설 명
chroot는 path가 지 정 한 곳 으 로 루 트 디 렉 토 리 를 바 꾼 다 . 이 디 렉 토 리 는 /으 로 시 작 하 는 경 로 이 름 이 사 용 된 다 . 루 트 디 렉 토 리 는 현 재 프 로 세 스 의 모 든 자 식 프 로 세 스 에 게 상 속 된 다 .
슈 퍼 유 저 만 이 루 트 디 렉 토 리 를 바 꿀 수 있 다 .
이 시 스 템 콜 은 현 재 작 업 디 렉 토 리 는 바 꾸 지 않 는 다 . 그 래 서 ’.’는 ’/’으 로 지 정 된 루 트 트 리 밖 의 위 치 가 될 수 도 있 다 .
반 환 값
성 공 시 , 0이 리 턴 된 다 . 에 러 시 , −1이 리 턴 되 며 , errno는 적 당 한 값 으 로 설 정 된 다 .
에 러
파 일 시 스 템 에 의 존 적 이 며 , 다 른 에 러 가 리 턴 될 수 있 다 . 일 반 적 인 에 러 목 록 은 다 음 과 같 다 :
EPERM |
유 효 UID가 0이 아 니 다 . |
|||
EFAULT |
path가 접 근 할 수 없 는 메 모 리 영 역 을 가 리 키 고 있 다 . |
ENAMETOOLONG
path가 너 무 길 다 .
ENOENT |
파 일 이 존 재 하 지 않 는 다 . |
|||
ENOMEM |
커 널 메 모 리 가 충 분 치 않 다 . |
ENOTDIR
path가 디 렉 토 리 가 아 니 다 .
EACCES |
허 가 가 거 부 되 었 다 . | ||
ELOOP |
path를 찾 아 갈 때 , 너 무 많 은 심 볼 릭 링 크 가 존 재 한 다 . | ||
EIO |
I/O 에 러 가 발 생 했 다 . |
호 환
SVr4, SVID, 4.4BSD, X/OPEN. 이 함 수 는 POSIX.1의 일 부 가 아 니 다 . SVr4 문 서 는 EINTR, ENOLINK 그 리 고 EMULTIHOP 에 러 상 태 들 을 추 가 적 으 로 기 술 한 다 . X/OPEN은 EIO, ENOMEM 또 는 EFAULT 에 러 상 태 를 문 서 화 하 지 않 았 다 . 이 시 스 템 콜 은 X/OPNE의 유 산 물 로 서 알 려 져 있 다 .
관 련 항 목
역 자
정 강 훈 <skyeyes [AT] soback.net>, 2000년 5월 1일