The term chroot refers to creating a virtualized environment in a Unix operating system, separating it from the main operating system and directory structure. This process generates a confined space with its own root directory to run programs. This virtual environment runs separately from the main operating system's root directory. Any 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 Unix version 7 in 1979. It was later added to BSD (Berkeley Software Distribution) on March 18, 1982. Computer programmers can use a chroot virtual environment to develop and test programs, especially if doing so on a production system is too risky. They can also use a chroot virtual environment to run 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 (portable operating system interface for Unix) systems for their FTP (file transfer protocol) servers to isolate untrusted FTP clients.