aboutsummaryrefslogtreecommitdiffstats
path: root/src/man/firejail-profile.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/man/firejail-profile.txt')
-rw-r--r--src/man/firejail-profile.txt181
1 files changed, 181 insertions, 0 deletions
diff --git a/src/man/firejail-profile.txt b/src/man/firejail-profile.txt
new file mode 100644
index 000000000..46da19ecd
--- /dev/null
+++ b/src/man/firejail-profile.txt
@@ -0,0 +1,181 @@
1.TH man 5 "MONTH YEAR" "VERSION" "firejail profiles man page"
2.SH NAME
3profile \- Profile file syntax for Firejail
4
5.SH USAGE
6.TP
7firejail \-\-profile=filename.profile
8
9.SH DESCRIPTION
10Several Firejail command line configuration options can be passed to the program using
11profile files. Default Firejail profile files are stored in /etc/firejail
12directory and ~/.config/firejail directory.
13
14.SH Scripting
15Include and comment support:
16
17.TP
18\f\include other.profile
19Include other.profile file.
20.TP
21# this is a comment
22
23.SH Filesystem
24These profile entries define a chroot filesystem built on top of the existing
25host filesystem. Each line describes a file element that is removed from
26the filesystem (\fBblacklist\fR), a read-only file or directory (\fBread-only\fR),
27a tmpfs mounted on top of an existing directory (\fBtmpfs\fR),
28or mount-bind a directory or file on top of another directory or file (\fBbind\fR).
29Use \fBprivate\fR to set private mode.
30File globbing is supported, and PATH and HOME directories are searched.
31Examples:
32.TP
33\f\blacklist /usr/bin
34Remove /usr/bin directory.
35.TP
36\f\blacklist /etc/password
37Remove /etc/password file.
38.TP
39\f\read-only /etc/password
40Read-only /etc/password file.
41.TP
42tmpfs /etc
43Mount an empty tmpfs filesystem on top of /etc directory.
44.TP
45bind /root/config/ssh,/etc/ssh
46Mount-bind /root/config/ssh on /etc/ssh.
47.TP
48\f\blacklist /usr/bin/gcc*
49Remove all gcc files in /usr/bin (file globbing).
50.TP
51\f\blacklist ${PATH}/ifconfig
52Remove ifconfig command from the regular path directories.
53.TP
54\f\blacklist ${HOME}/.ssh
55Remove .ssh directory from user home directory.
56.TP
57\f\private
58Mount new /root and /home/user directories in temporary
59filesystems. All modifications are discarded when the sandbox is
60closed.
61.TP
62\f\private directory
63Use directory as user home.
64.TP
65\f\private.keep file,directory
66Build a new user home in a temporary
67filesystem, and copy the files and directories in the list in the
68new home. All modifications are discarded when the sandbox is
69closed.
70.TP
71\f\private-dev
72Create a new /dev directory. Only null, full, zero, tty, pts, ptmx, random, urandom and shm devices are available.
73
74.SH Filters
75\fBcaps\fR and \fBseccomp\fR enable Linux capabilities and seccomp filters. Examples:
76
77.TP
78caps
79Enable default Linux capabilities filter.
80.TP
81caps.drop all
82Blacklist all Linux capabilities.
83.TP
84caps.drop capability,capability,capability
85Blacklist Linux capabilities filter.
86.TP
87caps.drop capability,capability,capability
88Whitelist Linux capabilities filter.
89.TP
90\f\seccomp
91Enable default seccomp filter.
92.TP
93\f\seccomp syscall,syscall,syscall
94Enable seccomp filter and blacklist the system calls in the list on top of default seccomp filter.
95.TP
96\f\seccomp.drop syscall,syscall,syscall
97Enable seccomp filter and blacklist the system calls in the list.
98.TP
99\f\seccomp.keep syscall,syscall,syscall
100Enable seccomp filter and whitelist the system calls in the list.
101
102
103.SH User Namespace
104Use \fBnoroot\fR to enable an user namespace. The namespace has only one user, the current user.
105There is no root account defined in the namespace.
106
107.TP
108noroot
109Enable an user namespace without root user defined.
110
111
112.SH Resource limits
113These profile entries define the limits on system resources (rlimits) for the processes inside the sandbox.
114The limits can be modified inside the sandbox using the regular \fBulimt\fR command. Examples:
115
116.TP
117\f\rlimit-fsize 1024
118Set the maximum file size that can be created by a process to 1024 bytes.
119.TP
120\f\rlimit-nproc 1000
121Set the maximum number of processes that can be created for the real user ID of the calling process to 1000.
122.TP
123\f\rlimit-nofile 500
124Set the maximum number of files that can be opened by a process to 500.
125.TP
126\f\rlimit-sigpending 200
127Set the maximum number of processes that can be created for the real user ID of the calling process to 200.
128
129.SH CPU Affinity
130Set the CPU cores available for this sandbox. Examples:
131
132.TP
133cpu 1,2,3
134Use only CPU cores 0, 1 and 2.
135
136.SH Control Groups
137Place the sandbox in an existing control group specified by the full path of the task file. Example:
138
139.TP
140cgroup /sys/fs/cgroup/g1/tasks
141The sandbox is placed in g1 control group.
142
143.SH User Environment
144
145.TP
146nogroups
147Disable supplementary user groups
148.TP
149shell none
150Run the program directly, without a shell.
151
152.SH Networking
153Networking features available in profile files.
154
155.TP
156netfilter
157If a new network namespace is created, enabled default network filter.
158
159.TP
160netfilter filename
161If a new network namespace is created, enabled the network filter in filename.
162
163.TP
164dns address
165Set a DNS server for the sandbox. Up to three DNS servers can be defined.
166
167
168.SH FILES
169/etc/firejail/filename.profile, $HOME/.config/firejail/filename.profile
170
171.SH LICENSE
172Firejail is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
173.PP
174Homepage: http://firejail.sourceforge.net
175.SH SEE ALSO
176\&\flfirejail\fR\|(1),
177\&\flfiremon\fR\|(1),
178\&\flfirejail-login\fR\|(5)
179
180
181