Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

chroot(2) [bsd man page]

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
Man Page

13 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Message trying to list contents of directory

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)
Discussion started by: sallender
1 Replies

2. UNIX for Dummies Questions & Answers

How to get the path of a file in UNIX?

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)
Discussion started by: smr_rashmy
14 Replies

3. UNIX for Dummies Questions & Answers

finding pathname for directory

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)
Discussion started by: shomila_a
3 Replies

4. UNIX for Dummies Questions & Answers

how to find a path within unix root directory

I need to know whether nyfile/mypath exists on the file system in the root directory. How to do this (1 Reply)
Discussion started by: ramky79
1 Replies

5. UNIX for Dummies Questions & Answers

Get directory address

what is the command that print the full address of the directory that im in it? (1 Reply)
Discussion started by: nirnir26
1 Replies

6. UNIX for Advanced & Expert Users

Damaged root directory ..

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)
Discussion started by: SISQUEZ
3 Replies

7. Shell Programming and Scripting

How do I get an ls -l to not show the full directory path?

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)
Discussion started by: unity04
3 Replies

8. Solaris

Access Denied

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)
Discussion started by: Sricharan21
20 Replies

9. UNIX for Dummies Questions & Answers

Duplicated file names with home directory symbol appearing in ls .

Why are there duplicated file names listed when I execute ls ? Result of my ls /root/Desktop : aaa ca new file~ what what~ Thanks. (4 Replies)
Discussion started by: Hijanoqu
4 Replies

10. Shell Programming and Scripting

How to search for a directory with if clause?

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)
Discussion started by: Pramod_009
1 Replies

11. UNIX for Dummies Questions & Answers

Read Only user in Vsftpd

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)
Discussion started by: treds
1 Replies

12. UNIX for Beginners Questions & Answers

Why does a fakechroot exist?

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)
Discussion started by: sreyan32
7 Replies

13. UNIX for Advanced & Expert Users

Stop root from writing to directory

Is there a way to stop root from writing to a directory? I already tried chattr but that did not seem to work. chattr +i directory (12 Replies)
Discussion started by: cokedude
12 Replies