Su och X

OBS! Titta på Kjell Enbloms (http://www.lysator.liu.se/~kjell-e/tekla/linux/) "säkrare sätt" längst ner.

Har du råkat ut för detta när du försökt starta något "gui" som "su" eller "su -"?

hakan@haze:~$ su -
Lösenord:
[/home/hakan]# slacked
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

slacked: cannot connect to X server :0.0
Det fixas lätt med...
hakan@haze:~$ xhost +local:root
non-network local connections being added to access control list
hakan@haze:~$ su
Lösenord:
[/home/hakan]# export DISPLAY=:0.0

Klart...för att slippa skriva in detta varje gång skriver jag in i /home/hakan/.profile ("dold" fil) xhost +local:root. Har du ingen .profile så skapar du den, enklast med din filhanterare, ex.v. "Konqueror", men jag visar ett snyggt "allt i ett" sätt:

hakan@haze:~$ cat >.profile
xhost +local:root -->tryck ENTER-->tryck "ctrl+d"
hakan@haze:~$

Sedan lägger jag till ett "alias"(som root) i katalogen /root/.bashrc
alias xs="export DISPLAY=:0.0"

Sedan är det bara att försöka komma ihåg att köra #xs innan jag vill ha något "gui"-program. ;-)

Hmm...det här fungerar ju..men..skulle man inte kunna skriva "nåt" i rc.local istället så allt fungerade direkt? Mina kunskaper om sådant =0, så kom gärna med förslag. :-)


Kjell Enbloms "säkrare sätt"

Ett bättre sätt än att använda xhost + är att använda xauth.
Det är dessutom säkrare.

Om du har loggat in som användaren kalle och sedan gör su - (eller su)
och får felmeddelandet..
Xlib: connection to ":0.0" refused by server

..då ska du göra..
# xauth -i merge ~kalle/.Xauthority

Nu får root slänga upp fönster.

Med xhost + tillåter man alla användare på en angiven dator (eller alla datorer) att avlyssna ens trafik mellan klientapplikationer och X-servern. Det gäller alla maskiner som kan kommunicera med X-servern.
Det gör att det blir enkelt att sniffa lösenord. Även om man begränsar till xhost + localhost så kan fortfarande alla användare på den egna maskinen avlyssna trafiken.
Om det nu t.ex. finns ett CGI-script med säkerhetshål som tillåter att man kan köra kod som samma användare som kör webbservern (och cgi-scripten) så kan detta program avlyssna dina knapptryckningar och skicka dem till någon lämpligt maskin eller e-postadress eller liknande.

Tack för det Kjell!

Valid XHTML 1.0!