blob: 72f569ce56e3a193eb0eceb003d0aa324b87d50a [file] [log] [blame]
Elly Jonescd7a9042011-07-22 13:56:51 -04001.TH MINIJAIL0 "1" "July 2011" "Chromium OS" "User Commands"
2.SH NAME
3minijail0 \- sandbox a process
4.SH SYNOPSIS
5.B minijail0
6[\fIOPTION\fR]... <\fIprogram\fR> [\fIargs\fR]...
7.SH DESCRIPTION
8.PP
9Runs PROGRAM inside a sandbox.
10.TP
Elly Jones51a5b6c2011-10-12 19:09:26 -040011\fB-b <src>,<dest>[,<writeable>]
12Bind-mount <src> into the chroot directory at <dest>, optionally writeable.
13.TP
Elly Jonescd7a9042011-07-22 13:56:51 -040014\fB-c <caps>\fR
15Restrict capabilities to \fIcaps\fR. When used in conjunction with \fB-u\fR and
Elly Jones51a5b6c2011-10-12 19:09:26 -040016.TP
17\fB-C <dir>\fR
18Change root (using chroot(2)) to <dir>.
19.TP
Elly Jonescd7a9042011-07-22 13:56:51 -040020\fB-g\fR, this allows a program to have access to only certain parts of root's
21default privileges while running as another user and group ID altogether. Note
22that these capabilities are not inherited by subprocesses of the process given
23capabilities unless those subprocesses have POSIX file capabilities. See
24\fBcapabilities\fR(7).
25.TP
26\fB-G\fR
27Inherit all the supplementary groups of the user specified with \fB-u\fR. It
28is an error to use this option without having specified a \fBuser name\fR to
29\fB-u\fR.
30.TP
31\fB-g <group>\fR
32Change groups to \fIgroup\fR, which may be either a group name or a numeric
33group ID.
34.TP
35\fB-h\fR
36Print a help message.
37.TP
Will Drewry32ac9f52011-08-18 21:36:27 -050038\fB-H\fR
39Print a help message detailing supported system call names for seccomp_filter.
40(Other direct numbers may be specified if minijail0 is not in sync with the
41 host kernel or something like 32/64-bit compatibility issues exist.)
42.TP
Elly Jonescd7a9042011-07-22 13:56:51 -040043\fB-p\fR
44Run inside a new PID namespace. This option will make it impossible for the
45program to see or affect processes that are not its descendants.
46.TP
47\fB-r\fR
48Remount certain filesystems readonly. Currently this only remounts /proc. This
49implies \fB-v\fR. Remounting /proc readonly means that even if the process has
50write access to a system config knob in /proc (e.g., in /sys/kernel), it cannot
51change the value.
52.TP
53\fB-s\fR
54Enable seccomp(2) in mode 1, which restricts the child process to a very small
Will Drewry32ac9f52011-08-18 21:36:27 -050055set of system calls.
56.TP
57\fB-S <arch-specific seccomp_filter policy file>\fR
58Enable seccomp(2) in mode 13 which restricts the child process to a set of
59system calls defined in the policy file. Note that system calls often change
60names based on the architecture or mode. (uname -m is your friend.)
Elly Jonescd7a9042011-07-22 13:56:51 -040061.TP
62\fB-u <user>\fR
63Change users to \fIuser\fR, which may be either a user name or a numeric user
64ID.
65.TP
66\fB-v\fR
67Run inside a new VFS namespace. This option makes the program's mountpoints
68independent of the rest of the system's.
69.SH IMPLEMENTATION
70This program is broken up into two parts: \fBminijail0\fR (the frontend) and a helper
71library called \fBlibminijailpreload\fR. Some jailings can only be achieved from
72the process to which they will actually apply - specifically capability use
73(since capabilities are not inherited to an exec'd process unless the exec'd
74process has POSIX file capabilities), seccomp (since we can't exec() once we're
75seccomp'd), and ptrace-disable (which is always cleared on exec().
76
77To this end, \fBlibminijailpreload\fR is forcibly loaded into all
78dynamically-linked target programs if any of these restrictions are in effect;
79we pass the specific restrictions in an environment variable which the preloaded
80library looks for. The forcibly-loaded library then applies the restrictions
81to the newly-loaded program.
82.SH AUTHOR
83Written by Elly Jones (ellyjones@chromium.org)
84.SH COPYRIGHT
85Copyright \(co 2011 The Chromium OS Authors
86License BSD-like.
87.SH "SEE ALSO"
Will Drewry32ac9f52011-08-18 21:36:27 -050088\fBlibminijail.h\fR \fBminijail0(5)\fR