chroot.2 (2010 09)
c
chroot(2) chroot(2)
(TO BE OBSOLETED)
NAME
chroot() - change root directory
SYNOPSIS
#include <unistd.h>
int chroot(const char *path);
DESCRIPTION
chroot() causes the named directory to become the root directory, the starting point for path searches
for path names beginning with /. path points to a path name naming a directory. The user’s working
directory is unaffected by the
chroot() system call.
The
.. entry in the root directory is interpreted to mean the root directory itself. Thus,
.. cannot be
used to access files outside the subtree rooted at the root directory.
Security Restrictions
The effective user ID of the process must be a user with the
CHROOT privilege to change the root direc-
tory.
chroot() system call should be called within a single threaded process. A process should invoke
chdir() system call before the chroot() system call to change the current working directory of the
process to the new root directory.
See privileges (5) for more information about privileged access on systems that support fine-grained
privileges.
RETURN VALUE
chroot() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS
chroot() fails and the root directory remains unchanged if one or more of the following is true:
[ENOTDIR] Any component of the path name is not a directory.
[ENOENT] The named directory does not exist or a component of the path does not exist.
[EPERM] The effective user ID is not a user who has the CHROOT privilege.
[EFAULT] path points outside the allocated address space of the process. The reliable detec-
tion of this error is implementation dependent.
[ENAMETOOLONG]
The length of the specified path name exceeds
PATH_MAX bytes, or the length of a
component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC
is in effect.
[ELOOP] Too many symbolic links were encountered in translating the path name.
WARNINGS
Obsolescent Interfaces
chroot() is to be obsoleted at a future date.
SEE ALSO
chroot(1M), chdir(2), privileges(5).
STANDARDS CONFORMANCE
chroot(): AES, SVID2, SVID3, XPG2, XPG3, XPG4
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1