CHROOT(2) CHROOT(2)
НАЗВАНИЕ
chroot - смена корневого каталога
СИНТАКСИС
int chroot (path)
char *path;
ОПИСАНИЕ
Аргумент path является указателем на маршрутное имя ка-
талога. После выполнения системного вызова chroot ука-
занный каталог становится корневым. Именно с корневого
каталога начинается поиск файлов по маршрутным именам,
первым символом которых служит /. Смены текущего ката-
лога при этом не происходит.
Для успешного выполнения системного вызова chroot необ-
ходимо, чтобы соответствующий процессу действующий
идентификатор пользователя был идентификатором супер-
пользователя.
В корневом каталоге обозначение .. интерпретируется как
имя самого корневого каталога. Поэтому это обозначение
не может использоваться для доступа к файлам, располо-
женным вне поддерева с корнем в корневом каталоге.
Системный вызов chroot завершается неудачей и смены
корневого каталога не происходит, если выполнено хотя
бы одно из следующих условий:
[ENOTDIR] Компонент маршрута не является каталогом.
[ENOENT] Указанный каталог не существует.
[EPERM] Действующий идентификатор пользователя не
является идентификатором суперпользователя.
[EFAULT] Аргумент path указывает за пределы отведен-
ного процессу адресного пространства.
[EINTR] Во время выполнения системного вызова пе-
рехвачен сигнал.
[ENOLINK] Маршрутное имя path указывает на удаленный
компьютер, связи с которым в данный момент
нет.
[EMULTIHOP] Компоненты path требуют многократного обра-
щения к удаленным компьютерам.
СМ. ТАКЖЕ
chdir(2).
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае
ошибки возвращается -1, а переменной errno присваивает-
ся код ошибки.
CHROOT(1M) CHROOT(1M)
НАЗВАНИЕ
chroot - смена корневого каталога для команды
СИНТАКСИС
/etc/chroot новый_корень команда
ОПИСАНИЕ
Применение chroot вызывает выполнение указанной команды
относительно нового корневого каталога. Для специфици-
рованной команды и всех порожденных ею процессов на-
чальный символ / в маршрутных именах означает новый_ко-
рень. Этот же каталог на время выполнения команды ста-
новится текущим.
Отметим, однако, что при переназначении вывода команды
в файл:
chroot новый_корень команда > файл
указанный файл будет создан с учетом исходного, а не
нового корневого каталога.
Маршрутное имя нового корневого каталога всегда задает-
ся относительно текущего корня. Даже если в данный мо-
мент действует chroot, аргумент новый_корень задается
относительно текущего корневого каталога работающего
процесса.
Данная команда может быть выполнена только суперпользо-
вателем.
СМ. ТАКЖЕ
cd(1) в Справочнике пользователя..
chroot(2) в Справочнике программиста.
СЮРПРИЗЫ
Следует проявить особую осторожность при обращении к
файлам устройств в новой корневой файловой системе.
|