[gelöst] XFCE - Firefox Systemweit unter firejail starten

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
geier22

[gelöst] XFCE - Firefox Systemweit unter firejail starten

Beitrag von geier22 » 09.06.2017 08:31:52

Ich möchte gerne - zunächst erst mal nur Firefox - System weit unter Debianfirejail starten.
D.h. nicht nur über den Starter, sondern auch, wenn er aus einem anderen Programm aufgerufen wird.
Dazu hab ich erst mal die /usr/share/applications/firefox.desktop editiert:

Code: Alles auswählen

[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
.
Comment[de]=Im Internet surfen
.
GenericName=Web Browser
GenericName[ar]=متصفح ويب
.
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
.
Exec=firejail firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
.
Actions=NewWindow;NewPrivateWindow;

[Desktop Action NewWindow]
Name=Open a New Window
.
Name[de]=Ein neues Fenster öffnen

Exec=firejail firefox -new-window
OnlyShowIn=Unity;
.
[Desktop Action NewPrivateWindow]
.
Name[de]=Ein neues privates Fenster öffnen

Exec=firejail firefox -private-window
OnlyShowIn=Unity;
Das Unity dabei sollte nicht stören :mrgreen: ---> haben wohl die Entwickler von Sparky übersehen :facepalm:

Wenn ich aber Firefox z.B. aus RSSOwl herhaus starte, sehe ich folgendes:

Code: Alles auswählen

$ $ ps -C firejail,firefox -F
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
hans      4621 21560  0  4567  2356   4 08:14 ?        00:00:00 firejail /usr/bin/firefox http://www.kubuntu.org/news/plasma-5-10-1-now-in-zesty-backports/
hans      4622  4621  0  4567  2168   2 08:14 ?        00:00:00 firejail /usr/bin/firefox http://www.kubuntu.org/news/plasma-5-10-1-now-in-zesty-backports/
hans      4628  4622 17 599533 382776 2 08:14 ?        00:01:13 /usr/lib/firefox/firefox http://www.kubuntu.org/news/plasma-5-10-1-now-in-zesty-backports/
Der Task Manager stellt das so dar:

Bild
Obwohl nur ein Fenster offen ist, kann ich mir die Ausgabe nicht erklären zumal der Prozess /usr/lib/firefox/firefox ja der eigentlich aktive zu sein scheint.
Deute ich das falsch, oder muss ich noch an anderen Schrauben drehen?
Zuletzt geändert von geier22 am 09.06.2017 14:43:17, insgesamt 1-mal geändert.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: XFCE Firefox Systemweit unter firejail starten

Beitrag von cronoik » 09.06.2017 11:30:31

Die Nutzung der Desktop-Dateien muss doch implementiert sein(?). D.h. wenn du Firefox ueber die Konsole startest, duerftest du auch kein firejail verwenden. Stimmt das? Ich wuerde einfach ein kleines Skript anlegen und dieses Skript firefox nennen. Dieses Skript wuerde ich dann in die $PATH aufnehmen (vor den firefox Eintraegen).
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
Profbunny
Beiträge: 592
Registriert: 04.04.2004 11:12:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bautzen

Re: XFCE Firefox Systemweit unter firejail starten

Beitrag von Profbunny » 09.06.2017 13:26:16

hey,

du brauchst die Desktop files nicht editieren. Benutze ein Tool Namens
https://firejail.wordpress.com/features-3/man-firecfg/
das erstellt sinngemäß symlinks in /usr/local/bin/firefox dieser verweist dann auf firejail. Daher weiß firejail, dass es diesen Prozess in der sandbox starten soll.


https://firejail.wordpress.com/features-3/man-firemon/
firemon zeigt dir, ob Prozesse wirklich in der Sandbox laufen oder nicht.

https://firejail.wordpress.com/support/ ... s/#firefox

Prinzipiell ist es so, wer zuerst kommt, mal zuerst. Bedeutet, wenn firefox schon läuft, kannst du ihn so nicht in der Sandbox starten lassen, dann wird immer in der laufenden Instance ein neues Tab erzeugt.
Also zuerst firefox in der Sandbox starten, dann die Programme die darauf zugreifen.

Micha
Rechner / Server Debian sid

geier22

Re: XFCE Firefox Systemweit unter firejail starten

Beitrag von geier22 » 09.06.2017 14:32:22

Perfekt ! :THX: :THX: :hail:
hat etwas gedauert, da ich erst mal versucht hatte, FF direkt von Mozilla zu installieren, aber die Installation in /opt/ wurde von firejail leider Übersehen.
Also nochmal aus den Sourcen installiert und dann firecfg bemüht -- hat dann Firefox ergänzt.
Dann FF über einen Link aus Thunderbird

Code: Alles auswählen

$ ps -C firejail,firefox -F
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
hans      2612     1  0  4567  2424   4 14:00 ?        00:00:00 /usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=1
hans      2614  2612  0  4567  2168   1 14:00 ?        00:00:00 /usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=1
hans      2620  2614  5 589275 380752 2 14:00 ?        00:00:47 /usr/lib/firefox/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=11
hans     21826  1230  0  4567  2396   1 14:13 ?        00:00:00 /usr/bin/firejail /usr/bin/thunderbird
hans     21827 21826  0  4567  2204   2 14:13 ?        00:00:00 /usr/bin/firejail /usr/bin/thunderbird
Allerdings musste ich im Menü Thunderbird erst mal auf den neuen Symlink umstellen.
Profbunny hat geschrieben:Prinzipiell ist es so, wer zuerst kommt, mal zuerst. Bedeutet, wenn firefox schon läuft, kannst du ihn so nicht in der Sandbox starten lassen, dann wird immer in der laufenden Instance ein neues Tab erzeugt.
Also zuerst firefox in der Sandbox starten, dann die Programme die darauf zugreifen.
Das sollte doch mit dem Zusatz -no-remote im Startbefehl zu erledigen sein

Ich hab fürs gelegentlich Banking (den Hauptteil mach ich in einer VM mit HBCI) noch ein extra FF - Profile da sich auch neben einen normalen FF starten lässt. das sieht dann so aus:

Code: Alles auswählen

ps -C firejail,firefox -F
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
hans      2612     1  0  4567  2424   4 14:00 ?        00:00:00 /usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=1
hans      2614  2612  0  4567  2168   1 14:00 ?        00:00:00 /usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=1
hans      2620  2614  5 590639 395952 3 14:00 ?        00:01:13 /usr/lib/firefox/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=11
hans     21826  1230  0  4567  2396   1 14:13 ?        00:00:00 /usr/bin/firejail /usr/bin/thunderbird
hans     21827 21826  0  4567  2204   2 14:13 ?        00:00:00 /usr/bin/firejail /usr/bin/thunderbird
hans     32617  1208  0  4567  2488   0 14:20 ?        00:00:00 firejail --private=~/.privat-browser/firefox/ --net=eth0 --ip=192.168.0.75 --dns=8.8.8
hans     32618 32617  0  4567  1980   4 14:20 ?        00:00:00 firejail --private=~/.privat-browser/firefox/ --net=eth0 --ip=192.168.0.75 --dns=8.8.8
hans     32630 32618 51 550164 380160 4 14:20 ?        00:00:05 /usr/lib/firefox/firefox -no-remote
Wenn ich dann z.B. aus RSSOwl den Browser aufrufe (habe vorher den Startbefehl auf /usr/local/bin/firefox geändert), Wird der Tab brav in einem neuen Tab im gleichen Fenster geöffnet, in dem ich gerade schreibe.

So erstmal ist meine Frage vorerst zufriedenstellend gelöst. Danke nochmal für den Tipp. :THX: :THX: :hail: :hail: :mrgreen:

Zum Schluss nochmal die Ausgabe von firemon (RSSOwl kommt dann als nächstes dran) :D

Code: Alles auswählen

sudo firemon
[sudo] Passwort für hans: 
2612:hans:/usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 
  2614:hans:/usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 
    2620:hans:/usr/lib/firefox/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 
21826:hans:/usr/bin/firejail /usr/bin/thunderbird 
  21827:hans:/usr/bin/firejail /usr/bin/thunderbird 
    21833:hans:/bin/bash /usr/bin/thunderbird 
      21843:hans:/usr/lib/thunderbird/thunderbird 
32617:hans:firejail --private=~/.privat-browser/firefox/ --net=eth0 --ip=192.168.0.75 --dns=8.8.8.8 /usr/lib/firefox/firefox -no-remote 
  32618:hans:firejail --private=~/.privat-browser/firefox/ --net=eth0 --ip=192.168.0.75 --dns=8.8.8.8 /usr/lib/firefox/firefox -no-remote 
    32630:hans:/usr/lib/firefox/firefox -no-remote 

geier22

Re: XFCE Firefox Systemweit unter firejail starten

Beitrag von geier22 » 09.06.2017 14:42:45

Noch einen Nachtrag:
Laufender Firefox über den Starter FF nochmal gestartet ergibt:

Code: Alles auswählen

 sudo firemon
2612:hans:/usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 
  2614:hans:/usr/bin/firejail /usr/bin/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 
    2620:hans:/usr/lib/firefox/firefox https://debianforum.de/forum/viewtopic.php?f=29&t=165456&p=1134237&e=1134237 

14:38:07 exec 26466 (root) NEW SANDBOX: /usr/bin/firejail /usr/bin/firefox 
14:38:07 uid  26466 (root) /usr/bin/firejail /usr/bin/firefox 
Super :mrgreen: :THX:

Antworten