firefox - Minimalrechte für UpdateCheck

Post Reply
Message
Author
komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

firefox - Minimalrechte für UpdateCheck

#1 Post by komsomolze »

EDIT 20080619 (FF-3.0)
Einfach nur die Dateien
firefox/update.test
firefox/updates/0/update.test

leer zu erstellen scheint auszureichen.
---------------------------------------------------------------





Soll das firefox-2 (2.0.0.*) von mozilla systemweit verwendet werden,
kann auch bei einem normalen User der Update-Check laufen
ohne daß er Schreibzugriff auf die Dateien selbst hat.

Das tar.gz entpacken, zBsp nach /opt/firefox, und dann:

Code: Select all

chown -R root:root  firefox/
chmod 1777  firefox/  firefox/updates/0/
     (Das Sticky-Bit verhindert Änderungen an den Dateien durch den User.)


Beim Update selbst mittels 'sudo firefox' hinterher sicherheitshalber

Code: Select all

chown -R $USER ~/.mozilla/
damit nicht irgendwelche root-Dateien den Normalbetrieb stören können (zBsp bookmark-Backups).

Eine Alternative zu 'sudo firefox' wäre

Code: Select all

chown -R $USER  /opt/firefox/
firefox das Update machen lassen - als User.
chown -R root:root  /opt/firefox/





-----------------------------------------
EDIT 20071009
Besser als das Herumgewurschtel mit den Rechten ist doch ein fcron-Job:
(das wget könnte/sollte als nobody gemacht werden)

Code: Select all

#!/bin/bash
TMPDIR=`mktemp  -dt  ffu.XXXXXX`
FFDIR=$1;  FF_REPO=$2
cp  $FF_REPO/updater  $TMPDIR                     # Damit kann ein Firefox aufgesetzt werden, auch wenn es sich um ein leeres $FFDIR handelt
OS=linux-i686;  LOC=de;  MAR=partial.mar         # Defaults; im Fehlerfall wird complete.mar geladen
ls  $FFDIR/firefox.exe  &&  OS=win32                # der Linux-updater kann auch die Archive für win32 bearbeiten
ls  $FFDIR/chrome/en-GB.jar  && LOC=en-GB
ls  $FFDIR/chrome/en-US.jar  &&  LOC=en-US

GET() {
 mkdir  -p  $FF_REPO/$OS/$LOC/
 cd  $FF_REPO/$OS/$LOC/
 wget  -q  --timestamping ftp://ftp.mozilla.org/pub/firefox/releases/latest/update/$OS/$LOC/*$MAR      # Fehlerbehandlung über zusätzliche Parameter
 ln  -sf   `ls -1 *$MAR | tail -1`   $TMPDIR/update.mar
}

DO() {
 cd  $FFDIR                                               # nur im aufrufenden Verzeichnis wird das Update ausgeführt
 $TMPDIR/updater  $TMPDIR  0
}

GET;  DO
grep  succeeded  $TMPDIR/update.status  &&  { rm -rf $TMPDIR; exit 0; }

MAR=complete.mar
  EXTEN=$FFDIR/extensions
  CREATE="$EXTEN/inspector@mozilla.org  $EXTEN/{972ce4c6-7e08-4474-a285-3208198ce6fd}"
  # falls nicht vorhanden: DOM-Inspektor + Default-Theme
  # vielleicht noch "$EXTEN/talkback@mozilla.org" ?
  mkdir  -p  $CREATE
GET;  DO
grep  succeeded  $TMPDIR/update.status  ||  exit 1
rm -rf $TMPDIR
(nach http://wiki.mozilla.org/Software_Update ... a_MAR_file )
mfg komsomolze

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#2 Post by komsomolze »

Einfach nur die Dateien
firefox/update.test
firefox/updates/0/update.test
leer zu erstellen scheint auszureichen.
Ist obsolet seit firefox 3.6
mfg komsomolze

Post Reply