The term chroot refers to a process of creating a virtualized environment in a Unix operating system, separating it from the main operating system and directory structure. This process essentially generates a confined space, with its own root directory, to run software programs. This virtual environment runs separately from the main operating system's root directory. Any software program run in this environment can only access files in its own directory tree. It cannot access files outside of that directory tree. This confined virtual environment is often called a "chroot jail".
Chroot was first utilized in the development of Unix version 7 in 1979. It was later added to BSD on March 18, 1982. Computer programmers can use a chroot virtual environment to develop and test software programs, especially if doing so on a production system is too risky. They can also use a chroot virtual environment to run software programs having compatibility issues with the computer's operating system. They can set up the software in the virtual environment, and the supported libraries and files needed to run the software. Chroot is also used by POSIX systems for their FTP servers, to isolate untrusted FTP clients.