aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/disable-proc.inc82
-rw-r--r--etc/profile-a-l/jumpnbump-menu.profile2
-rw-r--r--etc/profile-m-z/warsow.profile7
-rw-r--r--etc/templates/profile.template1
-rw-r--r--src/firejail/main.c4
-rw-r--r--src/firejail/profile.c5
6 files changed, 98 insertions, 3 deletions
diff --git a/etc/inc/disable-proc.inc b/etc/inc/disable-proc.inc
new file mode 100644
index 000000000..81a8883f3
--- /dev/null
+++ b/etc/inc/disable-proc.inc
@@ -0,0 +1,82 @@
1# This file is overwritten during software install.
2# Persistent customizations should go in a .local file.
3include disable-proc.local
4
5blacklist /proc/acpi
6blacklist /proc/asound
7blacklist /proc/bootconfig
8blacklist /proc/buddyinfo
9blacklist /proc/cgroups
10blacklist /proc/cmdline
11blacklist /proc/config.gz
12blacklist /proc/consoles
13#blacklist /proc/cpuinfo
14blacklist /proc/crypto
15blacklist /proc/devices
16blacklist /proc/diskstats
17blacklist /proc/dma
18#blacklist /proc/driver
19blacklist /proc/dynamic_debug
20blacklist /proc/execdomains
21blacklist /proc/fb
22#blacklist /proc/filesystems
23blacklist /proc/fs
24blacklist /proc/i8k
25blacklist /proc/interrupts
26blacklist /proc/iomem
27blacklist /proc/ioports
28blacklist /proc/irq
29blacklist /proc/kallsyms
30blacklist /proc/kcore
31blacklist /proc/keys
32blacklist /proc/key-users
33blacklist /proc/kmsg
34blacklist /proc/kpagecgroup
35blacklist /proc/kpagecount
36blacklist /proc/kpageflags
37blacklist /proc/latency_stats
38#blacklist /proc/loadavg
39blacklist /proc/locks
40blacklist /proc/mdstat
41#blacklist /proc/meminfo
42blacklist /proc/misc
43#blacklist /proc/modules
44#blacklist /proc/mounts
45blacklist /proc/mtrr
46#blacklist /proc/net
47blacklist /proc/partitions
48blacklist /proc/pressure
49blacklist /proc/sched_debug
50blacklist /proc/schedstat
51blacklist /proc/scsi
52#blacklist /proc/self
53blacklist /proc/slabinfo
54blacklist /proc/softirqs
55blacklist /proc/spl
56#blacklist /proc/stat
57blacklist /proc/swaps
58#blacklist /proc/sys
59blacklist /proc/sysrq-trigger
60blacklist /proc/sysvipc
61#blacklist /proc/thread-self
62blacklist /proc/timer_list
63blacklist /proc/tty
64#blacklist /proc/uptime
65#blacklist /proc/version
66blacklist /proc/version_signature
67blacklist /proc/vmallocinfo
68#blacklist /proc/vmstat
69#blacklist /proc/zoneinfo
70
71blacklist /proc/sys/abi
72blacklist /proc/sys/crypto
73blacklist /proc/sys/debug
74blacklist /proc/sys/dev
75blacklist /proc/sys/fs
76blacklist /proc/sys/net
77blacklist /proc/sys/user
78blacklist /proc/sys/vm
79
80noblacklist /proc/sys/kernel/osrelease
81noblacklist /proc/sys/kernel/yama
82blacklist /proc/sys/*/*
diff --git a/etc/profile-a-l/jumpnbump-menu.profile b/etc/profile-a-l/jumpnbump-menu.profile
index 8d391b90f..59d762f55 100644
--- a/etc/profile-a-l/jumpnbump-menu.profile
+++ b/etc/profile-a-l/jumpnbump-menu.profile
@@ -10,7 +10,7 @@ include jumpnbump-menu.local
10# Allow python (blacklisted by disable-interpreters.inc) 10# Allow python (blacklisted by disable-interpreters.inc)
11include allow-python3.inc 11include allow-python3.inc
12 12
13private-bin jumpnbump-menu,python3* 13private-bin env,jumpnbump-menu,python3*
14 14
15# Redirect 15# Redirect
16include jumpnbump.profile 16include jumpnbump.profile
diff --git a/etc/profile-m-z/warsow.profile b/etc/profile-m-z/warsow.profile
index 5659ec69c..4925e94f7 100644
--- a/etc/profile-m-z/warsow.profile
+++ b/etc/profile-m-z/warsow.profile
@@ -11,6 +11,9 @@ ignore noexec ${HOME}
11noblacklist ${HOME}/.cache/warsow-2.1 11noblacklist ${HOME}/.cache/warsow-2.1
12noblacklist ${HOME}/.local/share/warsow-2.1 12noblacklist ${HOME}/.local/share/warsow-2.1
13 13
14# Allow /bin/sh (blacklisted by disable-shell.inc)
15include allow-bin-sh.inc
16
14include disable-common.inc 17include disable-common.inc
15include disable-devel.inc 18include disable-devel.inc
16include disable-exec.inc 19include disable-exec.inc
@@ -40,13 +43,13 @@ noroot
40notv 43notv
41nou2f 44nou2f
42novideo 45novideo
43protocol unix,inet,inet6 46protocol unix,inet,inet6,netlink
44seccomp 47seccomp
45shell none 48shell none
46tracelog 49tracelog
47 50
48disable-mnt 51disable-mnt
49private-bin warsow 52private-bin basename,bash,dirname,sed,sh,uname,warsow
50private-cache 53private-cache
51private-dev 54private-dev
52private-tmp 55private-tmp
diff --git a/etc/templates/profile.template b/etc/templates/profile.template
index 7628313e0..44197b547 100644
--- a/etc/templates/profile.template
+++ b/etc/templates/profile.template
@@ -116,6 +116,7 @@ include globals.local
116#include disable-devel.inc 116#include disable-devel.inc
117#include disable-exec.inc 117#include disable-exec.inc
118#include disable-interpreters.inc 118#include disable-interpreters.inc
119#include disable-proc.inc
119#include disable-programs.inc 120#include disable-programs.inc
120#include disable-shell.inc 121#include disable-shell.inc
121#include disable-write-mnt.inc 122#include disable-write-mnt.inc
diff --git a/src/firejail/main.c b/src/firejail/main.c
index c5b3d5739..1ba70b0bd 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -2156,6 +2156,10 @@ int main(int argc, char **argv, char **envp) {
2156 arg_novideo = 1; 2156 arg_novideo = 1;
2157 else if (strcmp(argv[i], "--no3d") == 0) 2157 else if (strcmp(argv[i], "--no3d") == 0)
2158 arg_no3d = 1; 2158 arg_no3d = 1;
2159 else if (strcmp(argv[i], "--noprinters") == 0) {
2160 profile_add("blacklist /dev/lp*");
2161 profile_add("blacklist /run/cups/cups.sock");
2162 }
2159 else if (strcmp(argv[i], "--notv") == 0) 2163 else if (strcmp(argv[i], "--notv") == 0)
2160 arg_notv = 1; 2164 arg_notv = 1;
2161 else if (strcmp(argv[i], "--nodvd") == 0) 2165 else if (strcmp(argv[i], "--nodvd") == 0)
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index 9d92b6199..babc3941e 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -449,6 +449,11 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
449 arg_no3d = 1; 449 arg_no3d = 1;
450 return 0; 450 return 0;
451 } 451 }
452 else if (strcmp(ptr, "noprinters") == 0) {
453 profile_add("blacklist /dev/lp*");
454 profile_add("blacklist /run/cups/cups.sock");
455 return 0;
456 }
452 else if (strcmp(ptr, "noinput") == 0) { 457 else if (strcmp(ptr, "noinput") == 0) {
453 arg_noinput = 1; 458 arg_noinput = 1;
454 return 0; 459 return 0;