HPlogo HP-UX Reference Volume 3 of 5 > c

chroot(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

chroot — change root directory

SYNOPSIS

#include <unistd.h>

int chroot(const char *path);

DESCRIPTION

chroot() causes the named directory to become the root directory, the starting point for path searches for path names beginning with /. path points to a path name naming a directory. The user's working directory is unaffected by the chroot() system call.

The effective user ID of the process must be a user having appropriate privileges to change the root directory.

The .. entry in the root directory is interpreted to mean the root directory itself. Thus, .. cannot be used to access files outside the subtree rooted at the root directory.

RETURN VALUE

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

ERRORS

chroot() fails and the root directory remains unchanged if one or more of the following is true:

[ENOTDIR]

Any component of the path name is not a directory.

[ENOENT]

The named directory does not exist or a component of the path does not exist.

[EPERM]

The effective user ID is not a user who has appropriate privileges.

[EFAULT]

path points outside the allocated address space of the process. The reliable detection of this error is implementation dependent.

[ENAMETOOLONG]

The length of the specified path name exceeds PATH_MAX bytes, or the length of a component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in effect.

[ELOOP]

Too many symbolic links were encountered in translating the path name.

STANDARDS CONFORMANCE

chroot(): AES, SVID2, SVID3, XPG2, XPG3, XPG4

© Hewlett-Packard Development Company, L.P.