commit | 0bacbf8a35a2788fef8f6ca467eabe2cdc9c70a7 | [log] [tgz] |
---|---|---|
author | Luis Hector Chavez <lhchavez@google.com> | Tue Jul 10 20:06:55 2018 -0700 |
committer | Luis Hector Chavez <lhchavez@google.com> | Wed Jul 11 10:23:26 2018 -0700 |
tree | ab172d01bb0b95fa2ae6b556cbb89262c45847a6 | |
parent | 6bdebb0e92a9668da28130ae5aad3a7eaefb8299 [diff] |
minijail: Copy the mount flags from source when bind-mounting This change makes all bindmounts copy the mount flags from the source path if a remount is issued. It also fixes a bug where ro mounts could never become rw. Bug: 111325710 Test: make tests Test: Repro scenario in https://crbug.com/862171 Change-Id: Ia87ea2933f1ab1b8a9fd2efd6f832c51a5a8f7a2
The Minijail homepage & 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