Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for fchroot (opensolaris section 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 work-
       ing directory is unaffected by the chroot() and fchroot() functions.

       The  path  argument  points to a path name naming a directory. The fildes argument to fch-
       root() 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 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
       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 error.

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

       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 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  {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)

All times are GMT -4. The time now is 11:27 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password