HP-UX Reference (11i v2 07/12) - 2 System Calls (vol 5)
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 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 detection
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
64 Hewlett-Packard Company − 1 − HP-UX 11i Version 2: December 2007 Update