man.bsd.lv manual page server

Manual Page Search Parameters

CHROOT(2) System Calls Manual CHROOT(2)

chrootchange root directory

#include <unistd.h>

int
chroot(const char *dirname);

Dirname is the address of the pathname of a directory, terminated by an ASCII NUL. () 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 () has no effect on the process's current directory.

This call is restricted to the super-user.

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

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

[]
A component of the path name is not a directory.
[]
The pathname contains a character with the high-order bit set.
[]
A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
[]
The named directory does not exist.
[]
Search permission is denied for any component of the path name.
[]
Too many symbolic links were encountered in translating the pathname.
[]
Path points outside the process's allocated address space.
[]
An I/O error occurred while reading from or writing to the file system.

chdir(2)

The chroot function call appeared in 4.2BSD.

BSD 4.2 June 4, 1993 CHROOT(2)