GNU/Linux |
RedHat 6.2(Zoot) |
|
![]() |
chroot(2) |
![]() |
chroot − change root directory
#include <unistd.h>
int chroot(const char *path);
chroot changes the root directory to that specified in path. This directory will be used for path names beginning with /. The root directory is inherited by all children of the current process.
Only the super-user may change the root directory.
Note that this call does not change the current working directory, so that ’.’ can be outside the tree rooted at ’/’.
On success, zero is returned. On error, −1 is returned, and errno is set appropriately.
Depending on the file system, other errors can be returned. The more general errors are listed below:
EPERM |
The effective UID is not zero. |
|||
EFAULT |
path points outside your accessible address space. |
ENAMETOOLONG
path is too long.
ENOENT |
The file does not exist. |
|||
ENOMEM |
Insufficient kernel memory was available. |
ENOTDIR
A component of path is not a directory.
EACCES |
Search permission is denied on a component of the path prefix. | ||
ELOOP |
Too many symbolic links were encountered in resolving path. | ||
EIO |
An I/O error occurred. |
SVr4, SVID, 4.4BSD, X/OPEN. This function is not part of POSIX.1. SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions. X/OPEN does not document EIO, ENOMEM or EFAULT error conditions. This interface is marked as legacy by X/OPEN.
chdir(2)
![]() |
chroot(2) | ![]() |