chroot - change root directory


SYNOPSIS

       #include <unistd.h>

       int chroot(const char *path);


DESCRIPTION

       chroot  changes  the  root  directory to that specified in
       path.  This directory will be used for path  names  begin­
       ning with /.  The root directory is inherited by all chil­
       dren 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
       `/'.


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:


       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 resolv­
              ing path.

       EIO    An I/O error occurred.


CONFORMING TO

       SVr4,  SVID, 4.4BSD, X/OPEN.  This function is not part of
       ENOMEM or EFAULT  error  conditions.   This  interface  is
       marked as legacy by X/OPEN.


SEE ALSO

       chdir(2)