table of contents
other versions
- wheezy 3.44-1
- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- testing 4.10-2
- unstable 4.10-2
other sections
CHROOT(2) | Linux Programmer's Manual | CHROOT(2) |
NAME¶
chroot - change root directorySYNOPSIS¶
#include <unistd.h>Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
- Since glibc 2.2.2:
-
_BSD_SOURCE || (_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
-
Before glibc 2.2.2: none -
DESCRIPTION¶
chroot() changes the root directory of the calling process to that specified in path. This directory will be used for pathnames beginning with /. The root directory is inherited by all children of the calling process.mkdir foo; chroot foo; cd ..
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:- EACCES
- Search permission is denied on a component of the path prefix. (See also path_resolution(7).)
- EFAULT
- path points outside your accessible address space.
- EIO
- An I/O error occurred.
- ELOOP
- Too many symbolic links were encountered in resolving path.
- 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.
- EPERM
- The caller has insufficient privilege.
CONFORMING TO¶
SVr4, 4.4BSD, SUSv2 (marked LEGACY). This function is not part of POSIX.1-2001.NOTES¶
A child process created via fork(2) inherits its parent's root directory. The root directory is left unchanged by execve(2).SEE ALSO¶
chdir(2), path_resolution(7)COLOPHON¶
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.2010-09-20 | Linux |