÷ƒ’À;è TeX output 2003.04.04:1545‹ÿÿÿÿ Û_2 ý ~? ÕÁ ýZ2ÿóþÖëI½q½qecss2074»Remote–fÑX“Apps“mini-HO‘ÿwmWTOŽ¤ ®„ØcÕÁGŽŽ¡ó 1ê± ecrm1000¹Autheur:‘™Pó½HЃ ecti1000¼Vinc‘ÿ}/ent‘“°Zweije¹,‘U ¼zweije@xs4al‘‚Ðl.nlŽ¡¹V‘ÿ*¸ertaler:‘ мR–ÿ}/e“ggy‘“°Ekkebus¹,›U ¼r“e“ggy@ze“elandnet.nl’°<÷¹v,˜19˜No•¸èv“em“bGer˜1999Ž¡Ÿ&°óŒ6 ecss1000½Deze–íçmini-HO¸èWTO‘íÍbšGeschrijft“ho˜e“je“remote“X‘íÍapplicaties“k¸èan“draaien.‘ODit“b˜etekš¸èent“dat“je“een“X‘íÍp˜rogramma“vanŽ¡de–ä­ene“computer“op“een“andere“computer“kunt“draaien.‘ &SimpšGel“gezegd:‘™ho˜e“kš¸èan“ik“een“X‘ä‡p˜rogramma“draaienŽ¡op–seen“andere“computer“dan“de“computer“w•¸èaa“r–sik“achter“zit.‘ÌÇHet“kš¸èenmerk“van“deze“mini-HO˜WTO‘s…is“veiligheid.Ž¡Deze–U mini-HO¸èWTO“bšGevat“o˜ok“infoš¸èrmatie“over“het“runnen“van“X“applicaties“lok˜aal“met“verschillende“ussers.ŽŸ(i˜ó&Lt$ffffecbx1440¿Inhoudsopga•cv“eŽ¤Øó]fŒ ecbx1000À1Ž‘Ô(In®>troQÂductie’„¨ 1ŽŽ¡2Ž‘Ô(Aan•®>v“erw“an“te‘ÕdoQÂcumen“tatie’3þò2ŽŽ¡3Ž‘Ô(Een‘Õv®>o•QÂorb“eeld’uþ2ŽŽ¡4Ž‘Ô(Een–ÕbQÂeetje“theorie’`º_3ŽŽ¡5Ž‘Ô(De–Õclienš®>t“v˜ertellen’`• 3ŽŽ¡6Ž‘Ô(De–Õservš®>er“v˜ertellen’]˜o4ŽŽ¤ؼ‘ÿ¹6.1Ž‘)RÁXhost‘Éw‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï4ŽŽ¡‘ÿ6.2Ž‘)RÁXauth‘-‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï5ŽŽ¡‘%ý¡6.2.1Ž‘IP¿De–U CoGokie“mak¸èen‘(Ý‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï5ŽŽ¡‘%ý¡6.2.2Ž‘IP¿De–U cošGokie“transp˜orterenM‘‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï6ŽŽ¡‘%ý¡6.2.3Ž‘IP¿De–U CoGokie“gebruik¸èen‘Ìá‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï7ŽŽ¡‘ÿ6.3Ž‘)RÁSsh‘×7‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï7ŽŽ©ØÀ7Ž‘Ô(X–ÕApplicatie“v‘ÿ\|an“een“andere“User-id’†7ŽŽ¡‘ÿ¹7.1Ž‘)RÁV‘ÿ*¸ersc•¸èhillende›U gebruik“ers˜op˜dezelfde˜Host‘¹³‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï8ŽŽ¡‘ÿ7.2Ž‘)RÁClien•¸èt›U gebruik“er˜is˜RoGot‘7 ‘ü.ŽŽ–Æè‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wï9ŽŽ¦À8Ž‘Ô(Een–ÕRemote“Windo®>w“Manager“draaien’ø´n9ŽŽ¦9Ž‘Ô(Problemen‘Õoplossen’S\F10ŽŽŸ(i˜¿1Ž‘xInctropœductieŽŸ¿:¹Deze–Omini-HOš¸èWTO‘is“een“handleiding“o˜v˜er“hošGe“te“do˜en“met“remote“X‘applicaties.‘Í Hij“is“gesc•¸èhrev“en‘OomŽŸ ®v•¸èersc“hillende‘U redenen.ŽŸDl‘ 9b1.ŽŽŽ‘Er–U zij“al“vš¸èeel“vragen“gesteld“o˜v˜er“het“draaien“v‘ÿqÐan“remote“X“applicaties“in“de“newsgro•Gep“en.ŽŽŽŒ‹* Û_2 ý ~?Ÿ„€ÕÁGŽÀ2.‘ XAan•®>v“erw“an“te‘ÕdoQÂcumen“tatie’0”~¹2ŽŽ ÕÁ ýV¯‘ 9b2.ŽŽŽ‘Ik–@Êzie“heel“vš¸èeel“hin˜ts“als“gebruik“óqLË ectt1000Áxhost–?¬+“hostname¹of–@Êzelfs“‘ÕHÁxhost‘?¬+¹‘om“X‘@Åconnecties“toGe“te“staan.Ž¤ ®‘ÀDit–Õis“bQÂelacš®>helijk“on˜v˜eilig¹,›U w•¸èan“t˜er˜zijn˜b•Getere˜metho“des.ŽŸ®‘ 9b3.ŽŽŽ‘Ik–Žkš¸èen“geen“een˜v˜oudig“doGcumen˜t“dat“de“opties“bGesc˜hrijft“die“je“hebt.‘xMail“mij“¼zweije@xs4al‘‚Ðl.nl“¹als“jijŽ¡‘iets–U bGeters“w¸èeet.ŽŸؼDit–ýãdoGcumenš¸èt“is“gesc˜hrev˜en“met“unix“ac˜h˜tige“systemen“in“mijn“gedac˜h˜ten.‘TlMaar“oGok“al“is“je“lok‘ÿqÐaal“of“remoteŽ¡bšGesturings–8ùsysteem“v‘ÿqÐan“een“ander“merk,‘>›dan“kun“je“hier“to˜c¸èh“vinden“ho˜e“sommige“dingen“w•¸èerk“en,‘>›je–8ùzal“w¸èelŽ¡enige–U dingen“mošGeten“aanpassen“v¸èo˜or“gebruik“met“je“eigen“systeem(en).Ž©ؼDe–çÏmeest“recenš¸ète“v˜ersie“v‘ÿqÐan“dit“doGcumen˜t“is“altijd“aan˜w˜ezig“op“WWWŽ¡¼http://www.xs4al‘‚Ðl.nl/zweije/xauth.html¹.‘ãHet–ã–is“oGok“altijd“aan•¸èw“ezig–ã–op“de“Remote“X‘â¬Apps“mini-Ž¡HOš¸èWTO‘²>op‘²Ú¼http://sunsite.unc.e–ÿ}/du/LDP/HO¾˜WTO/mini/R“emote-X-Apps¹.‘ Š¯Lin˜ux–²Ú(mini-)HO˜WTOs“zijnŽ¡aan•¸èw“ezig–U op“h¸èttp“of“ftp“v‘ÿqÐan“¼sunsite.unc.e‘ÿ}/du¹.Ž¦Dit–Û¯is“vš¸èersie“0.6.1.‘.Geen“w˜aarbGorg,‘ýSenk˜el“gošGede“b˜edo˜elingen.‘.Ik“b˜en“op˜en“v¸èo˜or“suggesties,–ýSidee€ën,“n¸èuttigeŽ¡to•Gev¸èo“egingen,–̦(fout)›‹correcties,“Etc˜..‘öÀIk˜wil˜dat˜dit˜een˜simp•Gel˜do“cumen¸èt˜blijft,‘̦alho“ew¸èel˜met˜de˜b“esteŽ¡b•Gedo“eling–U In“HOš¸èWTO“stijl.‘q€De“laatste“upGdate“dateert“v‘ÿqÐan“19“No˜v˜em˜bšGer“1999“do˜or“¼Vinc‘ÿ}/ent‘“°ZweijeŽŸ(Àœ¿2Ž‘xAan•cv“erw“an“te‘G\dopœcumen“tatieŽŸ¿:¹Een–»‘vš¸èergelijkbaar“doGcumen˜t“op“WWW‘»kis“What“to“do“when“Tk“sa˜ys“that“y˜our“displa˜y“is“insecure,‘ÚH¼http://c‘ÿ}/e-Ž¡to–ÿ}/olkit.cr“d.ge.c“om/tkxauth/¹.›õÁDit–6is“gesc•¸èhrev“en–6doGor“¼Kevin‘¼?Kenny¹.˜het“is“een“vš¸èergelijkbare“oplossing“v˜oGor“XŽ¡authenš¸èticatie– àzoals“(xauth)“in“dit“do•Gcumen˜t.‘`Alho“ew˜el– àKevin“zic˜h“meer“spitst“op“het“gebruik“v‘ÿqÐan“xdm“metŽ¡xauth.Ž¦Het–Å»X›ÅžWindo¸èws“systeem“V‘ÿ*¸ol“8“X˜Windoš¸èw“System“A˜dministrator's“Guide‘›v‘ÿqÐan“¼O'R›ÿ}/eil‘‚Ðly–ûHand“Asso˜ciates‘Å»¹isŽ¡ošGok–U een“go˜ede“bron“v‘ÿqÐan“informatie.‘q€Enk¸èel“b˜en“ik“niet“in“staat“gewš¸èeest“om“dit“te“c˜hec˜k˜en.Ž¦Een–.#ander“doGcumenš¸èt“dat“v˜eel“lijkt“op“dat“w˜at“je“n˜u“leest“met“als“titel“Securing“X‘.Windo˜ws‘kis“aan˜w˜ezig“opŽ¡¼http://ciac.l‘‚Ðlnl.gov/ciac/do‘ÿ}/cuments/ciac2316.html¹.Ž¦Kijk–ÅŸošGok“eens“in“de“newsgro˜ep˜en,›á¿zoals“Ácomp.windows.x¹,˜Ácomp.os.linux.x¹,˜enŽ¡Ácomp.os.linux.networking¹.ŽŸ(Àœ¿3Ž‘xEen‘G\vco•pœorb“eeldŽŸ¿:¹Je–ÿgebruikt“t•¸èw“ee–ÿcomputers,‘%Òen“je“gebruikt“het“X‘ðwindoš¸èws“systeem“v‘ÿqÐan“de“eerste“om“te“t˜ypGen“en“om“naar“teŽ¡kijkš¸èen.‘Ú€Je–x gebruikt“de“t˜w˜eede“om“w˜at“bGelangrijk“grasc˜h“w˜erk“op“te“doGen.‘Ú€Je“wilt“de“t˜w˜eede“gebruik˜en“omŽ¡naar–U de“uitvš¸èoGer“op“het“sc˜herm“te“kijk˜en“v‘ÿqÐan“de“eerste.‘q€Dit“maakt“het“X“windo˜ws“systeem“mogelijk.Ž¦Je–‚hebt“hier“natuurlijk“een“net•¸èw“erk-connectie›‚v“o•Gor˜no“dig.‘ ˆ§Het˜liefst˜een˜snelle;‘`´Het˜X‘Ðproto“col˜isŽ¡een›­net•¸èw“erk˜slak.‘ zÆMaar˜met˜een˜bGeetje˜geduld˜en˜een˜gesc“hikt˜compressie˜protoGcol,‘C¨kun˜je˜zelfs˜XŽ¡applicaties–*ßrunnen“via“een“mo•Gdem.‘ ò¾V‘ÿ*¸o“or–*ßhet“X‘*$compressie“protošGcol“mo˜et“je“evš¸èen“kijk˜en“op“dxpGcŽ¡¼http://c–ÿ}/cwf.c“c.utexas.e“du/zvonler/dxp“c/–Q¹of“LBX‘?¼http://www.ultr–ÿ}/anet.c“om/p“auld/faqs/LBX-HO¾˜WTO.htmlŽ¡Á–U ¹(ošGok“b˜ek•¸èen“t–U als“¼LBX‘“°mini-HO¾˜WTO¹).Ž¦Je–U mošGet“t•¸èw“ee–U dingen“do˜en“om“dit“te“v¸èolbrengen:ŽŸؼ‘ 9b1.ŽŽŽ‘V‘ÿ*¸ertel–U het“lok‘ÿqÐale“displaš¸èy“(serv˜er)“dat“hij“connecties“moGet“accepteren“v‘ÿqÐan“een“remote“computerŽŸ®‘ 9b2.ŽŽŽ‘V‘ÿ*¸ertel–U de“remote“applicatie“(clienš¸èt)“dat“hij“zijn“output“naar“het“lok‘ÿqÐale“displa˜y“moGet“sturenŽŽŽŒ‹F Û_2 ý ~?Ÿ„€ÕÁGŽÀ4.‘ XEen–ÕbQÂeetje“theorie’]Oë¹3ŽŽ ÕÁ ýV¯¿4Ž‘xEen–G\bpœeetje“theorieŽŸ¿:¹Het–ÀOmagiscš¸èhe“w˜oGord“is“ÁDISPLAY¹.“In“het“X‘¿ñwindo˜w“systeem“bGestaat“het“displa˜y“(simpGel“gezegd)“uit“eenŽ¤ ®k•¸èeybGoard,‘(.m“uis–ñen“een“scš¸èherm.‘^ÆEen“displa˜y“w˜ordt“aangestuurd“doGor“een“serv˜er“programma“bšGeter“b˜ek¸èend“alsŽ¡de–U X“servš¸èer.‘q€De“serv˜er“bGediend“de“displa˜y“mogelijkheden“v‘ÿqÐan“programma's“die“ermee“connecten.Ž©ؼEen–U displaš¸èy“w˜ordt“aangegev˜en“met“een“naam“b˜v:ŽŸÏ ‘ó !",š cmsy10¸ŽŽŽ‘ÁDISPLAY=light.uni.verse:0Ž¤CÖ‘¸ŽŽŽ‘ÁDISPLAY=localhost:4Ž¡‘¸ŽŽŽ‘ÁDISPLAY=:0ŽŸÏ¹Een–i‚displa¸èy“bšGestaat“uit“een“host“naam“(“zoals“Álight.uni.verse“¹en“Álocalhost¹),‘n›een“dubb˜ele“pun¸èt“(Á:¹),‘n›eenŽ¤ ®v•¸èolgorde›ô*n“ummer˜(zoals˜Á0˜¹en˜Á4¹).‘Q.De˜host-naam˜v‘ÿqÐan˜de˜displa“y˜is˜de˜naam˜v‘ÿqÐan˜de˜computer˜w“aar˜de˜X‘ôserv“erŽ¡draait.‘iÃAls–=éje“de“host-naam“wš¸èeg“laat“bGetek˜en˜t“dit“de“lok‘ÿqÐale“host.‘iÃHet“v˜olgorde“n˜ummer“is“normaal“0“-“maarŽ¡het–U k›ÿqÐan“v˜arieer-en“als“er“meerdere“Displa¸èys“zijn“aangesloten“op“een“computer.Ž¦Als–‚†je“oGoit“een“displaš¸èy“tegenk˜om˜t“met“een“extra“Á.n“¹indicatie“erac˜h˜ter,‘ßdan“is“dat“het“sc˜herm“n˜ummer.‘ù²EenŽ¡displaš¸èy–¨¯k‘ÿqÐan“eigenlijk“meer“sc˜hermen“aan.‘l,Een“displa˜y“k‘ÿqÐan“eigenlijk“meerdere“sc˜hermen“aan.‘l,Normaal“is“erŽ¡maar–U een“scš¸èherm,“met“het“n˜ummer“Án=0¹,“dus“dat“is“standaard.Ž¦Andere–U formaten“v‘ÿqÐan“ÁDISPLAY“¹zijn“er,“maar“die“hierbšGo•¸èv“en–U do˜et“het“go˜ed“v¸èo˜or“onze“plannen.Ž¦V‘ÿ*¸oGor›U tec•¸èhnisc“he˜nieu“wsgierigheid:ŽŸ?‘¸ŽŽŽ‘Áhostname:D.S–2)¹Betek¸èend›21ÁS“¹op˜displa¸èy˜ÁD“¹v‘ÿqÐan˜host˜Áhostname¹;‘=Öde˜X“serv•¸èer˜v“oGor˜dit˜displa“y˜luistert˜op˜deŽ¡‘TCP›U p•Go“ort˜Á6000+D¹.Ž©CÖ‘¸ŽŽŽ‘Áhost/unix:D.S‘þ¹bGetek•¸èend›þ—sc“herm˜ÁS‘þ¹op˜displa“y˜ÁD–þ¹v‘ÿqÐan˜host˜Áhost¹;‘pde˜X“serv•¸èer˜v“oGor˜dit˜displa“y˜luistert˜opŽ¡‘de–U UNIX“domein“sošGc•¸èk“et–U Á/tmp/.X11-unix/XD“¹listening“(dus“hij“is“alleen“b˜erijkbaar“v‘ÿqÐanaf“Áhost¹)Ž¦‘¸ŽŽŽ‘Á:D.S–U ¹is“hetzelfde“als“Áhost/unix:D.S¹,“w¸èaar“Áhost“¹de“loGcale“hostname“is.ŽŸ(’á¿5Ž‘xDe–G\clienšct“v˜ertellenŽŸ¿:¹Het–,¨clienš¸èt“programma“(Bijv˜o•Gorb“eeld–,¨je“grasc˜he“applicatie)“w˜eet“naar“w˜elk“displa˜y“hij“mošGet“connecten“do˜orŽ¡te–Åÿkijk¸èen“naar“het“ÁDISPLAY‘ÅÛ¹v›ÿqÐariabGel.‘AËDeze“instelling“k˜an“vš¸èeranderd“w˜orden,‘âŸdoGor“de“clien˜t“als“optie“Á-displayŽ¡hostname:0–U ¹te“gevš¸èen“als“je“hem“opstart.‘q€Sommige“v‘ÿqÐan“deze“v˜o•Gorb“eelden–U zullen“dit“duidelijk˜er“mak˜en.Ž©ؼOnze–\+computer,‘]îis“bGekš¸èend“v˜oGor“de“andere“computers“als“ligh˜t,‘]îen“w˜e“zitten“in“het“domein“uni.v˜erse.‘†¡Als“w˜eŽ¡een–normale“X‘ðservš¸èer“draaien,‘pde“displa˜y“is“bGek˜end“als“Álight.uni.verse:0¹.‘V"W‘ÿ*¸e“willen“het“tek˜enprogrammaŽ¡xg–› runnen“op“een“remote“computer,›¬ die“als“naam“heeft“Ádark.matt.er¹,˜en“hij“moGet“zijn“output“laten“zienŽ¡op‘U ligh¸èt.Ž¦Ik–U ga“er“v‘ÿqÐan“uit“dat“je“op“de“remote“computer“(Ádark.matt.er¹)“bGen¸èt“in“gelogd.Ž¦Als–U je“csh“draait“op“de“remote“computer:Ž¤«I‘óqLË ectt0900Ãdark%–¹Nsetenv“DISPLAY“light.uni.verse:0ŽŸ Š=‘dark%–¹Nxfig“&ŽŸÏ¹of:Ž¡‘Ãdark%–¹Nxfig“-display“light.uni.verse:0“&ŽŽŽŒ‹% Û_2 ý ~?Ÿ„€ÕÁGŽÀ6.‘ XDe–Õservš®>er“v˜ertellen’Z-û¹4ŽŽ ÕÁ ýV¯Als–U je“sh“of“bash“draait“op“de“remote“computer:Ž©´å‘Ãdark$‘¹NDISPLAY=light.uni.verse:0Ž¤ Š=‘dark$–¹Nexport“DISPLAYŽ¡‘dark$–¹Nxfig“&Ž¤ؼ¹of:Ž¦‘Ãdark$–¹NDISPLAY=light.uni.verse:0“xfig“&Ž¡¹of:Ž¦‘Ãdark$–¹Nxfig“-display“light.uni.verse:0“&Ž¡¹Het–nYziet“er“naar“uit“dat“sommige“vš¸èersies“v‘ÿqÐan“telnet“automatisc˜h“het“ÁDISPLAY‘nS¹v‘ÿqÐariabšGel“gelijk“go˜ed“zetten“opŽ¤ ®de–Î_remote“host.‘Ý>Als“je“er“zo“een“hebt“dan“heb“v¸èeel“geluk“en“mošGet“je“het“niet“allemaal“met“de“hand“do˜en.Ž¡Zo–°niet,‘-de“meeste“v¸èersies“v›ÿqÐan“telnet“trans“pGorteren“het“ÁTERM‘Ÿ¹v˜ariabšGel;‘(+met“een“b˜eetje“hac•¸èk“en–°is“het“mogelijkŽ¡om–U het“ÁDISPLAY“¹v›ÿqÐariabGele“met“het“ÁTERM“¹v˜ariabGel“mee“te“laten“k¸èomen.Ž©ؼHet–ðXidee“v‘ÿqÐan“het“transpšGorteren“is“een“b˜eetje“scripting“om“het“v¸èolgende“te“b˜ereik•¸èen:‘§ðv“o˜ordat–ðXje“telnet,Ž¡bGev•¸èestigen›Z1w“e˜het˜v‘ÿqÐariabGel˜ÁDISPLAY‘Yî¹aan˜ÁTERM¹.˜Dan˜telnet˜op˜de˜remote˜host,–›uin˜de˜Á.*shrc˜¹le,“lees˜hetŽ¡v›ÿqÐariabGel–U ÁDISPLAY“¹v˜an“ÁTERM¹.ŽŸ(Àœ¿6Ž‘xDe–G\servšcer“v˜ertellenŽŸ¿:¹De–2Ìservš¸èer“zal“niet“zomaar“een“connectie“v‘ÿqÐan“iedereen“accepteren.‘fJe“wilt“toGc˜h“niet“dat“iedereen“zo“maar“eenŽ¡windoš¸èw–ý8op“je“sc˜herm“k‘ÿqÐan“zetten.‘T3Of“lezen“w˜at“je“sc˜hrijft““on˜thoud“je“k˜eybGoard“is“onderdeel“v‘ÿqÐan“het“displa˜y!Ž¦V‘ÿ*¸eel–Á‘mensen“scš¸èhijnen“zic˜h“niet“te“realiseren“dat“het“tošGestaan“v‘ÿqÐan“to˜egang“tot“je“displa¸èy“een“gro˜ot“securit¸èyŽ¡risico–ÿhis.‘TîIemand“met“toGegang“to“je“displa¸èy“k›ÿqÐan“lezen“v˜an“en“sc•¸èhrijv“en–ÿhnaar“je“scš¸èherm,‘alles“lezen“w˜at“je“t˜ypt,Ž¡en–U je“m¸èuis“acties“registreren.Ž¦De–åómeeste“servš¸èers“k˜ennen“t˜w˜ee“manieren“v˜oGor“het“legaliseren“v‘ÿqÐan“connecties“naar“de“serv˜er:‘“'het“host“lijstŽ¡mecš¸èhanisme–à‚(xhost)“en“het“magic“coGokie“mec˜hanisme“(xauth).‘§Dan“is“er“oGok“nog“ssh,›[de“secure“shell,˜dieŽ¡k‘ÿqÐan–U X“connecties“ošGok“do˜orsturen.ŽŸ#Ãó¥!¢N ecbx1200Å6.1Ž‘#=ÌXhostŽŸMª¹Xhost–1mlaat“connecties“toGe“op“hostnaam.›ešDe“serv¸èer“houd“een“lijst“bij“v‘ÿqÐan“host“die“mogen“connecten.˜Het“k‘ÿqÐanŽ¡oGok–îÏhost“c•¸èhec“king›îÏv“olledig˜uitsc“hak“elen.‘OeOn“thoud:‘>Xdat˜bGetek“end˜dat˜er˜geen˜c“hec“ks˜meer˜uitgev“oGerd˜w“orden,Ž¡dus›U ¼ie–ÿ}/der“e‘o¹host˜mag˜connecten!Ž¦Je–6}k‘ÿqÐan“de“servš¸èers“host“list“bijhouden“met“het“programmatje“xhost.‘gJOm“dit“te“gebruik˜en“moGet“je“het“mec˜ha-Ž¡nisme–U uit“het“vš¸èolgende“v˜o•Gorb“eeld‘U gebruik˜en.Ž©´å‘Ãlight$–¹Nxhost“+dark.matt.erŽŸؼ¹Dit–©ostaat“connecties“v‘ÿqÐan“de“host“Ádark.matt.er“¹to•Ge.‘nnZo“dra–©oje“X‘©Zclien¸èt“een“connectie“heeft“gemaakt“en“eenŽ¡windo•¸èw›U w“eergeeft,˜sc“hak“el˜v“oGor˜de˜v“eiligheid˜meer˜connecties˜uit˜met:Ž¦‘Ãlight$–¹Nxhost“-dark.matt.erŽŽŽŒ‹3 Û_2 ý ~?Ÿ„€ÕÁGŽÀ6.‘ XDe–Õservš®>er“v˜ertellen’Z-û¹5ŽŽ ÕÁ ýV¯Je–U k‘ÿqÐan“host“vš¸èericatie“uitsc˜hak˜elen“met:Ž©´å‘Ãlight$–¹Nxhost“+ŽŸؼ¹Dit›‹9sc•¸èhak“elt˜de˜host˜toGegang˜v“ericatie˜uit˜en˜dus˜¼ie–ÿ}/der“e“en‘OŽ¹mag˜connecten.‘ÌJe˜moGet˜dit˜¼no“oit‘~¹doGen˜opŽ¤ ®een›HKnet•¸èw“erk˜w“aar˜je˜niet˜¼al‘‚Ðle‘š¹gebruik“ers˜v“ertrou“wd˜(in“ternet˜bijv“o•Gorb“eeld).‘KJe˜kun•¸èt˜host˜v“ericatie˜w“eerŽ¡aanzetten‘U met:Ž¦‘Ãlight$–¹Nxhost“-ŽŸؼ¹xhost–s~-“vš¸èerwijderd“¼niet‘fG¹alle“host-Namen“uit“zic˜hzelf“v‘ÿqÐan“de“toGeganslijst“(dat“zou“niet“ec˜h˜t“slim“zijn“-“je“k‘ÿqÐanŽ¡dan–U niet“meer“connecten“naar“je“Xservš¸èer“v‘ÿqÐan“w˜aar“dan“ošGok“-“zelfs“niet“v‘ÿqÐanaf“lo˜calhost).Ž©ؼ¼Xhost–ûøis“e›ÿ}/en“ze˜er“onveilig“me˜chanisme.‘ÅŒ¹Het–Æymaakt“geen“onderscš¸èheid“tussen“v˜ersc˜hillende“gebruik˜ers“op“deŽ¡remote–‘Ühost.›'³Ook“host-Namen“(eigenlijk“adressen)“kunnen“gesp•Go“ofd–‘Üw¸èorden.˜Dit“is“v•¸èerv“elend–‘Üals“je“op“eenŽ¡on•¸èbGetrou“wbaar›U net“w“erk˜zit˜(in“ternet˜bijv“o•Gorb“eeld).ŽŸ#ÃÅ6.2Ž‘#=ÌXauthŽŸMª¹Xauth–SKstaat“connectie“toGe“aan“iedereen“die“het“juiste“geheim“wš¸èeet.‘päZo'n“geheim“w˜ordt“authorization“recordŽ¡genošGemd,–U of“magic“co˜okie.‘q€Dit“legalisatie“sc¸èhema“is“formeel“geno˜emd“MIT-MA¸èGIC-COOKIE-1.Ž¦De–GcošGokies“v¸èo˜or“v•¸èersc“hillende›Gdispla“ys˜staan˜samen˜is˜Á/.Xauthority¹.‘G!Jou“w˜Á/.Xaurthority˜¹moGet˜nietŽ¡toGegangkš¸èelijk–êzijn“v˜ošGor“andere“gro˜ep˜en“en“gebruik¸èers.‘ 09Het“xauth“programmatje“houd“deze“co˜okies“bij,Ž¡v‘ÿqÐandaar–U de“bijnaam“xauth“vš¸èoGor“het“sc˜hema.Ž¦Bij–hhet“starten“v‘ÿqÐan“een“sessie,‘lÐleest“de“serv¸èer“de“cošGokie“uit“het“b˜estand“die“aangegevš¸èen“w˜ordt“doGor“de“optieŽ¡Á-auth¹.‘™™Nadat,‘€de–·Óservš¸èer“alleen“connecties“v‘ÿqÐanaf“clien˜ts“tošGelaat“met“de“zelfde“co˜okie.‘™™Als“de“co˜okie“inŽ¡Á/.Xauthority–U ¹v¸èeranderd,“¼de–“°server“zal“de“ver›ÿ}/andering“dan“niet“do˜orvo˜er˜en‘ÄU¹.Ž¦Nieu•¸èw“ere›`Áserv“ers˜genereren˜coGokies˜gelijk˜als˜clien“ts˜er˜om˜vragen.‘”bCoGokies˜blijv“en˜nog˜steeds˜bGehoudenŽ¡binnenin–Uóde“servš¸èer;‘Ö]ze“k˜omen“niet“terec˜h˜t“in“Á/.Xauthority“¹bGehalv˜e“als“een“clien˜t“ze“daar“zet.‘súV‘ÿ*¸olgensŽ¡Da¸èvid‘U Wiggins:Ž©ؼ‘'ÿEen–ñv¸èolgende“plošGoi“is“to˜egev¸èo˜egd“aan“X11R6.3“daar“zou“je“in“ge€ïn¸èteresseerd“kunnen“zijn.‘VViaŽ¡‘het›4Ønieu•¸èw“e˜SECURITY–4Ïextensie,‘;Lk‘ÿqÐan˜de˜X“serv•¸èer˜zelf˜nieu“w“e˜coGokies˜genereren˜en˜terugplaatsenŽ¡‘ad-ho•Gc.‘oÅV‘ÿ*¸erder,‘Pøde›Oïco“okies˜kunnen˜on˜v•¸èertrou“wd˜w“orden˜aan˜gesteld˜daarom˜w“orden˜applicatiesŽ¡‘met–Czulk¸èe“cošGokies“b˜ep˜erkt“in“hš¸èun“handeling.‘<¤Bijv˜o•Gorb“eeld,‘ze–Ckunnen“dan“niet“de“in˜v˜oGer“v‘ÿqÐanŽ¡‘mš¸èuis–>en“k˜eybGoard“lezen,‘B´of“de“inhoud“v‘ÿqÐan“windo˜ws,‘B´v‘ÿqÐan“andere“v˜ertrou˜wde“gebruik˜ers.‘iÓEr“is“eenŽ¡‘nieuš¸èw–U sub“commando“gemaakt“v˜oGor“xauth“om“dit“mogelijk“te“mak˜en“v˜oGor“gebruik.Ž¦Xauth–€Dheeft“is“duidelijk“v¸èeiliger“dan“xhost.‘òíJe“k‘ÿqÐan“b•Gep“erkte›€Dto“egang˜v¸èo“or˜b“epaalde˜gebruik¸èers˜en˜hostsŽ¡instellen.‘ÙHet–Œ>struikš¸èelt“niet“o˜v˜er“gesp•Go“ofde–Œ>adressen“zoals“xhost.‘ÙEn“als“je“wilt“kun“je“xhost“er“oGok“nog“bijŽ¡gebruik¸èen.ŽŸ ÖÀ6.2.1Ž‘&ötDe–ÕCoQÂokie“mak®>enŽŸMª¹Als–Üje“xauth“wilt“gebruikš¸èen,‘ýÊmoGet“je“de“X‘Ûëserv˜er“starten“met“de“optie“Á-auth‘?¬authfile¹.‘JAls“je“het“startxŽ¡script–85gebruikt,‘=þdan“is“dat“gošGede“plaats“om“het“te“do˜en.‘gÜMaak“een“authorization“record“net“als“hieronder“inŽ¡je–U startx“script.ŽŸؼStukje–U uit“Á/usr/X11R6/bin/startx¹:ŽŽŽŒ‹>² Û_2 ý ~?Ÿ„€ÕÁGŽÀ6.‘ XDe–Õservš®>er“v˜ertellen’Z-û¹6ŽŽ ÕÁ ýV¯‘Ãmcookie|sed–¹N-e“'s/^/add“:0“.“/'|xauth“-qŽ© Š=‘xinit–¹N--“-auth“"$HOME/.Xauthority"ŽŸ^K¹McošGokie–C‹is“een“heel“klein“programmatje“in“het“util-lin¸èux“pakk‘ÿqÐage,‘zBho˜ofd“site“¼ftp://ftp.math.uio.no/pub/linux/¹.Ž¤ ®Als–^Âalternatief“kun“je“oGok“md5sum“gebruikš¸èen“om“v˜ersc˜hillende“data“(v‘ÿqÐan,‘a+bijv˜o•Gorb“eeld–^ÂÁ/dev/urandom“¹of“ÁpsŽ¡-axl¹)–U in“coGokie“om“te“zetten:ŽŸ:t‘Ãdd–¹Nif=/dev/urandom“count=1|md5sum|sed“-e“'s/^/add“:0“.“/'|xauth“-qŽ¦‘xinit–¹N--“-auth“"$HOME/.Xauthority"ŽŸ^K¹Als–#je“het“startx“script“niet“kun¸èt“aanpassen“(omdat“je“geen“rošGot“b˜en¸èt)“ga“dan“naar“je“systeem“administratorŽ¡en–®=vraag“hem“om“dit“te“doGen,›„of“laat“hem“xdm“starten.‘|ÖAls“hij“het“niet“k‘ÿqÐan“of“wil,˜dan“maak“je“eenŽ¡Á/.xserverrc–D¹script.‘\áAls“je“het“script“hebt,‘#£zal“xinit“het“runnen“ipš¸èv“de“ec˜h˜te“X‘4serv˜er.‘\áDan“kun“je“de“ec˜h˜teŽ¡X‘a)servš¸èer–a,starten“v‘ÿqÐan˜uit“het“script“met“de“gošGed“opties“natuurlijk.‘•£Om“dat“te“do˜en,‘d/laat“je“Á/.xserverrc“¹deŽ¡magic–U coGokie“regel“gebruikš¸èen“en“dan“de“ec˜h˜te“X“serv˜er“starten:ŽŸ:t‘Ã#!/bin/shŽ¦‘mcookie|sed–¹N-e“'s/^/add“:0“.“/'|xauth“-qŽ¦‘exec–¹N/usr/X11R6/bin/X“"$@"“-auth“"$HOME/.Xauthority"ŽŸ^K¹Als–Lhje“xdm“gebruikt“om“je“X‘L(sessie“bij“te“houden,‘Š:kun“je“xauth“gemakkš¸èelijk“gebruik˜en.‘WXZet“het“regeltjeŽ¡'Displaš¸èyManager.authDir–Ò×in“Á/etc/X11/xdm/xdm-config¹.‘FXdm“zal“n˜u“de“optie“Á-auth“¹gebruik˜en“als“de“serv˜erŽ¡start.‘eUAls–0žje“inlogd“bšGen¸èt“met“xdm,‘7ëdan“zet“xdm“de“co˜okie“in“Á/.Xauthority“¹v¸èo˜or“je.‘eUZie“xdm(1)“v¸èo˜or“meerŽ¡informatie.‘q€Bijvš¸èo•Gorb“eeld,–U mijn“Á/etc/X11/xdm/xdm-config“¹heeft“de“v˜olgend“regel:Ž©:t‘ÃDisplay–¹NManager.authDir:“/var/lib/xdmŽŸ ÁÀ6.2.2Ž‘&ötDe–ÕcošQÂokie“transp˜orterenŽŸMª¹Als–dBje“de“X‘d>servš¸èer“gestart“hebt“op“de“serv˜er“host“Álight.uni.verse“¹en“je“hebt“je“coGokie“in“Á/.Xauthority¹,Ž¡dan–U mošGet“je“de“co˜okie“transp˜orteren“naar“de“clien¸èt“Ádark.matt.er¹.ŽŸؼHet–:2makkš¸èelijkst“is“als“je“home“dir“op“ligh˜t“en“dark“zijn“gedeeld.‘h†De“Á/.Xauthority“¹les“zijn“het“zelfde,‘?•dusŽ¡de–‘ÉcošGokie“w¸èordt“gelijk“getransp˜orteerd.‘'zMaar,‘ óer“zit“een“addertje“onder“het“gras:‘êÑals“je“een“co˜okie“v¸èo˜or“Á:0Ž¡¹in–qde“le“zet“dan“denkt“dark“dat“het“vš¸èoGor“zic˜hzelf“is“ip˜v“v˜oGor“ligh˜t.‘¸rDus“je“moGet“de“v˜olledige“host-naamŽ¡gebruikš¸èen–Ifals“je“de“coGokie“maakt;‘MOJe“kun˜t“het“niet“w˜eg“laten.‘m—Je“kun˜t“dezelfde“coGokie“installeren“v˜oGor“Á:0“¹enŽ¡Álight:0‘U ¹met:Ž¦‘Ã#!/bin/shŽ¤ Š=‘cookie=`mcookie`Ž¡‘xauth–¹Nadd“:0“.“$cookieŽ¡‘xauth–¹Nadd“"$HOST:0"“.“$cookieŽ¡‘exec–¹N/usr/X11R6/bin/X“"$@"“-auth“"$HOME/.Xauthority"Ž¤^K¹Als–4áde“homedirectory's“niet“zijn“gedeeld,‘lÒkun“je“de“cošGokie“transp˜orteren“do˜or“middel“v‘ÿqÐan“rsh,‘lÒde“remoteŽŸ ®shell:Ž¦‘Ãlight$–¹Nxauth“list“"${HOST}:0"“|“rsh“dark.matt.er“xauth“nmerge“-Ž¡‘ 9b¹1.ŽŽŽ‘Haal–U de“cošGokie“uit“je“lo˜cale“Á/.Xauthority“¹(Áxauth–?¬nlist“:0¹).ŽŸ}‘ 9b2.ŽŽŽ‘V‘ÿ*¸erplaats–U het“naar“dark.matt.er“(¸j–?¬Ársh“dark.matt.er¹).ŽŽŽŒ‹M> Û_2 ý ~?Ÿ„€ÕÁGŽÀ7.‘ XX–ÕApplicatie“v‘ÿ\|an“een“andere“User-id’§¹7ŽŽ ÕÁ ýV¯‘ 9b3.ŽŽŽ‘Zet–U het“in“Á/.Xauthority“¹daar“(Áxauth–?¬nmerge“-¹).Ž©ؼNotitie–ãv¸èošGor“het“gebruik“v‘ÿqÐan“Á$¸fÁHOST¸g¹.‘ZÁJe“mo˜et“de“co˜okie“transp˜orteren“die“samenhangt“met“lo˜cal“host.‘ZÁEenŽ¤ ®remote–U X“applicatie“zal“het“displaš¸èy“v‘ÿqÐalue“Á:0“¹gebruik˜en“op“de“remote“mac˜hine,“dat“is“niet“w˜at“je“wilde!ŽŸؼHet–’¬is“mogelijk“dat“rsh“niet“vš¸èoGor“je“w˜erkt.‘*%Naast“dat,‘¢heeft“rsh“oGok“een“securit˜y“probleem“(gesp•Go“ofde‘’¬hostŽ¡namen).‘q€Als–U je“niet“wil“of“k›ÿqÐan“gebruik“mak¸èen“v˜an“rsh,“kun“je“het“ošGok“handmatig“transp˜orteren,“zoals“dit:ŽŸ´å‘Ãlight$–¹Necho“$DISPLAYŽ¤ Š=‘:0Ž¡‘light$–¹Nxauth“list“$DISPLAYŽ¡‘light/unix:0–¹NMIT-MAGIC-COOKIE-1“076aaecfd370fd2af6bb9f5550b26926Ž¡‘light$–¹Nrlogin“dark.matt.erŽ¡‘Pass-word:Ž¡‘dark%–¹Nsetenv“DISPLAY“light.uni.verse:0Ž¡‘dark%–¹Nxauth“add“$DISPLAY“.“076aaecfd370fd2af6bb9f5550b26926Ž¡‘dark%–¹Nxfig“&Ž¡‘[15332]Ž¡‘dark%–¹Nlog“outŽ¡‘light$Ž¦¹Zie–U ošGok“rsh(1)“en“xauth(1)“v¸èo˜or“meer“informatieŽ©ؼHet–[,is“mogelijk“om“de“cošGokie“te“transp˜orteren“met“het“ÁTERM‘[+¹v‘ÿqÐariab˜el“of“ÁDISPLAY‘[+¹v‘ÿqÐariab˜el“als“je“tel-net“do˜etŽ¤ ®naar–5een“remote“host.‘(Dit“w¸èerk“het“zelfde“als“het“transpGorteren“v›ÿqÐan“het“ÁDISPLAY‘4ɹv˜ariabGel“met“het“ÁTERMŽ¡¹v‘ÿqÐariabGel.›q€Zie–U Sectie“5:˜De“clienš¸èt“v˜ertellen.ŽŸ ÖÀ6.2.3Ž‘&ötDe–ÕCoQÂokie“gebruik®>enŽŸMª¹Een–ì—X‘ì}applicatie“op“dark.matt.er,›zoals“xg,˜zal“automatiscš¸èh“kijk˜en“in“Á/.Xauthority“¹om“zic˜hzelf“te“legalis-Ž¡eren.Ž¦Er–f9is“een“klein“probleem“als“je“gebruikt“Álocalhost:D¹.“X‘eýclienš¸èt“applicaties“kunnen“dit“v˜ertalen“in“Áhost/unix:DŽ¡¹v¸èošGor–€Ýhet“do˜el“om“de“co˜okie“te“on¸ètv‘ÿqÐangen.‘*¿Dat“b˜etek¸èend“dat“de“co˜okie“v¸èo˜or“Álocalhost:D‘€§¹in“je“Á/.XauthorityŽ¡¼ge‘ÿ}/en‘u¹zin–U meer“heeft.ŽŸ#ÃÅ6.3Ž‘#=ÌSshŽŸMª¹Authorizatie–°Frecords“wš¸èorden“gezonden“zonder“encryptie.‘‚ñAls“bang“bGen˜t“dat“iemand“je“connectie“auistert,Ž¡gebruik–˜˜dan“ssh,‘évde“secure“shell.‘;èHet“gebruikt“X‘˜Eforwš¸èarding“o˜v˜er“ge€ëncrypte“connecties.‘;èEn“daarnaastŽ¡is–­'het“gew¸èeldig“op“andere“manieren.‘y”Het“is“een“gošGede“structurele“to˜ev¸èo˜eging“aan“je“systeem.‘y”Ga“naarŽ¡¼http://www.cs.hut./ssh/–U ¹,“de“ssh“home“page.Ž¦Wie–U wš¸èeet“er“andere“manieren“v˜oGor“legaliserings“sc˜hema's“of“encrypted“X“connecties?‘q€Missc˜hien“k˜erbGeros?ŽŸ(Àœ¿7Ž‘xX–G\Applicatie“v‘ÿÆan“een“andere“User-idŽŸ¿:¹Stel–ܳdat“je“een“grascš¸èhe“applicatie“wilt“draaien“met“roGot“authen˜thicatie.‘I\AlhoGew˜el“je“X‘Ü”sessie“onder“je“eigenŽ¡accounš¸èt–x¤draait.‘Ü Op“het“eerste“gezic˜h˜t“lijkt“dit“vreemd,‘†maar“de“X‘x›serv˜er“k‘ÿqÐan“de“tošGol“to˜egang“¼niet‘km¹to˜estaanŽ¡op–I²jou“displa¸èy‘ÿ*¸.‘m±HošGe“is“dit“mogelijk,‘Kûals“de“ro˜ot“normaal“alles“mag“do˜en?‘m±en“ho˜e“ga“je“dit“probleem“oplossenŽ¡?ŽŽŽŒ‹Z Û_2 ý ~?Ÿ„€ÕÁGŽÀ7.‘ XX–ÕApplicatie“v‘ÿ\|an“een“andere“User-id’§¹8ŽŽ ÕÁ ýV¯Laat–[ons“foGcussen“op“de“situatie,›*je“wilt“een“X‘Mapplicatie“onder“een“User-id“Áclientuser¹,˜maar“de“X‘Msessie“isŽ¤ ®gestart–º¶došGor“Áserveruser¹.‘>Als“je“de“sectie“o•¸èv“er–º¶co˜okies“hebt“gelezen,‘Ù˜dan“is“het“duidelijk“w¸èaarom“ÁclientuserŽ¡¹geen–;tošGegang“krijgt“tot“jou“displa¸èy:‘ärÁclientuser/.Xauthority“¹heeft“niet“de“go˜ede“magic“co˜okie“v¸èo˜or“to˜egangŽ¡tot–U de“displa¸èy‘ÿ*¸.‘q€De“gošGede“co˜okie“kun“je“vinden“in“Áserveruser/.Xauthority¹.ŽŸ#ÃÅ7.1Ž‘#=ÌV‘þàersc• hillende›¸gebruik“ers˜op˜dezelfde˜HostŽŸMª¹Alles–¢©dat“wš¸èerkt“v˜oGor“remote“X‘¢|w˜erkt“natuurlijk“oGok“v˜oGor“X‘¢|v‘ÿqÐan“een“ander“User-id“(v˜oGoral“Áslogin‘?¬localhostŽ¡-l‘?¬clientuser¹).‘»het–m§is“wš¸èaar“dat“de“clien˜t“host“en“de“serv˜er“tošGev‘ÿqÐallig“hetzelfde“zijn.‘»Alho˜ew¸èel,‘sÈals“de“hostsŽ¡hetzelfde–U zijn,“dan“is“er“een“kš¸èortere“w˜eg“om“de“magic“cošGokie“te“transp˜orteren.Ž©ؼW‘ÿ*¸e–gRnemen“aan“dat“jij“gebruikt“maakt“v›ÿqÐan“Ásu“¹om“v˜an“User-id“te“wisselen.‘¨W‘ÿ*¸at“je“normaal“kun¸èt“doGen“is“eenŽ¡script›¯Ðsc•¸èhrijv“en˜om˜Ásu˜¹aan˜te˜ro•Gep“en,‘Æ|maar˜zet˜in˜het˜script˜dat˜Ásu˜¹execute˜enk¸èel˜de˜dingen˜die˜no“dig˜zijnŽ¡v¸èošGor–U remote“X.“Dit“zijn“de“ÁDISPLAY“¹v‘ÿqÐariab˜ele“en“de“transfer“v‘ÿqÐan“de“magic“co˜okie.Ž¦Het–¨3v›ÿqÐaststellen“v˜an“het“ÁDISPLAY‘§š¹v˜ariabšGel“het“is“b˜est“simp˜el;‘ѽhet“b˜etek¸èend“alleen“het“v›ÿqÐaststellen“v˜anŽ¡ÁDISPLAY="$DISPLAY"Ž¦¹vš¸èoGordat–U je“het“su“commando“optie“start.‘q€Dus“je“kun˜t“het“zo“doGen:ŽŸ´å‘Ãsu–¹N-“clientuser“-c“"env“DISPLAY=$DISPLAY“client-program“&"ŽŸؼ¹Dit–Œwš¸èerkt“nog“niet,‘0fomdat“w˜e“nog“steeds“de“cošGokie“mo˜eten“transp˜orteren.‘ÃW‘ÿ*¸e“kunnen“de“co˜okie“ophalenŽ¡doGor–U middel“v‘ÿqÐan“Áxauth–?¬list“"$DISPLAY"Ž¦¹.‘dDie–ãlcommando“gebšGeurd“om“de“co˜okie“in“een“format“go˜ed“formaat“te“krijgen“v¸èo˜or“het“terug“sturen“naarŽ¡Áxauth¹;‘|îdat–Tis“wš¸èat“w˜e“willen!‘ÁDus“w˜e“sturen“de“gošGede“co˜okie“terug“naar“Áxauth“¹in“het“Ásu“¹commando,‘K¡hetŽ¡v‘ÿqÐariabGel–U ÁDISPLAY‘?¬daar¹,“en“het“commando“starten“wš¸èat“w˜e“willen.Ž©´å‘Ãsu–¹N-“clientuser“-c“"xauth“add“`xauth“list“$DISPLAY`;“\ŽŸ Š=‘wzexec–¹Nenv“DISPLAY=$DISPLAY“client-program"ŽŸؼ¹W‘ÿ*¸e– úkunnen“een“scripts“rond“dit“alles“sc•¸èhrijv“en– úmet“de“v¸èolgende“v‘ÿqÐariabGelen“Áclientuser“¹en“Áclient-program¹.Ž¡Laten–U wš¸èe“het“script“een“bGeetje“v˜erbGeteren“en“het“minder“leesbaar“mak˜en.‘q€Het“ziet“eruit“als“dit:Ž¦‘Ã#!/bin/shŽ¤ Š=‘if–¹N[“$#“-lt“2“]Ž¡‘then–¹Necho“"usage:“`basename“$0`“clientuser“command"“>&2Ž¡‘0žˆexit‘¹N2Ž¡‘fiŽ¡‘CLIENTUSER="$1";‘¹NshiftŽ¡‘exec–¹Nsu“-“"$CLIENTUSER"“-c“"xauth“add“`xauth“list“\"$DISPLAY\"`;“\Ž¡’DŠexec–¹Nenv“DISPLAY='$DISPLAY'“"'"$SHELL"'"“-c“'$*'"ŽŸؼ¹Ik–[ denk“dat“het“wš¸èel“w˜erkt“in“de“meeste“situaties.‘…De“enige“tek˜ort“k˜omming“die“ik“met“k‘ÿqÐan“met“n˜u“k‘ÿqÐanŽ¤ ®indenk¸èen–Üéis“dat,›ôôdoGor“het“gebruik“v‘ÿqÐan“Á'$*'¹,˜single“quotes“in“Ácommand“¹zullen“het“Ásu“¹commando“met“argumen¸ètŽ¡(Á'$*'¹)–U een“bGeetje“in“de“wš¸èar“brengen.‘q€Als“je“denk“dat“er“iets“ec˜h˜t“mis“is“mail“me.ŽŸؼRošGep–U het“script“aan“Á/usr/local/bin/xsu¹,“en“je“kun¸èt“do˜en:Ž¦‘Ãxsu–¹Nclientuser“'command“&'ŽŸؼ¹Makk¸èelijk?,‘U neeŽŽŽŒ‹ f Û_2 ý ~?Ÿ„€ÕÁGŽÀ8.‘ XEen–ÕRemote“Windo®>w“Manager“draaien’õIú¹9ŽŽ ÕÁ ýV¯Å7.2Ž‘#=ÌClien• t›¸gebruik“er˜is˜Ro_úotŽŸMª¹Blijkbaar–’›k‘ÿqÐan“alles“dat“v¸èošGor“niet“ro˜ot“clienš¸èt“gebruik˜ers“w˜erkt“oGok“w˜erk˜en“v˜ošGor“ro˜ot.‘)ñAlho˜ew¸èel“als“ro˜ot“kunŽ¤ ®je–?het“gemakk•¸èelijk“er›?mak“en˜,‘y~dit˜omdat˜de˜roGot˜iedereen˜zijn˜Á/.Xauthority˜¹le˜mag˜lezen.‘/.Het˜is˜nietŽ¡nošGdig–Ùde“co˜okie“te“transp˜orteren.‘HUHet“enigste“dat“je“hebt“te“do˜en“is“het“ÁDISPLAY›Ù~¹zetten,‘òQen“ÁXAUTHORITY˜¹naarŽ¡Áserveruser/.Xauthority¹.‘q€Dus–U je“k‘ÿqÐan:Ž©´å‘Ãsu–¹N-“-c“"exec“env“DISPLAY='$DISPLAY'“\Ž¤ Š=‘n~XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}'‘¹N\Ž¡‘n~command"ŽŸؼ¹Als–U je“hier“een“script“v‘ÿqÐan“maakt,“dan“ziet“het“er“ongev¸èeer“zo“uit:Ž¦‘Ã#!/bin/shŽ¡‘if–¹N[“$#“-lt“1“]Ž¡‘then–¹Necho“"usage:“`basename“$0`“command"“>&2Ž¡‘0žˆexit‘¹N2Ž¡‘fiŽ¡‘su–¹N-“-c“"exec“env“DISPLAY='$DISPLAY'“\Ž¡‘n~XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}'‘¹N\Ž¡‘n~"'"$SHELL"'"–¹N-c“'$*'"Ž¤ؼ¹NoGem–U het“script“Á/usr/local/bin/xroot¹,“en“dan“kun“je:Ž¦‘Ãxroot–¹N'control-panel“&'Ž¡¹Kan–U het“nog“een•¸èv“oudiger,‘U nee?ŽŸ(Àœ¿8Ž‘xEen–G\Remote“Windocw“Manager“draaienŽŸ¿:¹Een–òkwindo¸èw“manager“(als“Átwm¹,–¾Áwmaker¹,“of–òkÁfvwm95¹)“is“een“applicatie“als“elk“ander.‘IbDe“normale“proGcedureŽ¤ ®zou–U dus“moGeten“w•¸èerk“en.Ž©ؼV‘ÿ*¸aak,‘Qòin–Q'elk“gev›ÿqÐal“een“windo¸èw“manager“k˜an“op“elkš¸èe“tijd“op“een“displa˜y“draaien.‘p-Als“je“al“een“lok‘ÿqÐale“windo˜wŽ¡manager–~Šhebt“draaien,‘ˆädan“kun“je“niet“nog“een“remote“starten“(het“wš¸èordt“te“ingewikk˜eld“en“stopt)“je“moGetŽ¡dan–U de“lok‘ÿqÐale“quiten“of“killen.Ž¦V‘ÿ*¸eel–U X“sessie“scripts“eindigen“ongelukkig“met:ŽŸ´å‘Ãexec‘¹Nwindow-manager-of-choiceŽŸؼ¹En–BÒdat“bGetekš¸èend“dat“als“de“lok‘ÿqÐale“windo˜w“manager“stopt,‘F{oGok“je“sessie“stopt.‘kfHet“X‘BÍsysteem“(xdm“of“xinit)Ž¡neemš¸èt–U je“sessie“o˜v˜er“en“logt“jou“uit.Ž¦Je–wmošGet“een“b˜eetje“mo˜eite“do˜en,‘> maar“het“k‘ÿqÐan“en“het“is“niet“ec•¸èh“t–wmo˜eilijk,‘> sp˜eel“eens“w¸èat“met“je“sessionŽ¡script–U (normaal“Á/.xsession“¹of“Á/.xinitrc¹)“om“het“v¸èoGor“elk‘ÿqÐaar“te“krijgen.Ž¦Onš¸èthoud–cdat“sommige“windo˜w“managers“v‘ÿqÐaak“de“optie“bieden“om“nieu˜w˜e“programma's“te“starten“en“dat“zalŽ¡runnen–Cop“de“lok›ÿqÐale“mac¸èhine.‘®éDat“is,‘D lok˜aal“wš¸èaar“de“windo˜w“manager“draait.‘®éAls“je“een“remote“windo˜wŽ¡manager–Îdraait,‘ì:zal“het“oGok“remote“applicaties“starten“en“dat“is“niet“wš¸èat“je“wilt.‘Ü$Natuurlijk“zullen“ze“w˜elŽ¡v•¸èersc“hijnen–U op“wš¸èat“v˜oGor“jou˜w“lok‘ÿqÐaal“is.ŽŽŽŒ‹ s  Û_2 ý ~?Ÿ„€ÕÁGŽÀ9.‘ XProblemen‘Õoplossen’P±Æ¹10ŽŽ ÕÁ ýV¯¿9Ž‘xProblemen‘G\oplossenŽŸ¿:¹De–Teerste“kš¸èeer“dat“je“een“remote“applicatie“probGeert“te“draaien,‘THis“het“normaal“dat“het“niet“w˜erkt.‘q&Hier“eenŽ¤ ®paar–U normale“fout“b•Go“o“dscš¸èhapp“en,–U en“mogelijk˜e“oplossingen“om“je“op“w˜eg“te“helpGenŽ©´å‘Ãxterm–¹NXt“error:“Can't“open“display:ŽŸؼ¹Er–1’is“geen“ÁDISPLAY‘1‰¹v‘ÿqÐariabGele“in“de“omgeving,‘8®en“je“hebt“de“applicatie“niet“vš¸èertelt“w˜elk˜e“Á-display“¹jok˜er.‘e¦DeŽ¡applicatie–@ìheeft“een“lege“string“aangenomen,‘Dömaar“dat“is“syn•¸ètactisc“h–@ìniet“gošGed.‘jÄOm“dit“op“te“lossen“mo˜et“jeŽ¡de–U gošGede“ÁDISPLAY“¹omgevings“v‘ÿqÐariab˜ele“zetten“(met“Ásetenv“¹of“Áexport“¹afhank¸èelijk“v‘ÿqÐan“je“shell).Ž¦‘Ã_X11TransSocketINETConnect:–¹NCan't“connect:“errno“=“101ŽŸ Š=‘xterm–¹NXt“error:“Can't“open“display:“love.dial.xs4all.nl:0ŽŸؼ¹Errno–"—101“is“Net•¸èw“ork–"—is“unreacš¸èhable.‘ÙåDe“applicatie“k‘ÿqÐan“geen“net˜w˜erk-“connectie“mak˜en“naar“de“serv˜er.Ž¡Kijk–oëof“je“de“gošGede“ÁDISPLAY‘oä¹heb“gezet,‘ven“of“de“serv¸èer“b˜erijkbaar“v‘ÿqÐanaf“jou“mac¸èhine“(“dit“zou“go˜ed“mo˜etenŽ¡wš¸èanneer–U je“al“op“de“serv˜er“bGen˜t“in“gelogd“en“k‘ÿqÐan“tel-netten“naar“de“clien˜t)Ž¦‘Ã_X11TransSocketINETConnect:–¹NCan't“connect:“errno“=“111ŽŸ Š=‘xterm–¹NXt“error:“Can't“open“display:“love.dial.xs4all.nl:0ŽŸؼ¹Errno–=111“is“Connection“refused.‘)8De“servš¸èer“w˜aar“je“naar“probšGeert“te“connecten“is“b˜ereikbaar,‘wmaar“deŽ¡desbšGetreende– Hserv¸èer“b˜estaat“daar“niet“Kijk“of“je“de“go˜ede“host-naam“gebruik“en“het“go˜ede“displaš¸èy“n˜ummer.Ž¦‘ÃXlib:–¹Nconnection“to“":0.0"“refused“by“serverŽ¤ Š=‘Xlib:–¹NClient“is“not“authorized“to“connect“to“ServerŽ¡‘xterm–¹NXt“error:“Can't“open“display:“love.dial.xs4all.nl:0.0ŽŸؼ¹De–õ)clienš¸èt“k‘ÿqÐan“connectie“mak˜en“met“de“serv˜er,‘,maar“de“serv˜er“geeft“geen“toGestemming“v˜oGor“de“clien˜t“(nietŽ¤ ®geauthoriseerd).‘lW‘ÿ*¸eet–Dõje“zek¸èer“dat“je“magic“cošGokie“go˜ed“hebt“getransp˜orteerd,‘H1en“dat“deze“nog“geldig“is“(deŽ¡servš¸èer–U gebruikt“steeds“een“nieu˜w˜e“coGokie“als“er“een“nieu˜w˜e“sessie“w˜ordt“gestart).ŽŽŽŒø~Kƒ’À;èÛ_2ÕÁG ó¥!¢N ecbx1200óqLË ectt0900óqLË ectt1000ó]fŒ ecbx1000ó&Lt$ffffecbx1440óŒ6 ecss1000ó½HЃ ecti1000óþÖëI½q½qecss2074ó 1ê± ecrm1000ó !",š cmsy10ù‡(ßßßßßßß