Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
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 ‘/’. |
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. |
chdir(2) |