CHROOT man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

CHROOT(2)							     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 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.

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

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

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

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

				 Jan 20, 2003			     CHROOT(2)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net