Att köra Firefox på eget konto
Som webbparanoid står man inför ständiga faror. Tänk om min webbläsare har något farligt säkerhetshål, som någon otrevlig webbsida jag råkar besöka får för sig att utnyttja för att ladda upp alla mina filer, eller än värre ta bort dem helt?
Problemet går givetvis att lösa på flera sätt, och lika givet är att ingen lösning är fullkomlig. Den jag tänker lägga fram här torde fungera som försvar mot de flesta »opersonliga« attacker man kan råka ut för. Om någon däremot faktiskt är ute efter dig så har du nog ingen glädje av det.
Vad vi kommer att göra är att ordna så att Firefox (och faktiskt vilka program du vill) kan köras utan rättigheter till din home-katalog. Simpelt som en plätt.
The following takes place in a unix-like environment. Du måste ha sudo och XTerm installerat.
Skulle sudo bråka med dig, se avsnittet längre ned om sudo.
- Skapa en ny användare på ditt system, och döp den till något smart. Låt oss kalla den
_web. Ge den en egen home-katalog som heter/home/web. - Spärra all tillgång till din egen home-katalog för andra användare än du själv:
$ chmod og-rwx $HOME
- Kontrollera att användaren
_webberövats sådan tillgång:Sedan kan du ta bort testfilen:$ echo "Den här textfilen får du inte läsa." > ~/kontrollfil.txt
$ sudo -u _web cat ~/kontrollfil.txt
Password:
cat: /home/jesper/kontrollfil.txt: Permission deniedOm inget permission blev denied så har du ett konstigt filsystem. Lämna en kommentar!$ rm ~/kontrollfil.txt
- Kopiera din webbläsares inställningskatalog till den nya användaren. Använder du Firefox heter den
.mozillaoch kör du Opera är det.opera. Kopiera katalogen såhär:Och liknande för Opera:$ sudo cp -r $HOME/.mozilla /home/web/
$ sudo chown -R _web._web /home/web/.mozillaEn del andra webbläsare sparar sina inställningar i en katalog inuti katalogen$ sudo cp -r $HOME/.opera /home/web/
$ sudo chown -R _web._web /home/web/.opera.config, däribland Midori. För att kopiera en sådan katalog måste du gå litet annorlunda tillväga.$ sudo -u _web mkdir /home/web/.config
$ sudo cp -r $HOME/.config/midori /home/web/.config
$ sudo chown -R _web._web /home/web/.config - Med ett par enkla trollformler kan du nu köra igång din webbläsare under en annan användare, men med samma inställningar som dem du kopierade från ditt vanliga konto. Men trollformler är inte roliga att komma ihåg, så vi automatiserar det hela med ett skalskript. I exemplet lägger vi det i filen
$HOME/bin/webuser.sh, och detta är vad den skall innehålla:(Eventuellt klagar någon insatt läsare på att $HOME-variabeln får samma värde flera gånger om. Men det verkar faktiskt krävas i vissa sammanhang, och jag är osäker på varför.)#!/bin/sh
if [ X$1 == X ]; then exit; else app=$(which $1); fi
xhost localhost && cd /home/web/ && \
sudo -H -u _web env HOME=/home/web $app --display localhost:0.0& - Sista stegets utförande lämnar jag som en övning åt läsaren. Det som måste skapas är en ikon, ett menyalternativ eller något annat fiffigt, som vid aktivering gör bruk av den smått makalösa trollformeln ovan:Det sista ordet ska givetvis inte vara »WEBBLÄSARE«, utan det kommando som din webbläsare startas med. Till exempel
xterm -geometry 20x1 -e 'sudo sh $HOME/bin/webuser.sh WEBBLÄSARE'
firefox. Om du får välja mellan att köra kommandot i ett terminalfönster eller inte, så kan du välja att låta bli.
Vad kommer hända när du dubbelklickar på den där ikonen? Jo, en pytteliten ruta dyker upp på skärmen som frågar efter lösenord. Det är sudo som frågar, och i sina flesta inkarnationer är det lösenordet till ens eget konto det ber om. Vanligtvis frågar sudo inte heller efter lösenordet oftare än kanske var tionde eller tjugonde minut. Programmet kommer nämligen ihåg lösenordet åt dig en stund efter att du matat in det.
Om sudo bråkar!
Om sudo inte vill låta dig hålla på med sådant precis hur som helst, så kan du lägga till följande rad i slutet av filen /etc/sudoers – men akta dig! Om du råkar göra den filen ogiltig kan du bli utelåst från ditt eget system!
user ALL=(ALL) SETENV: ALL
Första ordet ska förstås inte vara user, utan ditt eget användarnamn på din burk. Detta är viktigt! Gör du fel, som sagt, så får du rejäla problem, och kommer sitta och svära över att du aldrig lärt dig ed, en texteditor anpassad för en tid då man hade skrivare istället för datorskärmar. (Jag skojar inte.)
Ett sätt att undvika sådana missöden är att försöka redigera filen med följande kommando:
$ sudo env EDITOR=gedit visudo
Ersätt gedit med den texteditor du gillar att använda. När du ändrat färdigt i filen och sparar och stänger, så kommer visudo kontrollera att filen är riktig. Har du gjort något tokigt kommer den ge dig en chans att reparera skadan innan det är för sent.
Och till sist, om du inte gillar att sudo kommer ihåg dina lösenord, lägg till följande rad långt upp i /etc/sudoers, bland de andra Defaults-raderna, om du har några.
Defaults timestamp_timeout =0
Det var allt!
Lämna en kommentar