Unix Man (Справочное руководство)

CHROOT(2)


CHROOT(2)

НАЗВАНИЕ


chroot - смена корневого каталога

СИНТАКСИС

int chroot (path) char *path;

ОПИСАНИЕ


Аргумент path является указателем на маршрутное имя каталога. После выполнения системного вызова chroot указанный каталог становится корневым. Именно с корневого каталога начинается поиск файлов по маршрутным именам, первым символом которых служит /. Смены текущего каталога при этом не происходит.

Для успешного выполнения системного вызова chroot необходимо, чтобы соответствующий процессу действующий идентификатор пользователя был идентификатором суперпользователя.

В корневом каталоге обозначение .. интерпретируется как имя самого корневого каталога. Поэтому это обозначение не может использоваться для доступа к файлам, расположенным вне поддерева с корнем в корневом каталоге.

Системный вызов chroot завершается неудачей и смены корневого каталога не происходит, если выполнено хотя бы одно из следующих условий:

[ENOTDIR] Компонент маршрута не является каталогом. [ENOENT] Указанный каталог не существует. [EPERM] Действующий идентификатор пользователя не является идентификатором суперпользователя. [EFAULT] Аргумент path указывает за пределы отведенного процессу адресного пространства. [EINTR] Во время выполнения системного вызова перехвачен сигнал. [ENOLINK] Маршрутное имя path указывает на удаленный компьютер, связи с которым в данный момент нет. [EMULTIHOP] Компоненты path требуют многократного обращения к удаленным компьютерам.

СМ. ТАКЖЕ


.

ДИАГНОСТИКА


При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.



Содержание раздела