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    [Toc]    [Back]
	      path is too long.
       ENOENT The file does not exist.
       ENOMEM Insufficient kernel memory was available.
       ENOTDIR    [Toc]    [Back]
	      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)
Linux 2.0.30			  1997-08-21			     CHROOT(2)
 [ Back ] |