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

개요

섹션
맨 페이지 이름
검색(S)

chroot(2)

chroot(2)                        System Calls                        chroot(2)



NAME
       chroot, fchroot - change root directory

SYNOPSIS
       #include <unistd.h>

       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 privilege {PRIV_PROC_CHROOT} must be asserted in the effective  set
       of the process to change the root directory. See privileges(7).


       The  path argument to chroot() points to a path name naming a directory
       which is to become the root.


       The fildes argument to fchroot() is the open  file  descriptor  of  the
       directory  which  is to become the root. While it is always possible to
       change the root directory back 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.

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.

ERRORS
       The chroot() function will fail if:

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


       EFAULT          The path argument points to an illegal address.


       ELOOP           Too many symbolic links were encountered in translating
                       path.


       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‐
                       name.


       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.



       The fchroot() function will fail if:

       EBADF     The descriptor is not valid.


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



       The chroot() and fchroot() functions will fail if:

       EINTR    A signal was caught during the execution of the function.


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


       EPERM    The {PRIV_PROC_CHROOT} privilege is not asserted in the effec‐
                tive set of the calling process.


SEE ALSO
       chdir(2), privileges(7), chroot(8)

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

HISTORY
       The chroot() and fchroot() functions have been included in all Sun  and
       Oracle releases of Solaris.



Oracle Solaris 11.4               17 Sep 2020                        chroot(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3