commit | cc5917c757d80e36cacf8b9ceb52617c33911b33 | [log] [tgz] |
---|---|---|
author | Mike Frysinger <[email protected]> | Mon Feb 03 12:34:14 2020 -0500 |
committer | Treehugger Robot <[email protected]> | Thu Feb 06 00:53:30 2020 +0000 |
tree | fc80a999c3ca5014a36190f7804c5cf3e4ac6770 | |
parent | 0a0514ca8e054b0d6bb0c9aa5f8d9a2f419225b6 [diff] |
minijail0: add minimalistic-mountns-nodev profile We have a decent number of situations where people want access to some /dev nodes, but are unable to bind specific nodes/dirs because the names are dynamic/flexible, or are hotplugged (and mignt not exist at startup). The current solution for them is to copy the full command line that minimalistic-mountns uses but drop the /dev related settings. Lets create a minimalistic-mountns-nodev profile that is equivalent to minimalistic-mountns but doesn't set up /dev at all. This lets callers -b/dev or do whatever else they like instead. Bug: None Test: `make check` passes Test: `minijail0 --profile=minimalistic-mountns-nodev /bin/ls -l /dev/` works Change-Id: I4b8b2a9e5cfaa84d5911b91bb46349b51c5589a6
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.
See the tools/README.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