PRoot

出自 Arch Linux 中文维基

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內運行,即使程序是為主機系統以外的體系結構編譯的。

安全性[編輯 | 編輯原始碼]

這篇文章的某些內容需要擴充。

原因: Compare security of chroot and PRoot: Are /proc, /sys, and /dev accessible inside a PRoot? Is privilege escalation possible? (在 Talk:PRoot 中討論)

與chroot一樣,PRoot僅提供文件系統級隔離。 PRoot "jail" 中的程序共享相同的內核,硬件,進程空間和網絡子系統。 chroot和PRoot並不是如同虛擬機管理程序或半虛擬化程序的,真正的虛擬化程序替代品。