aboutsummaryrefslogtreecommitdiffstats
path: root/etc/profile-a-l
diff options
context:
space:
mode:
authorLibravatar rusty-snake <41237666+rusty-snake@users.noreply.github.com>2021-09-08 23:21:07 +0200
committerLibravatar rusty-snake <41237666+rusty-snake@users.noreply.github.com>2021-09-08 23:21:07 +0200
commitd452e45a9196aa2f4d34706fcfb7907707a19ff9 (patch)
tree1bc43ac88064e688a32e580a8e4512837f685733 /etc/profile-a-l
parentFix #4509 -- Nextcloud profile broken - needs 3D and system tray access (diff)
downloadfirejail-d452e45a9196aa2f4d34706fcfb7907707a19ff9.tar.gz
firejail-d452e45a9196aa2f4d34706fcfb7907707a19ff9.tar.zst
firejail-d452e45a9196aa2f4d34706fcfb7907707a19ff9.zip
Add profiles for build-systems (/package-managers)
Profiles: bunler, cargo (refactor), cmake (untested), make, meson, pip All redirect to build-systems-common.profile Other fixes: - blacklist ${HOME}/.bundle - blacklist ${HOME}/.cargo/* -> blacklist ${HOME}/.cargo - blacklist /usr/lib64/ruby
Diffstat (limited to 'etc/profile-a-l')
-rw-r--r--etc/profile-a-l/build-systems-common.profile65
-rw-r--r--etc/profile-a-l/bundle.profile24
-rw-r--r--etc/profile-a-l/cargo.profile61
-rw-r--r--etc/profile-a-l/cmake.profile15
4 files changed, 111 insertions, 54 deletions
diff --git a/etc/profile-a-l/build-systems-common.profile b/etc/profile-a-l/build-systems-common.profile
new file mode 100644
index 000000000..159593eb7
--- /dev/null
+++ b/etc/profile-a-l/build-systems-common.profile
@@ -0,0 +1,65 @@
1# Firejail profile for build-systems-common
2# This file is overwritten after every install/update
3# Persistent local customizations
4include build-systems-common.local
5# Persistent global definitions
6# added by caller profile
7#include globals.local
8
9ignore noexec ${HOME}
10ignore noexec /tmp
11
12# Allow /bin/sh (blacklisted by disable-shell.inc)
13include allow-bin-sh.inc
14
15# Allows files commonly used by IDEs
16include allow-common-devel.inc
17
18# Allow ssh (blacklisted by disable-common.inc)
19#include allow-ssh.inc
20
21blacklist ${RUNUSER}
22
23include disable-common.inc
24include disable-exec.inc
25include disable-interpreters.inc
26include disable-programs.inc
27include disable-shell.inc
28include disable-X11.inc
29include disable-xdg.inc
30
31whitelist ${HOME}/Projects
32whitelist /usr/share/pkgconfig
33include whitelist-common.inc
34include whitelist-run-common.inc
35include whitelist-usr-share-common.inc
36include whitelist-var-common.inc
37
38caps.drop all
39ipc-namespace
40machine-id
41# net none
42netfilter
43no3d
44nodvd
45nogroups
46noinput
47nonewprivs
48noroot
49nosound
50notv
51nou2f
52novideo
53protocol unix,inet,inet6
54seccomp
55seccomp.block-secondary
56shell none
57tracelog
58
59disable-mnt
60private-cache
61private-dev
62private-tmp
63
64dbus-user none
65dbus-system none
diff --git a/etc/profile-a-l/bundle.profile b/etc/profile-a-l/bundle.profile
new file mode 100644
index 000000000..269bfd130
--- /dev/null
+++ b/etc/profile-a-l/bundle.profile
@@ -0,0 +1,24 @@
1# Firejail profile for bundle
2# Description: Ruby Dependency Management
3# This file is overwritten after every install/update
4quiet
5# Persistent local customizations
6include bundle.local
7# Persistent global definitions
8include globals.local
9
10noblacklist ${HOME}/.bundle
11
12# Allow ruby (blacklisted by disable-interpreters.inc)
13include allow-ruby.inc
14
15mkdir ${HOME}/.bundle
16whitelist ${HOME}/.bundle
17whitelist /usr/share/gems
18whitelist /usr/share/ruby
19whitelist /usr/share/rubygems
20
21private-bin bundle,bundler,ruby,ruby-mri
22
23# Redirect
24include build-systems-common.profile
diff --git a/etc/profile-a-l/cargo.profile b/etc/profile-a-l/cargo.profile
index ff46cd429..af188e7f9 100644
--- a/etc/profile-a-l/cargo.profile
+++ b/etc/profile-a-l/cargo.profile
@@ -7,66 +7,19 @@ include cargo.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10ignore noexec ${HOME} 10ignore read-only ${HOME}/.cargo/bin
11ignore noexec /tmp
12
13blacklist /tmp/.X11-unix
14blacklist ${RUNUSER}
15 11
16noblacklist ${HOME}/.cargo/credentials 12noblacklist ${HOME}/.cargo/credentials
17noblacklist ${HOME}/.cargo/credentials.toml 13noblacklist ${HOME}/.cargo/credentials.toml
18 14
19# Allows files commonly used by IDEs 15mkdir ${HOME}/.cargo
20include allow-common-devel.inc 16whitelist ${HOME}/.cargo
21 17whitelist ${HOME}/.rustup
22# Allow ssh (blacklisted by disable-common.inc)
23#include allow-ssh.inc
24
25include disable-common.inc
26include disable-exec.inc
27include disable-interpreters.inc
28include disable-programs.inc
29include disable-xdg.inc
30
31#mkdir ${HOME}/.cargo
32#whitelist ${HOME}/YOUR_CARGO_PROJECTS
33#whitelist ${HOME}/.cargo
34#whitelist ${HOME}/.rustup
35#include whitelist-common.inc
36whitelist /usr/share/pkgconfig
37include whitelist-runuser-common.inc
38include whitelist-usr-share-common.inc
39include whitelist-var-common.inc
40 18
41caps.drop all
42ipc-namespace
43machine-id
44netfilter
45no3d
46nodvd
47nogroups
48noinput
49nonewprivs
50noroot
51nosound
52notv
53nou2f
54novideo
55protocol unix,inet,inet6
56seccomp
57seccomp.block-secondary
58shell none
59tracelog
60
61disable-mnt
62#private-bin cargo,rustc 19#private-bin cargo,rustc
63private-cache
64private-dev
65private-etc alternatives,ca-certificates,crypto-policies,group,host.conf,hostname,hosts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,magic,magic.mgc,nsswitch.conf,passwd,pki,protocols,resolv.conf,rpc,services,ssl 20private-etc alternatives,ca-certificates,crypto-policies,group,host.conf,hostname,hosts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,magic,magic.mgc,nsswitch.conf,passwd,pki,protocols,resolv.conf,rpc,services,ssl
66private-tmp
67
68dbus-user none
69dbus-system none
70 21
71memory-deny-write-execute 22memory-deny-write-execute
72read-write ${HOME}/.cargo/bin 23
24# Redirect
25include build-systems-common.profile
diff --git a/etc/profile-a-l/cmake.profile b/etc/profile-a-l/cmake.profile
new file mode 100644
index 000000000..1fb893f86
--- /dev/null
+++ b/etc/profile-a-l/cmake.profile
@@ -0,0 +1,15 @@
1# Firejail profile for cargo
2# Description: The Rust package manager
3# This file is overwritten after every install/update
4quiet
5# Persistent local customizations
6include cargo.local
7# Persistent global definitions
8include globals.local
9
10private-bin cmake
11
12memory-deny-write-execute
13
14# Redirect
15include build-systems-common.profile