CHROOT(2) System Calls Manual CHROOT(2)NAME
chroot - change root directory
SYNOPSIS
chroot(dirname)
char *dirname;
DESCRIPTION
Dirname is the address of the pathname of a directory, terminated by a null byte. Chroot causes this directory to become the root direc-
tory, the starting point for path names beginning with ``/''.
In order for a directory to become the root directory a process must have execute (search) access to the directory.
This call is restricted to the super-user.
RETURN VALUE
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 one or more of the following are true:
[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 entire 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)4.2 Berkeley Distribution August 26, 1985 CHROOT(2)
Check Out this Related Man Page
CHROOT(2) BSD System Calls 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 cur-
rent 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] 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)WARNINGS
There are ways for a root process to escape from the chroot jail.
HISTORY
The chroot() function call appeared in 4.2BSD.
4.2 Berkeley Distribution June 4, 1993 4.2 Berkeley Distribution
I'm getting this return whenever I try to do anything on a directory
root# ls -al /directory
ls: .: Value too large to be stored in data type.
total 0
I can change directory down two levels but can not list contents of the root of this directory. ANy one seen this? (1 Reply)
Hi Frindz,
I want to get the entire path of a file.
I am in root directory and i know the file name, However dont know the path where it is.
Please tell me the command to get the entire path for the file?
Thanks in advance,
Rashmy. (14 Replies)
Hi
Could someone help me?
I'm not sure how to find the full pathname of a directory.
I just want to be able to specify a directory.
e.g
directory1/directory2/directory3/directory4/directory5
I want to be able to put in "directory5"
and then i want a return of the full address.
... (3 Replies)
With the cpio command of a Unix File System for error I have replaced the directory ..
(when you give the command ls -la under root you see at the beginning the hidden directory . followed by a hidden file who is called .. )
I have the copy on a cartridge of the whole file system, but... (3 Replies)
Hey
I'm new to the forums here, and I'm seeking help for this script that I'm writing. When I do ls -l of a directory it shows the full pathname for files in it. For example, if the directory is /internet/post/forum/ and the file is topic, it currently shows internet/post/forum/topic. What's the... (3 Replies)
Hi All,
I have a root access for one of the server. But, when i try to cd one particular directory i will get the access denied message. Even though that particular directory is created under root. What would be the cause for this? I really wonder if any one have answer for my... (20 Replies)
Hello All,
I want to do a conditional search for a directory, i.e
pathname=/abc/def
foldername=xyz
if ( $pathname/$foldername/aaa )
then
..................
fi
Here i am searching for aaa directory inside the path and if it exist then it should go inside the loop.
Can... (1 Reply)
HI
I have set up vsftp on my Red hat server.
Chroot has been set up to control access to each user and folder directories.
This all works fine.
But i have one directory where i want to chroot but ensure that the ftp access is read only.
Any help appreciated
thanks
Treds (1 Reply)
I am really confused as to why a tool like fakechroot exists and what does it do.
Chroot is an ability only for root users, correct? Then a tool that allows to bypass that is clearly a security flaw, correct?
When and why would you need something like this?
Is there any relation between... (7 Replies)