commit | 27c582360c128cac66cf217e86db9de9a1c3f1b0 | [log] [tgz] |
---|---|---|
author | Stephen Barber <[email protected]> | Mon Dec 09 17:20:28 2019 -0800 |
committer | Stephen Barber <[email protected]> | Thu Dec 12 15:25:48 2019 -0800 |
tree | 2ee7f7ea8ef56baafc5792d510313a8e40db1e16 | |
parent | 946198470b2d4ed77bd96910de781f64a3b9b2d5 [diff] |
Build minijail as rust crate minijail isn't packaged for normal Linux systems. Package it as a crate so it can be built into the crosvm binary when minijail isn't available via pkg-config. BUG=chromium:1032360 TEST=cargo build Change-Id: I7939d02399b28fe55fcd53fddec246e6129b4181
The Minijail homepage and main repo is https://android.googlesource.com/platform/external/minijail/.
There might be other copies floating around, but this is the official one!
Minijail is a sandboxing and containment tool used in Chrome OS and Android. It provides an executable that can be used to launch and sandbox other programs, and a library that can be used by code to sandbox itself.
You're one git clone
away from happiness.
$ git clone https://android.googlesource.com/platform/external/minijail $ cd minijail
Releases are tagged as linux-vXX
: https://android.googlesource.com/platform/external/minijail/+refs
See the HACKING.md document for more details.
See the RELEASE.md document for more details.
We've got a couple of contact points.
The following talk serves as a good introduction to Minijail and how it can be used.
The Chromium OS project has a comprehensive sandboxing document that is largely based on Minijail.
After you play with the simple examples below, you should check that out.
# id uid=0(root) gid=0(root) groups=0(root),128(pkcs11) # minijail0 -u jorgelo -g 5000 /usr/bin/id uid=72178(jorgelo) gid=5000(eng) groups=5000(eng)
# minijail0 -u jorgelo -c 3000 -- /bin/cat /proc/self/status Name: cat ... CapInh: 0000000000003000 CapPrm: 0000000000003000 CapEff: 0000000000003000 CapBnd: 0000000000003000