Документация по LinuxLinuxDoc.Ru 🔍

chroot - функция установки нового корневого каталога

НАЗВАНИЕ
chroot - функция установки нового корневого каталога

СИНТАКСИС
#include

int chroot(const char *path);

ОПИСАНИЕ
chroot изменяет имя корневого каталога на указанный в
аргументе path. Этот каталог - для файлов, имена которых
начинаются со знака "/". Корневой каталог наследуется
всеми "потомками" текущего процесса. Только
суперпользователь может изменять корневой каталог.
Заметьте, что этот системный вызов не изменяет текущий
рабочий каталог, поэтому "." может находиться вне дерева
каталогов, имя которого начинается со знака "/". В
частности, суперпользователь может выйти из созданного
корневого каталога, выполнив следующее: `mkdir foo; chroot
foo; cd ..'.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
После успешного выполнения действия возвращаемое значение
равно нулю. При ошибке возвращаемое значение равно -1, а
переменной errno присваивается соответствующий код ошибки.

КОДЫ ОШИБОК
Самые распространенные ошибки chroot:

EPERM (занчение эффективного UID не равено нулю);

EFAULT ( path указывает на каталог за пределами доступного
адресного пространства);

ENAMETOOLONG
(имя path является слишком длинным);

ENOENT (указанного файла не существует);

ENOMEM (недостаточно памяти в системе);

ENOTDIR
(часть имени path не является каталогом);

EACCES (запрещен поиск в одном из каталогов, который
является компонентом path);

ELOOP ( path является зацикленной символьной ссылкой, то
есть при соответствующей подстановке возникает
ссылка на нее саму);

EIO (ошибка ввода-вывода).

В зависимости от файловой системы в работе могут
появляться и другие ошибки.

СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, SVID, 4.4BSD, X/OPEN. Эта функция не входит в
POSIX.1. SVr4 описывает дополнительные коды ошибок EINTR,
ENOLINK и EMULTIHOP. X/OPEN не описывает EIO, ENOMEM и
EFAULT. Этот интерфейс помечен как "устаревающий" в
X/OPEN.
Читать новости Linux в Telegram
Linux - chroot - функция установки нового корневого каталога
Мы в соцсетях ✉