Slo-Tech - Francoski bloger "Gu1" je prijavil zoprno napako v konfiguraciji X strežnika verzije 1.11 ali več, ki omogoča odklep zaklenjenega zaslona (xscreensaver) s pritiskom na tipke ctrl-alt-* (zvezdica na numeričnem delu tipkovnice), brez poznavanja gesla od trenutnega ali korenskega uporabnika.
Napaka potrjeno deluje na Fedori 16, unstable različici Debiana, Arch Linux, Gentooja oz. praktično na vseh distribucijah, ki uporabljajo sveže paketke. Trenutni (11.10 Oneiric) in prihajajoči (12.04 Precise) Ubuntu sicer ostajata na 1.10, in tudi mi napake nismo uspeli reproducirati na tem sistemu. 1.11 je sicer izšla lani konec avgusta.
Gu1 je še malo povohljal naokoli (kar je zaradi odprtokodne narave programja v celoti mogoče, dovoljeno in celo zaželeno) in našel vzrok. Razvijalci grafičnega strežnika X so dolgo nazaj vanj vgradili funkcijo AllowClosedownGrabs, ki omogoča ubitje programa, ki si je prisvojil tipkovnico in miš -- prikladno, če se tak program med razvojem ali celo normalno uporabo sesuje. Tipični kandidati so prav window oz. desktop managerji, wine igre in podobno, seveda pa zadeva tudi ohranjevalnike zaslona, ki rabijo za uspešen zaklep sistema dobiti ekskluziven dostop vhodnih naprav. V normalnih pogojih je ta opcija že več let izklopljena, a se je v 1.11-ki zaradi drugačne konfiguracije knjižnice xkb vklopila nazaj. Fedora je že objavila popravek, uporabniki ostalih distribucij pa si jo lahko izklopite v xorg.conf, odsek ServerFlags:
$ man xorg.conf Option "AllowDeactivateGrabs" "boolean" This option enables the use of the Ctrl+Alt+Keypad-Divide key sequence to deactivate any active keyboard and mouse grabs. Default: off.
Option "AllowClosedownGrabs" "boolean" This option enables the use of the Ctrl+Alt+Keypad-Multiply key sequence to kill clients with an active keyboard or mouse grab as well as killing any application that may have locked the server, normally using the XGrabServer(3x) Xlib function. Default: off. *Note* that the options AllowDeactivateGrabs and AllowClosedownGrabs will allow users to remove the grab used by screen saver/locker programs. An API was written to such cases. If you enable this option, make sure your screen saver/locker is updated.
Option “DontZap” "boolean" This disallows the use of the Terminate_Server XKB action (usu‐ ally on Ctrl+Alt+Backspace, depending on XKB options). This action is normally used to terminate the Xorg server. When this option is enabled, the action has no effect. Default: off.
Dolgoročna rešitev je seveda popravek za xscreensaver. Avtorji X strežnika so njegove programerje posebej opozorili na varnostne implikacije od AllowClosedownGrabs in jim celo ponudili poseben API, preko katerega lahko ctrl-alt-* preprosto ignorirajo (podobno kot lahko C koda ignorira KILL/TERM/HUP in druge signale). Žal to nikoli ni bilo izvedeno.
Uporabniki, ki imate občasne težave z neodzivnimi X aplikaciji (zlasti wine ali druge celozaslonske igre) boste morda hoteli vklopiti te opcije. Če ne drugega, bo Option "DontZap" "false" omogočil, da ponovno zaženete grafični vmesnik ne glede na vse. Sicer še vedno obstaja možnost prehoda v tekstovni terminal (ctrl-alt-f1) in poboj problematične aplikacije od tam, oz. če še to ne dela, dostop preko ssh-ja. S tem da je treba povedati, da Ubuntu in še nekatere druge distribucije po privzetem več ne vključujejo ssh strežnika.
Če že, potem kakšna delovna okolja, kjer se uporablja Linux na namizju z novejšimi programskimi komponentami. "Šole" dvomim, da se jih to kaj dosti tiče, bolj se gre za kakšna podjetja, ki uporabljajo distribucijo, ki se je to pač tiče. Se pravi z vidika uporabnika gre bolj za obdobje po šoli.
No saj z X strežnikom ni nič tako hudo narobe, da bi ga sedaj kar tako dajali v nič, ker se ustvarja toliko pompa okrog ene nastavitve in ker daje takšen rezultat, kot je zanj nastavljen. Wayland prinaša nekatere odgovore na izzive časa in za to so oči uprte vanj, kaj bo uspel ponuditi.
Tako kot Linux uporabniki radi pogledamo z zanimanjem po kakšnem prihajajočem datotečnem sistemu, tako tudi po prihajajočem zaslonskem strežniku, kar pa ne pomeni, da s trenutnim stanjem nismo zadovoljni. Nekateri so verjetno bolj, drugi pa manj, kar je spet normalno.
No saj z X strežnikom ni nič tako hudo narobe, da bi ga sedaj kar tako dajali v nič, ker se ustvarja toliko pompa okrog ene nastavitve in ker daje takšen rezultat, kot je zanj nastavljen.
Včasih daje takšne rezultate. Meni nikakor ne uspe ponoviti tega 'bug-a'.
Če že, potem kakšna delovna okolja, kjer se uporablja Linux na namizju z novejšimi programskimi komponentami. "Šole" dvomim, da se jih to kaj dosti tiče, bolj se gre za kakšna podjetja, ki uporabljajo distribucijo, ki se je to pač tiče. Se pravi z vidika uporabnika gre bolj za obdobje po šoli.
Koliko resnih uporabnikov, ali celo serverjev, pa ima prižgan GUI in pa ohranjevalnik zaslona?
No saj z X strežnikom ni nič tako hudo narobe, da bi ga sedaj kar tako dajali v nič, ker se ustvarja toliko pompa okrog ene nastavitve in ker daje takšen rezultat, kot je zanj nastavljen.
Včasih daje takšne rezultate. Meni nikakor ne uspe ponoviti tega 'bug-a'.
Ne. Resni uporabniki raje izgubljajo cajt s konzolo. Še posebej pri urejanju slik, videa, glasbe... pa programiranju kakih brezveznih spletnih strani (in drugih grafičnih aplikacij)...*
*da ne bo pomote... treba vklopit sarkazm detektor.
Resni uporabniki točno vedo katera orodja so najboljša za delo ki ga trenutno opravljajo. GUI ali ne...
Koliko resnih uporabnikov, ali celo serverjev, pa ima prižgan GUI in pa ohranjevalnik zaslona?
Tukaj pravijo, da se ocene začnejo pri nekje 30 milijonov in navzgor.
Včasih daje takšne rezultate. Meni nikakor ne uspe ponoviti tega 'bug-a'.
Ne saj ta nastavitev v praksi na bistveno nižjem številu Linux uporabnikov na namizju odklene zaslon. Pa še tam ko odklene, če se ne motim je večina že pokrpano?
Tudi meni ni ratalo ne na ubuntu ne na fedori :)
Ubuntu ni sploh bil v igri za to zadevo. Drugače pa na Linux imaš izbiro med GUI in terminalom in načeloma bi se bila neumnost kateremu koli odreči in oboje pride prav.
Če malo poscrollaš dol vidiš, da je človek itak z vsemi skregan. Najraj bi enostavno ukinil KDE in GNOME verzijo ohranjevalnikov, drugim razvijalcem celo reče idioti... Sicer pa v članku lepo piše, da se niti ne bi rabil kaj dosti potruditi, da popravi hrošča.
Če malo poscrollaš dol vidiš, da je človek itak z vsemi skregan. Najraj bi enostavno ukinil KDE in GNOME verzijo ohranjevalnikov, drugim razvijalcem celo reče idioti... Sicer pa v članku lepo piše, da se niti ne bi rabil kaj dosti potruditi, da popravi hrošča.
Pointi na tistem linku so sicer precej resni in dokaj boleči - X ti pač ne more zakleniti računalnika, če obstaja kup načinov kako ga zaobiti in ubiti.
A sem edini, ki misli, da ni pametno zaupati dve popolnoma različni nalogi istemu kosu softvera? Torej zabavo (slikice na ekranu) in varnost (kontrola dostopa). Saj klovn in varnostnik sta tudi dve ločeni osebi.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
To ni rešitev. To so pobožne želje. Gotovo znaš opisat kako bi moral biti X strežnik spremenjen da bi to zanesljivo delovalo na Linuxu. Ker drugače si kot misica ko si želi mir na svetu.
Kdor sebe da med "resnega" uporabnika je ze dovolj povedal o svoji sposobnosti. Enako velja za tiste, ki uporabljajo izgovor "linux kernel je varen tko da se tole ne steje...". Dokler ima vecina priljubljenih distribucij tole zraven in ga vecina ljudi instalira je to pac resen bug. Zadevo probavat prodat kot karkoli manjsega je..."neresno".
Dokler ima vecina priljubljenih distribucij tole zraven in ga vecina ljudi instalira je to pac resen bug.
Kolikor je meni znano nima (več).
Gotovo znaš opisat kako bi moral biti X strežnik spremenjen da bi to zanesljivo delovalo na Linuxu. Ker drugače si kot misica ko si želi mir na svetu.
V bistvu, ker si prebral vsebino povezave:
Pointi na tistem linku so sicer precej resni in dokaj boleči - X ti pač ne more zakleniti računalnika, če obstaja kup načinov kako ga zaobiti in ubiti.
Pisec tiste vsebine na koncu napiše, kaj bi bila zanj idealna rešitev.
Pointi na tistem linku so sicer precej resni in dokaj boleči - X ti pač ne more zakleniti računalnika, če obstaja kup načinov kako ga zaobiti in ubiti.
Pisec tiste vsebine na koncu napiše, kaj bi bila zanj idealna rešitev.
Naj kaj točno misliš (na katerem linku)?
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Če smo že pri razpravah o implementacijah zaklepanja zaslona. Ubuntu OS gre trenutno v smer, kjer bo upravljanje z zaklenjenim zaslonom prevzel Unity Greeter s pomočjo LightDM. In pa seveda ne moremo mimo prihajajočega Wayland zaslonskega strežnika, kjer je že na voljo vzorčna implementacija zaklepanja.
Wayland Locked
Kot na mnogo drugih področjih, tudi na tem področju Wayland nakazuje velik potencial in bo najverjetneje odlična priloga kakšnem prihajajočem datotečnem sistemu.
Na koncu je: I'm just learning to program X, and I want to write an xscreensaver module. Where should I start?
???
In an ideal world, there would be a single X11 request named something like XGrabMagicKeys() that would, analagously to XGrabKeyboard(), disable all of these magic keystrokes until the grab was released or the program exited. It should be an X11 call, not an ioctl(), and especially not a root-only ioctl(). Needless to say, no such interface exists.
No, če še nekako razumem Linusa, da je na začetku bolj pomembno, da stvari sploh delajo, kot da delajo varno (pa se osebno ne strinjam s tem), je sedaj nastopil čas, ko se bo moralo začeti v varnost vlagati bistveno bolj.
En mali program, ki počne le eno stvar versus klump, ki počne N stvari.
Pojma nimaš.
Obstaja en mali program, ki počne točno to - zaklene zaslon. Vendar pa lahko kot root ta program ubiješ (če si sshjan na računalnik). That is, exactly, a problem.
Da nimaš pojma, ko praviš, da bi moral biti en mali program, ki počne le eno stvar, ne pa klump, ki počne N stvari. Ker ravno to je problem - tak program zaradi napačne zasnove X-serverja ali celo kernela ne more obstajat.
MrStein, če ne razumeš problema, pol ne nabijaj. Ker je žaljivo za našo inteligenco poslušat take trditve, da bi moral program delat eno samo stvar, pa ni problem v programu, pač pa v X serverju oz. kernelu...
MrStein: avtomobilska analogija - xscreensaver je un knof v avtu za električni pomik šipe. Pritisneš in šipa se lepo zapre. Sam kaj ti to pomaga če lahko nekdo z daljincem odpre vse šipe?
Kaj ti pomaga xscreensaver če ga lahko ubiješ iz konzole, recimo. Ali pa prek ssh. Lepote modularnosti.
Mešate dostop oseb, ki že imajo dostop in zunanjih oseb.
Če je nekdo root se nimamo kaj o X-u menit, ker ima 100% dostop. Lahko vse ubije, lahko vse prebere (razen res redkih izjem).
Če je nekdo user, ki je zaklenil, se spet nimamo kaj menit, saj ima geslo, a ne?
Ostane primer tretje osebe. Tam pa sistem pogrne, ker zaklepanje ni urejeno v enem modulu, ampak raztreseno na več klumpov. (kar je med žaljenjem celo Matthai povedal)
Evo, gre brez žalitev.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Še vedno trdim, da noben resni administrator nima prižganega GUI na serverju, pravzaprav tisti profi, ga sploh nimajo nameščenega. Pa lahko malo preverite glede tega po netu. Ko sem se nazadnje pogovarjal z enim profijem, ki je profi za SElinux je bil šokiran, da imam nameščen na mail serverju GUI. Seveda je pri meni ugasnjen, ko ga ne rabim. Sem premalo profi, da bi vse delal brez GUI.
Pa kaj je s tabo? Zate so sam sistemci profiji al kako? A tisti ki se ukvarjajo z obdelavo videa niso profiji? Pa programerji? Pa grafični oblikovalci? Pa muzičarji? Pa... še kar ena rajda poklicov? Dej se mal zresni no.
Pa tud vsak, ampak čisto vsak, sistemc ki da kaj nase in stbari obvlada bo _vedno_ izbral tisto orodje s katerim bo najbolj učinkovito opravil svoje delo. Če je to GUI je pač GUI.
Zdej pa telnet zalaufat pa na IRC z njim... drugač si en tak sissy da niti smešno ni več!
O glej, mem o naprednih uporabnikih (kaj naprednih, strokovnih!), ki da uporabljajo CLI, medtem ko je GUI prihranjen zgolj za preproste, neuke plebejce, je bil povlečen iz naftalina.
In kako priročno, ravno v trenutku ko se izkaže, da je GUI na UNIX-ih katastrofa (zasnovno, ne zgolj izvedbeno), se hitro povrnemo na okope iz '80 let ter kričimo da GUI-jev tako ali tako ne potrebujemo (oziroma sploh ne smemo uporabljati).
Ti šment, še dobro da je na voljo ta izgovor.
(Drugače bi se lahko še zgodilo, da bi kdo prišel na idejo, da Linux ni več najvarnejši sistem na svetu, ali še huje, da nikoli ni bil... bog nas obvaruj.)
Pa kaj je s tabo? Zate so sam sistemci profiji al kako? A tisti ki se ukvarjajo z obdelavo videa niso profiji? Pa programerji? Pa grafični oblikovalci? Pa muzičarji? Pa... še kar ena rajda poklicov? Dej se mal zresni no.
Pa tud vsak, ampak čisto vsak, sistemc ki da kaj nase in stbari obvlada bo _vedno_ izbral tisto orodje s katerim bo najbolj učinkovito opravil svoje delo. Če je to GUI je pač GUI.
Zdej pa telnet zalaufat pa na IRC z njim... drugač si en tak sissy da niti smešno ni več!
A ti na mail ali web serverju obdeluješ video in grafiko?
A ti na mail ali web serverju obdeluješ video in grafiko?
Novica govori o odklepanju X strežnika brez gesla. Not a big enough hint?
Pa da vprašamo drugače... a profiji ne uporabljajo X stražnika? Jaz ga. Če so pa zate profiji sam tisti ki upravljajo mail (in web) strežnike si pa zelo, zelo omenjen.
In kako priročno, ravno v trenutku ko se izkaže, da je GUI na UNIX-ih katastrofa
Niti ne. Tudi vsebina te novice se ne tiče več večine uporabnikov priljubljenih Linux distribucij. Če pa že razmišljamo čez "okope" X.org strežnika pa je tudi prihodnost svetla z vidika kakšne pametne alternative z drugačno zasnovo, ki sledi trenutnim trendom.
In pa drugače preveč se meša za moje pojme v teh razpravah dvoje: namizna uporaba in strežniki.