chroot(8)

chroot8

Change root directory

Usage

chroot [-g group [,group [, ...]]] [-u user] newroot [command]

Overview

The chroot command changes its root directory to the supplied directory newroot and executes command, if supplied, or an interactive copy of the user's shell.

The chroot command is restricted to the superuser.

The options are as follows:

-g group[,group[,...]]

Override the primary and supplemental group IDs. The primary group ID is set to the first group in the list. Any remaining groups are placed in the supplemental group ID vector. Each group listed must exist in the group(5) databases.

-u user

Set user ID to user (which must exist in the passwd(5) database). The primary and supplemental group IDs will be set based on the user's entries in the passwd(5) and group(5) databases unless overridden by the -g option. Additional settings may be applied as specified in login.conf(5) depending on user's login class.

Environment

SHELL

If set, the string specified by SHELL is interpreted as the name of the shell to execute. If the variable SHELL is not set, /bin/sh is used.

Caveats

chroot should never be installed setuid root, as it would then be possible to exploit the program to gain root privileges.

Releases

61 releases since OpenBSD 2.1; the text changed 10 times.

  1. 2.1–2.4
  2. 2.5
  3. 2.6–2.7
  4. 2.8–2.9
  5. 3.0–3.2
  6. 3.3
  7. 3.4–4.1
  8. 4.2–4.7
  9. 4.8–5.7
  10. 5.8
  11. 5.9–8.0

-g since OpenBSD 3.3; -u since OpenBSD 3.3.

History

The chroot utility first appeared in 4.3BSD-Reno.

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's mdoc source.