unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.4BSD-Lite2)
Page:
Section:
Apropos / Subsearch:
optional field

CHROOT(2)                   BSD Programmer's Manual                  CHROOT(2)

NAME
     chroot - change root directory

SYNOPSIS
     #include <&lt;unistd.h>&gt;

     int
     chroot(const char *dirname);

DESCRIPTION
     Dirname is the address of the pathname of a directory, terminated by an
     ASCII NUL.  Chroot() causes dirname to become the root directory, that
     is, the starting point for path searches of pathnames beginning with `/'.

     In order for a directory to become the root directory a process must have
     execute (search) access for that directory.

     It should be noted that chroot() has no effect on the process's current
     directory.

     This call is restricted to the super-user.

RETURN VALUES
     Upon successful completion, a value of 0 is returned.  Otherwise, a value
     of -1 is returned and errno is set to indicate an error.

ERRORS
     Chroot() will fail and the root directory will be unchanged if:

     [ENOTDIR]  A component of the path name is not a directory.

     [EINVAL]   The pathname contains a character with the high-order bit set.

     [ENAMETOOLONG]
                A component of a pathname exceeded 255 characters, or an en-
                tire path name exceeded 1023 characters.

     [ENOENT]   The named directory does not exist.

     [EACCES]   Search permission is denied for any component of the path
                name.

     [ELOOP]    Too many symbolic links were encountered in translating the
                pathname.

     [EFAULT]   Path points outside the process's allocated address space.

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

SEE ALSO
     chdir(2)

HISTORY
     The chroot function call appeared in 4.2BSD.

4.2 Berkeley Distribution        June 4, 1993                                1