mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #814] Issue with private-bin option in version 0.9.42 #554
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#554
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @s0lo7 on GitHub (Sep 26, 2016).
Original GitHub issue: https://github.com/netblue30/firejail/issues/814
Applications fail to load after updating to version 0.9.42. 'private-bin' option in the profiles seem to be the issue. Manually changed a few profiles by uncommenting the option and it works.
@netblue30 commented on GitHub (Sep 26, 2016):
Give me an example, how are you starting the sandbox and what do you have in your profile under private-bin?
@s0lo7 commented on GitHub (Sep 26, 2016):
Applications which failed to load for me are 'evince' and 'transmission-gtk'.
uncommenting the "private-bin" option in both the profiles made the applications work. I tried to launch them from terminal to see if any errors would be reported. Nothing is reported and the process exits silently.
Profiles for both the apps were not modified. "private-bin" option causing the problem is
private-bin evince,evince-previewer,evince-thumbnailer
private-bin transmission-gtk
@netblue30 commented on GitHub (Sep 26, 2016):
Do like this:
In terminal, run "sudo firermon". In a separate terminal start the program: "firejail evince". In the first terminal you will get a list with all the programs the sandbox tries to start, something like this:
You look for "fork" entries.
@s0lo7 commented on GitHub (Sep 26, 2016):
'fork' entries for both the applications are similar to your output. I've attached the output of 'sudo firemon' for both the apps.
evince.txt
transmission.txt
@netblue30 commented on GitHub (Sep 26, 2016):
Firejail is picking up evince from /usr/local/bin directory, instead of /usr/bin. Do you have a script under the name "evince" in /usr/local/bin?
I guess for transmission you have the same problem. The trace looks like you run the sandbox with private-bin commented out.
@s0lo7 commented on GitHub (Sep 26, 2016):
I do have scripts under "/usr/local/bin" for all the apps which are invoked with firejail.
It seems that the command /run/firejail/mnt/cp -a uses hardcoded PATH values to search for the executables and copy them. This was the cause of problem for me.
Is there an option to pass new environment variables (PATH in my case) to firejail which will be used to locate the executable?
@netblue30 commented on GitHub (Sep 26, 2016):
OK, I got it. My documentation is all messed up. I'll have to update the description under "DESKTOP INTEGRATION" in man firejail.
There are two ways to /usr/local/bin. You can use firecfg utility (man firecfg) to create symbolic links to /usr/bin/firejail in order to start your programs automatically, or you can place your own scripts in /usr/local/bin. If you go for your scripts, you need to set "private-bin-no-local yes" in /etc/firejail/firejail.config.
I'll leave this open until I fix the docs, just add "private-bin-no-local yes" and it will work fine.
@s0lo7 commented on GitHub (Sep 27, 2016):
Adding private-bin-no-local yes to /etc/firejail/firejail.config reports it as an invalid line. I think it has something to do with the code in "src/firejail/checkcfg.c", but the code seems fair to me.
For now, I recompiled the code by manually removing the "/usr/local" entries in "src/firejail/fs_bin.c" and it works fine.
Please let me know if I'm missing something.
@netblue30 commented on GitHub (Sep 27, 2016):
I think "private-bin-no-local" came in git after the release of 0.9.42. In /etc/firejail/firejail.config you should have the following two lines commented out:
@mr-blobbyyy commented on GitHub (Sep 27, 2016):
Um, these lines are not even in 0.9.42's config? For me, I use firejail for vlc and it appears I only need to comment out
private-tmpin the default profile in order for vlc to start up normally. Otherwise, libvlc came back with interface and X server errors. Hopefully not due to a luks encrypted filesystem I setup by default...and I also have a firejail symlink in /usr/local/bin for vlc...@netblue30 commented on GitHub (Sep 28, 2016):
Yes, it got added in git after 0.9.42 was released - another user complained about it. I'll have the new 0.9.44 version coming up in October. For now just comment out private-bin in your profiles.