chroot() — change root directory
int chroot(const char *path);
causes the named directory to become the root directory,
the starting point for path searches for path names beginning with
points to a path name naming a directory.
The user's working directory is unaffected by the
entry in the root directory is interpreted to mean the root directory itself.
cannot be used to access files outside the subtree
rooted at the root directory.
The effective user ID
of the process must be a user with the
privilege to change the root directory.
for more information about privileged access on
systems that support fine-grained privileges.
returns the following values:
is set to indicate the error.
fails and the root directory remains unchanged if
one or more of the following is true:
Any component of the path name is not a directory.
The named directory does not exist or a component of the
does not exist.
The effective user
is not a user who has
points outside the allocated address space of the process.
The reliable detection of this error is implementation dependent.
The length of the specified path name exceeds
bytes, or the length of a component of the path name exceeds
is in effect.
Too many symbolic links were encountered in translating the path
is to be obsoleted at a future date.
chroot(): AES, SVID2, SVID3, XPG2, XPG3, XPG4