|
chroot − change root directory |
|
#include <unistd.h> int chroot(const char *path); |
|
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 ‘/’. In particular, the super-user can escape from a ‘chroot jail’ by doing ‘mkdir foo; chroot foo; cd ..’. |
|
On success, zero is returned. On error, −1 is returned, and errno is set appropriately. |
|
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. |
|
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. |
|
FreeBSD has a stronger jail() system call. |
|
chdir(2) |
....................................................................................................................................
About ~
Privacy Statement ~
Terms of Use ~
~
All Linux-Documentation.com