What's PRoot about ?

PRoot is a user-space implementation of:

  • chroot
  • mount --bind
  • binfmt_misc

This mean that PRoot allows you to:

  • Change the root filesystem of a process.
  • Bind some files to another location in the file system.
  • Transparently execute binaries built for another CPU architecture through QEmu.

PRoot is based on the unprivileged system-call PTrace, making these three features available for unprivileged users.

Use cases

I found some really interesting uses cases of PRoot for a software developer and Linux user that I will describe in future blog posts: