Xhost

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pátek Březen 10 00:47:22 CET 2000


On Fri, 10 Mar 2000, Petr Skoda wrote:

> Slo by to nejak vysvetlit lip ? Mam to exportovat na tom vzdalenem stroji
> nebo na tom s displejem (kde bezi Xserver). A jako root, nebo dokud jsem
> jeste jako normalni uzivatel ?  ZKousel jsem vsechny varianty a porad to
> pise , ze nemuze najit displej. Pritom pod normalnim uzivatelme (pod

Aha. X klient, aby fungoval, potrebuje dve veci: znat jmeno displeje a byt
schopen prokazat opravneni displej pouzivat. Jmeno displeje typicky zjisti
z promenne DISPLAY nebo jako argument opsny -display. Opravneni
(nepovoli-li server pristup sam necim jako xhost +...) se pak prokazuje za
pomoci dat ulozenych v souboru $HOME/.Xauthority resp. v souboru urcenem
promennou XAUTHORITY (nejcasteji je to "magic cookie", tj. neverejna
nahodne zvolena posloupnost bajtu, kterou klient primo posle serveru,
ktery to porovna se svou kopii; viz tez xauth(1)).

> kterym se se ssh loguji na vzdaleny stroj muzu napsat napr gv a hned mi
> naskoci tady, takze X forwarding chodi. (navic bych rekl, ze zmenou
> identity ztracim environment - je preci jineho uzivatele, ne ?)

Zalezi na tom jestli udelate "su" nebo "su -". V prvnim pripade
environment zustava, v druhem nikoli. Zrejme plati druha varianta. Pak
musite provest neco takovehoto (na tom stroji, kde chcete spustit
klienta, tj. asi tom, kteremu rikate vzdaleny)...

$ echo $DISPLAY $HOME
abc.def.geh:10.0 /home/xyz
$ su -
Password: 
# export DISPLAY=abc.def.geh:10.0
# export XAUTHORITY=/home/xyz/.Xauthority
# xterm

To samozrejme vyuziva (zneuziva), ze jako root muzete cist jakykoli
soubor, tj. i cizi .Xauthority, ktery je normalne velice soukromy. Pokud
by bylo su na jineho uzivatele, pak byste musel udelat "xauth list
$DISPLAY" a "xauth add $DISPLAY ...", ale je treba mit na pameti, ze ten,
kdo ma pristup k displeji, ma dost pod kontrolou celou seanci a vsechny uz
spustene klienty.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux