Firejail을 사용하여 실행할 디렉터리를 화이트리스트에 추가하는 방법은 무엇입니까?
특히 Firejail에서 Firefox Nightly를 실행하고 싶습니다. 하지만 다음과 같은 오류가 발생합니다.
$ firejail --profile=/etc/firejail/firefox.profile --whitelist=$HOME/software/firefox-nightly ./firefox
Reading profile /etc/firejail/firefox.profile
Reading profile /etc/firejail/whitelist-usr-share-common.inc
Reading profile /etc/firejail/firefox-common.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-exec.inc
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/whitelist-common.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Warning: networking feature is disabled in Firejail configuration file
Parent pid 769552, child pid 769553
Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set.
Post-exec seccomp protector enabled
Seccomp list in: !chroot, check list: @default-keep, prelist: unknown,
Child process initialized in 91.60 ms
Exec failed with error: Permission denied
그리고 쉘을 사용하여 테스트하십시오.
$ firejail --profile=/etc/firejail/firefox.profile --whitelist=$HOME/software/firefox-nightly sh
[...]
$ ls -l firefox
-rwxr-xr-x 1 vinc17 vinc17 16928 2020-05-16 13:22:44 firefox
$ ./firefox
sh: 2: ./firefox: Permission denied
참고: /etc/firejail/disable-exec.inc
예 noexec ${HOME}
. 그러나 --ignore='noexec ${HOME}'
즉시 추가해도 firejail
효과가 없습니다. 아래 디렉터리를 이동해도 /usr/local
아무런 효과가 없습니다.
답변1
저도 같은 문제가 있어서 Firejail GitHub 저장소에 문의했습니다. 제가 받은 답변은 다음과 같습니다.
집에서 소프트웨어를 실행하려면 ignore noexec ${HOME}
및 가 필요합니다 ignore apparmor
.
cat > ~/.config/firejail/firefox-developer-edition.local <<EOF
ignore noexec ${HOME}
ignore apparmor
whitelist ${HOME}/files/Portable/FirefoxDeveloperEdition
EOF
나는 당신의 경로가 약간 다를 것이라고 상상합니다.
whitelist ${HOME}/software/firefox-nightly
답변2
이 오류가 발생했는데 apparmor
에 주석을 달아 문제를 해결할 수 있었습니다 /etc/firejail/firefox-common.profile
.