Home
Search all pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
NetBSD
RedHat
Solaris
Others
CHROOT(2) OpenBSD Programmer's Manual CHROOT(2)
NAME
chroot - change root directory
SYNOPSIS
#include <unistd.h>
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.
If the program is not currently running with an altered root directory,
it should be noted that chroot() has no effect on the process's current
directory.
If the program is already running with an altered root directory, the
process's current directory is changed to the same new root directory.
This prevents the current directory from being further up the directory
tree than the altered root 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.
[ENAMETOOLONG]
A component of a pathname exceeded {NAME_MAX} characters,
or an entire path name exceeded {PATH_MAX} 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] dirname 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)
WARNINGS
There are ways for a root process to escape from the chroot jail.
HISTORY
The chroot() function call appeared in 4.2BSD.
OpenBSD 2.6 June 4, 1993 1
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts Institute of Technology, Free Software Foundation, FreeBSD Inc., and others. |
(Corrections, notes, and links courtesy of RocketAware.com)
Up to: Directory Access - Accessing directories of files, browsing, management, et al.
Up to: Process Limits: File Access - Process Limits on File access (permissions, ownership, modes, et al)
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
NetBSD
RedHat
Solaris
Others
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > man pages >
chroot.2/
RocketAware.com is a service of Mib Software Copyright 1999, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|