MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Calls                                            chroot(2)



NAME
     chroot, fchroot - change root directory

SYNOPSIS
     #include 

     int chroot(const char *path);


     int fchroot(int fildes);


DESCRIPTION
     The chroot() and  fchroot() functions cause a  directory  to
     become  the  root  directory,  the  starting  point for path
     searches for path names beginning with / (slash). The user's
     working   directory   is  unaffected  by  the  chroot()  and
     fchroot() functions.


     The path argument points to a path name naming a  directory.
     The fildes argument to fchroot() is the open file descriptor
     of the directory which is to become the root.


     The privilege {PRIVPROCHROT} must  be  asserted  in  the
     effective  set  of the process to change the root directory.
     While it is always possible to change  to  the  system  root
     using  the  fchroot()  function,  it  is  not  guaranteed to
     succeed in any other case, even if fildes is  valid  in  all
     respects.


     The ".." entry in the root directory is interpreted to  mean
     the root directory itself. Therefore, ".." cannot be used to
     access files outside the subtree rooted at the  root  direc-
     tory.  Instead, fchroot() can be used to reset the root to a
     directory that was opened  before  the  root  directory  was
     changed.

RETURN VALUES
     Upon successful completion, 0 is returned. Otherwise, -1  is
     returned, the root directory remains unchanged, and errno is
     set to indicate the error.

ERORS
     The chroot() function will fail if:

     EACES          Search permission is denied for a  component
                     of  the  path  prefix  of dirname, or search
                     permission  is  denied  for  the   directory
                     referred to by dirname.



SunOS 5.11          Last change: 20 Jan 2003                    1






System Calls                                            chroot(2)



     EBADF           The descriptor is not valid.


     EFAULT          The  path  argument  points  to  an  illegal
                     address.


     EINVAL          The fchroot() function attempted  to  change
                     to  a  directory  the is not the system root
                     and  external  circumstances  do  not  allow
                     this.


     EINTR           A signal was caught during the execution  of
                     the chroot() function.


     EIO             An I/O error occurred while reading from  or
                     writing to the file system.


     ELOP           Too many symbolic links were encountered  in
                     translating path.


     ENAMETOLONG    The length  of  the  path  argument  exceeds
                     PATHMAX,  or the length of a path component
                     exceeds NAMEMAX while POSIXNOTRUNC is in
                     effect.


     ENOENT          The named directory does not exist or  is  a
                     null pathname.


     ENOLINK         The path argument points to a remote machine
                     and  the  link  to that machine is no longer
                     active.


     ENOTDIR         Any component of the  path  name  is  not  a
                     directory.


     EPERM           The  {PRIVPROCHROT}  privilege  is   not
                     asserted in the effective set of the calling
                     process.


SEE ALSO
     chroot(1M), chdir(2), privileges(5)




SunOS 5.11          Last change: 20 Jan 2003                    2






System Calls                                            chroot(2)



WARNINGS
     The only use of fchroot() that is appropriate is  to  change
     back to the system root.




















































SunOS 5.11          Last change: 20 Jan 2003                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™