1

Tråd: xsudo.sh

xsudo.sh är ett (försök till) Bourne-kompatibelt skalskript som ger program man kör via sudo tillgång till ens X11-display.

Skriptet fyller samma funktion som exempelvis gksudo eller kdesudo, men i stället för att kräva att GTK/GNOME eller KDE/Qt är installerat nöjer det sig med programmet ssh-askpass från OpenSSH.

De flesta andra skript med liknande funktionalitet använder xhost-autentisering, i värsta fall mot hela localhost i stället för bara en enskild användare. Det främsta problemet med xhost-metoden är dock att programmen man kör får fulla läsrättigheter till alla X11-events, inklusive lösenord som matas in i andra fönster.

I stället går xsudo.sh den krångligare vägen med xauth generate, och kan därför lika gärna skapa trusted cookies (motsvarande att använda xhost) som untrusted cookies (motsvarande X11 forwarding över SSH).

En nackdel med untrusted cookies är att grafisk acceleration inte fungerar. I regel ska inte heller Alt Gr fungera. Program som körs med sådan autentisering får dock inte tillgång till allt som händer på skrivbordet, utan måste hålla sig till sitt eget hörn.

Manual
Skriptet är förfärande simpelt att använda:

Usage: xsudo.sh [-t] [-u <user>] command ...

    -t  Use trusted authentication cookie
    -u  Impersonate <user> instead of root

Exempelvis kör man chromium som användaren _web sålunda:

$ sh xsudo.sh -tu _web chromium

Men skriptet är förstås inte tänkt att köras från terminalen, utan från fönsterhanterarens menysystem.

Installation
Hämta skriptet och för över ägandet av det till root. Se till att lägga det i någon katalog där endast root har skrivåtkomst. Det är en dum idé att låta skript som kör sudo vara skrivbara av andra än root.

Du kan behöva anpassa skriptet till ditt system genom att helt enkelt redigera det.

På bloggen finns ett inlägg om varför skriptet finns till och vad det gör.

"It is a damn poor mind indeed which can't think of at least two ways to spell any word."

Webbplats

Dela