PRoot (简体中文)

From ArchWiki
翻译状态:本文是 PRoot翻译。上次翻译日期:2019-01-31。如果英文版本有所更改,则您可以帮助同步翻译。

PRoot是一个能在用户空间内运行的程序, 功能类似于chroot, mount --bind和 binfmt_misc , 能让root用户使用备用根目录运行程序, 就像chroot "jail"一样。 PRoot在由于缺少root权限而无法使用chroot的情况下尤其有用。

安装

PRoot可以从prootAUR包安装。 pacstrap可以在运行proot之前用Arch环境初始化目录。

用法

安装完成之后, PRoot不需要root权限。 和chroot一样, 你必须为PRoot提供一个新目录作为新的根目录。 如果没有指定shell程序,PRoot默认将启动/bin/sh。 虚拟文件系统无需手动挂载,PRoot会自动处理这个问题。

proot -r ~/mychroot/

此时,将启动一个shell, / 对应于主机上的 ~/mychroot/ 文件夹。

可以使用 -b 选项明确地绑定变量:

proot -b /bin/bash:/bin/sh

这使得主机的/bin/bash在来宾的/bin/sh处可用

PRoot在内部使用qemu用户模式模拟器来允许程序在PRoot内运行,即使程序是为主机系统以外的体系结构编译的。

安全性

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Compare security of chroot and PRoot: Are /proc, /sys, and /dev accessible inside a PRoot? Is privilege escalation possible? (Discuss in Talk:PRoot (简体中文))

与chroot一样,PRoot仅提供文件系统级隔离。 PRoot "jail" 中的程序共享相同的内核,硬件,进程空间和网络子系统。 chroot和PRoot并不是如同虚拟机管理程序或半虚拟化程序的,真正的虚拟化程序替代品。