CHROOT
Section: Linux Programmer's Manual (2)
Updated: 21 August 1997
NAME
chroot - change root directory
SYNOPSIS
#include <unistd.h>
int chroot(const char *path);
DESCRIPTION
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 `/'.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and
errno
is set appropriately.
ERRORS
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.
CONFORMING TO
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.
SEE ALSO
chdir(2)