chroot(2) System Calls Manual chroot(2)
Name
chroot - change root directory
Syntax
chroot(dirname)
char *dirname;
Description
The dirname is the address of the pathname of a directory, terminated by a null byte. The system call causes this directory to become the
root directory (/).
For a directory to become the root directory, a process must have execute (search) access to the directory.
This call is restricted to the superuser.
Return Values
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate an error.
Diagnostics
The system call fails and the root directory is unchanged under the following conditions:
[ENOTDIR] A component of the dirname is not a directory.
[ENAMETOOLONG] A component of a dirname exceeded 255 characters, or an entire dirname exceeded 1023 characters.
[ENOENT] The dirname argument points to the name of a directory which does not exist, or to an empty string and the environment
defined is POSIX or SYSTEM_FIVE.
[EFAULT] The dirname points outside the process's allocated address space.
[ELOOP] Too many symbolic links were encountered in translating the pathname.
[EIO] An I/O error occurred while reading from or writing to the file system.
[ESTALE] The file handle given in the argument is invalid. The file referred to by that file handle no longer exists or has been
revoked.
[ETIMEDOUT] A connect request or remote file operation failed because the connected party did not properly respond after a period of
time that is dependent on the communications protocol.
[EPERM] The effective user ID is not that of superuser.
See Also
chdir(2)
chroot(2)