chroot(2) 맨 페이지 - 윈디하나의 솔라나라


맨 페이지 이름


chroot(2)                        System Calls                        chroot(2)

       chroot, fchroot - change root directory

       #include <unistd.h>

       int chroot(const char *path);

       int fchroot(int fildes);

       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 {PRIV_PROC_CHROOT} must be asserted in the effective  set
       of  the process to change the root directory. While it is always possi‐
       ble 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 out‐
       side the subtree rooted at the root directory. Instead,  fchroot()  can
       be  used  to  reset  the root to a directory that was opened before the
       root directory was changed.

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

       The chroot() function will fail if:

       EACCES          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.

       EBADF           The descriptor is not valid.

       EFAULT          The path argument points to an illegal address.

       EINVAL          The fchroot() function attempted to change to a  direc‐
                       tory  the  is  not the system root and external circum‐
                       stances 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.

       ELOOP           Too many symbolic links were encountered in translating

       ENAMETOOLONG    The  length  of  the path argument exceeds PATH_MAX, or
                       the length of a path component exceeds  NAME_MAX  while
                       _POSIX_NO_TRUNC is in effect.

       ENOENT          The  named  directory does not exist or is a null path‐

       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 {PRIV_PROC_CHROOT} privilege is not asserted in the
                       effective set of the calling process.

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

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

SunOS 5.11                        20 Jan 2003                        chroot(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.