diff options
-rw-r--r-- | etc/inc/allow-nodejs.inc | 2 | ||||
-rw-r--r-- | etc/profile-a-l/curl.profile | 4 | ||||
-rw-r--r-- | etc/profile-m-z/node-gyp.profile (renamed from etc/profile-m-z/nvm.profile) | 8 | ||||
-rw-r--r-- | etc/profile-m-z/nodejs-common.profile | 12 | ||||
-rw-r--r-- | etc/profile-m-z/npx.profile | 11 | ||||
-rw-r--r-- | etc/profile-m-z/semver.profile | 11 | ||||
-rw-r--r-- | etc/profile-m-z/sha256sum.profile | 3 | ||||
-rw-r--r-- | etc/profile-m-z/tar.profile | 3 | ||||
-rw-r--r-- | etc/profile-m-z/webstorm.profile | 2 | ||||
-rw-r--r-- | etc/profile-m-z/webui-aria2.profile | 1 | ||||
-rw-r--r-- | etc/profile-m-z/wget.profile | 4 |
11 files changed, 53 insertions, 8 deletions
diff --git a/etc/inc/allow-nodejs.inc b/etc/inc/allow-nodejs.inc index 351c94ab8..f69d9eee2 100644 --- a/etc/inc/allow-nodejs.inc +++ b/etc/inc/allow-nodejs.inc | |||
@@ -2,6 +2,8 @@ | |||
2 | # Persistent customizations should go in a .local file. | 2 | # Persistent customizations should go in a .local file. |
3 | include allow-nodejs.local | 3 | include allow-nodejs.local |
4 | 4 | ||
5 | ignore read-only ${HOME}/.nvm | ||
6 | noblacklist ${HOME}/.nvm | ||
5 | noblacklist ${PATH}/node | 7 | noblacklist ${PATH}/node |
6 | noblacklist /usr/include/node | 8 | noblacklist /usr/include/node |
7 | 9 | ||
diff --git a/etc/profile-a-l/curl.profile b/etc/profile-a-l/curl.profile index 448d8b655..7d7863b6a 100644 --- a/etc/profile-a-l/curl.profile +++ b/etc/profile-a-l/curl.profile | |||
@@ -18,6 +18,10 @@ noblacklist ${HOME}/.curlrc | |||
18 | blacklist /tmp/.X11-unix | 18 | blacklist /tmp/.X11-unix |
19 | blacklist ${RUNUSER} | 19 | blacklist ${RUNUSER} |
20 | 20 | ||
21 | # If you use nvm, add the below lines to your curl.local | ||
22 | #ignore read-only ${HOME}/.nvm | ||
23 | #noblacklist ${HOME}/.nvm | ||
24 | |||
21 | include disable-common.inc | 25 | include disable-common.inc |
22 | include disable-exec.inc | 26 | include disable-exec.inc |
23 | include disable-programs.inc | 27 | include disable-programs.inc |
diff --git a/etc/profile-m-z/nvm.profile b/etc/profile-m-z/node-gyp.profile index 80da22834..015607087 100644 --- a/etc/profile-m-z/nvm.profile +++ b/etc/profile-m-z/node-gyp.profile | |||
@@ -1,13 +1,11 @@ | |||
1 | # Firejail profile for nvm | 1 | # Firejail profile for node-gyp |
2 | # Description: Node Version Manager - Simple bash script to manage multiple active node.js versions | 2 | # Description: Part of the Node.js stack |
3 | quiet | 3 | quiet |
4 | # This file is overwritten after every install/update | 4 | # This file is overwritten after every install/update |
5 | # Persistent local customizations | 5 | # Persistent local customizations |
6 | include nvm.local | 6 | include node-gyp.local |
7 | # Persistent global definitions | 7 | # Persistent global definitions |
8 | include globals.local | 8 | include globals.local |
9 | 9 | ||
10 | ignore noroot | ||
11 | |||
12 | # Redirect | 10 | # Redirect |
13 | include nodejs-common.profile | 11 | include nodejs-common.profile |
diff --git a/etc/profile-m-z/nodejs-common.profile b/etc/profile-m-z/nodejs-common.profile index ab69136f6..dd3080ad9 100644 --- a/etc/profile-m-z/nodejs-common.profile +++ b/etc/profile-m-z/nodejs-common.profile | |||
@@ -7,7 +7,14 @@ include nodejs-common.local | |||
7 | # added by caller profile | 7 | # added by caller profile |
8 | #include globals.local | 8 | #include globals.local |
9 | 9 | ||
10 | blacklist /tmp/.X11-unix | 10 | # NOTE: gulp, node-gyp, npm, npx, semver and yarn are all node scripts |
11 | # using the `#!/usr/bin/env node` shebang. By sandboxing node the full | ||
12 | # node.js stack will be firejailed. The only exception is nvm, which is implemented | ||
13 | # as a sourced shell function, not an executable binary. Hence it is not | ||
14 | # directly firejailable. You can work around this by sandboxing the programs | ||
15 | # used by nvm: curl, sha256sum, tar and wget. We have comments in these | ||
16 | # profiles on how to enable nvm support via local overrides. | ||
17 | |||
11 | blacklist ${RUNUSER} | 18 | blacklist ${RUNUSER} |
12 | 19 | ||
13 | ignore read-only ${HOME}/.npm-packages | 20 | ignore read-only ${HOME}/.npm-packages |
@@ -25,13 +32,13 @@ noblacklist ${HOME}/.yarncache | |||
25 | noblacklist ${HOME}/.yarnrc | 32 | noblacklist ${HOME}/.yarnrc |
26 | 33 | ||
27 | ignore noexec ${HOME} | 34 | ignore noexec ${HOME} |
28 | |||
29 | include allow-bin-sh.inc | 35 | include allow-bin-sh.inc |
30 | 36 | ||
31 | include disable-common.inc | 37 | include disable-common.inc |
32 | include disable-exec.inc | 38 | include disable-exec.inc |
33 | include disable-programs.inc | 39 | include disable-programs.inc |
34 | include disable-shell.inc | 40 | include disable-shell.inc |
41 | include disable-X11.inc | ||
35 | include disable-xdg.inc | 42 | include disable-xdg.inc |
36 | 43 | ||
37 | # If you want whitelisting, change ${HOME}/Projects below to your node projects directory | 44 | # If you want whitelisting, change ${HOME}/Projects below to your node projects directory |
@@ -73,6 +80,7 @@ nodvd | |||
73 | nogroups | 80 | nogroups |
74 | noinput | 81 | noinput |
75 | nonewprivs | 82 | nonewprivs |
83 | noprinters | ||
76 | noroot | 84 | noroot |
77 | nosound | 85 | nosound |
78 | notv | 86 | notv |
diff --git a/etc/profile-m-z/npx.profile b/etc/profile-m-z/npx.profile new file mode 100644 index 000000000..6d5602c88 --- /dev/null +++ b/etc/profile-m-z/npx.profile | |||
@@ -0,0 +1,11 @@ | |||
1 | # Firejail profile for npx | ||
2 | # Description: Part of the Node.js stack | ||
3 | quiet | ||
4 | # This file is overwritten after every install/update | ||
5 | # Persistent local customizations | ||
6 | include npx.local | ||
7 | # Persistent global definitions | ||
8 | include globals.local | ||
9 | |||
10 | # Redirect | ||
11 | include nodejs-common.profile | ||
diff --git a/etc/profile-m-z/semver.profile b/etc/profile-m-z/semver.profile new file mode 100644 index 000000000..3e0c19b8b --- /dev/null +++ b/etc/profile-m-z/semver.profile | |||
@@ -0,0 +1,11 @@ | |||
1 | # Firejail profile for semver | ||
2 | # Description: Part of the Node.js stack | ||
3 | quiet | ||
4 | # This file is overwritten after every install/update | ||
5 | # Persistent local customizations | ||
6 | include semver.local | ||
7 | # Persistent global definitions | ||
8 | include globals.local | ||
9 | |||
10 | # Redirect | ||
11 | include nodejs-common.profile | ||
diff --git a/etc/profile-m-z/sha256sum.profile b/etc/profile-m-z/sha256sum.profile index 48944ebea..45ddecd2d 100644 --- a/etc/profile-m-z/sha256sum.profile +++ b/etc/profile-m-z/sha256sum.profile | |||
@@ -7,6 +7,9 @@ include sha256sum.local | |||
7 | # Persistent global definitions | 7 | # Persistent global definitions |
8 | include globals.local | 8 | include globals.local |
9 | 9 | ||
10 | # If you use nvm, add the below lines to your sha256sum.local | ||
11 | #noblacklist ${HOME}/.nvm | ||
12 | |||
10 | private-bin sha256sum | 13 | private-bin sha256sum |
11 | 14 | ||
12 | # Redirect | 15 | # Redirect |
diff --git a/etc/profile-m-z/tar.profile b/etc/profile-m-z/tar.profile index 0817adda8..a9d0a60d1 100644 --- a/etc/profile-m-z/tar.profile +++ b/etc/profile-m-z/tar.profile | |||
@@ -7,6 +7,9 @@ include tar.local | |||
7 | # Persistent global definitions | 7 | # Persistent global definitions |
8 | include globals.local | 8 | include globals.local |
9 | 9 | ||
10 | # If you use nvm, add the below lines to your tar.local | ||
11 | #noblacklist ${HOME}/.nvm | ||
12 | |||
10 | # Included in archiver-common.profile | 13 | # Included in archiver-common.profile |
11 | ignore include disable-shell.inc | 14 | ignore include disable-shell.inc |
12 | 15 | ||
diff --git a/etc/profile-m-z/webstorm.profile b/etc/profile-m-z/webstorm.profile index 4d849c582..52d2091fe 100644 --- a/etc/profile-m-z/webstorm.profile +++ b/etc/profile-m-z/webstorm.profile | |||
@@ -18,8 +18,8 @@ include allow-common-devel.inc | |||
18 | # Allow ssh (blacklisted by disable-common.inc) | 18 | # Allow ssh (blacklisted by disable-common.inc) |
19 | include allow-ssh.inc | 19 | include allow-ssh.inc |
20 | 20 | ||
21 | noblacklist ${PATH}/node | ||
22 | noblacklist ${HOME}/.nvm | 21 | noblacklist ${HOME}/.nvm |
22 | noblacklist ${PATH}/node | ||
23 | 23 | ||
24 | include disable-common.inc | 24 | include disable-common.inc |
25 | include disable-devel.inc | 25 | include disable-devel.inc |
diff --git a/etc/profile-m-z/webui-aria2.profile b/etc/profile-m-z/webui-aria2.profile index 2fe727b9c..1aa546a29 100644 --- a/etc/profile-m-z/webui-aria2.profile +++ b/etc/profile-m-z/webui-aria2.profile | |||
@@ -6,6 +6,7 @@ include webui-aria2.local | |||
6 | # Persistent global definitions | 6 | # Persistent global definitions |
7 | include globals.local | 7 | include globals.local |
8 | 8 | ||
9 | noblacklist ${HOME}/.nvm | ||
9 | noblacklist ${PATH}/node | 10 | noblacklist ${PATH}/node |
10 | 11 | ||
11 | include disable-common.inc | 12 | include disable-common.inc |
diff --git a/etc/profile-m-z/wget.profile b/etc/profile-m-z/wget.profile index 4c21d6965..82af30d2a 100644 --- a/etc/profile-m-z/wget.profile +++ b/etc/profile-m-z/wget.profile | |||
@@ -11,6 +11,10 @@ noblacklist ${HOME}/.netrc | |||
11 | noblacklist ${HOME}/.wget-hsts | 11 | noblacklist ${HOME}/.wget-hsts |
12 | noblacklist ${HOME}/.wgetrc | 12 | noblacklist ${HOME}/.wgetrc |
13 | 13 | ||
14 | # If you use nvm, add the below lines to your wget.local | ||
15 | #ignore read-only ${HOME}/.nvm | ||
16 | #noblacklist ${HOME}/.nvm | ||
17 | |||
14 | blacklist /tmp/.X11-unix | 18 | blacklist /tmp/.X11-unix |
15 | blacklist ${RUNUSER} | 19 | blacklist ${RUNUSER} |
16 | 20 | ||