约 3598 字

约 18 分钟

#Bash 的 chroot 命令

chroot [OPTION] NEWROOT [COMMAND [ARG]...]

功能

执行命令时指定根路径。

类型

可执行文件(/usr/sbin/chroot),属于 coreutils。

参数

  • OPTION 选项:
    • --groups=G_LIST - 以列表(g1,g2,...,gn)的格式补充组
    • --userspec=USER:GROUP - 指定用户和组
    • --skip-chdir - 不更改工作目录
    • --help - 显示帮助
    • --version - 显示版本
  • NEWROOT 要作为根路径的路径
  • COMMAND 要执行的命令;如果不指定此参数,则切换后运行当前 shell 程序
  • ARG 命令的参数列表

返回值

  • 125 - chroot 自身失败
  • 126 - COMMAND 无法运行
  • 127 - COMMAND 不存在
  • 其它情况返回 COMMAND 的返回值

#示例

$ ls /tmp/                                          # 查看 /tmp 目录
tmp.XG4RL3jbgF  tmp.Urtrw97emL  tmp.M8ln2SXW4p
$ mkdir -p ./fake_root/tmp                          # 创建目录
$ touch ./fake_root/tmp/1.txt                       # 创建文件
$ wget https://busybox.net/downloads/binaries/1.35.0-x86_64-linux-musl/busybox -O ./fake_root/busybox
$ sudo chroot ./fake_root/ ./busybox ls /tmp/       # 指定 ./fake_root/ 为根目录,查看 /tmp 目录
1.txt

#相关命令

命令说明
pivot_root切换根文件系统(可恢复)
switch_root切换根文件系统(不可恢复)

#推荐阅读

#手册

更新: 2026/3/18

作者: PlanC

创建: 2025/12/6