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 be‐
       ginning 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 di‐
       rectory  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.


USAGE
       These functions do not provide a strong security boundary; programs can
       easily escape the new root. In addition, configuring a proper root area
       is complex, and the result requires ongoing manual maintenance, and the
       system  provides little assistance. To provide more secure isolation on
       Oracle Solaris, with simpler and more powerful configuration, and  sup‐
       port,  the  use of zones(7) is recommended in preference to chroot() or
       fchroot().

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface  StabilityCommitted  _  StandardSee  stan‐
       dards(7).


SEE ALSO
       chdir(2), privileges(7), zones(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               30 Jan 2023                        chroot(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3