Pravna zaščita © 2000 Geert Jansen
KDE su je grafični vmesnik za UNIX®-ov ukaz su.
Kazalo
Dobrodošli v KDE su! KDE su je grafični vmesnik za UNIX®-ov ukaz su za namizno okolje KDE. Omogoča vam, da poganjate program kot drug uporabnik, s tem, da zagotovite geslo tega uporabnika. KDE su je nepriviligiran program; uporablja sistemski su.
KDE su ima dodatno možnost: za vas si lahko zapomni gesla. Če uporabljate to možnost, morate vnesti vsako geslo le enkrat za vsak ukaz. Glejte “Ohranjanje gesel” za več informacij o tem in za varnostno analizo.
Ta program je mišljen za zagon iz ukazne vrstice ali .desktop datoteke. Čeprav vpraša za korensko (root) geslo z uporabo GUI pogovornega okna, ga smatram bolj za lepilo med ukazno vrstico <-> GUI, kot pa za čist GUI program.
Ker kdesu ni več nameščen v $(kf5-config --prefix)/bin ampak v kf5-config --pathlibexec in zato ni na vaši Poti, imateza uporabo $(kf5-config --path libexec)kdesu za zagon kdesu.
Uporaba KDE su je preprosta. Skladnja izgleda takole:
kdesu [-c command] [-d] [-f file] [-i icon name] [-n] [-p priority] [-r] [-s] [-t] [-u user] [--noignorebutton] [--attach winid]
kdesu [KDE Generic Options] [Qt™ Generic Options]
Možnosti ukazne vrstice so razložene spodaj.
-ccommandTo določa ukaz za zagon kot root. Prenesti ga je treba v enem argumentu. Torej, če želite na primer zagnati novega upravljalnika datotek, bi ob pozivu vnesli:
$(kf5-config --path libexec)kdesu-cDolphin-dPrikaži informacije za razhroščevanje.
-ffileTa možnost omogoča učinkovito uporabo KDE su v datoteki
.desktop. Pove KDE su za pregled datoteke, ki jo določadatoteka. Če v to datoteko lahko piše trenutni uporabnik, KDE su bo izvedel ukaz kot trenutni uporabnik. Če ni zapisljiv, ukaz se izvede kot uporabnikuser(privzeto je to root).datotekase ovrednoti takole: če jedatotekase začne z/, jemlje se kot absolutno ime datoteke. V nasprotnem primeru se vzame kot ime globalne KDE konfiguracije.-iime ikoneDoločite ikono za uporabo v pogovornem oknu za geslo. Lahko navedete samo ime,brez podaljška.
Na primer za zagon Konqueror v načinu upravitelja datotek in pokaže ikono Konqueror v pogovornem oknu za geslo:
$(kf5-config --path libexec)kdesu-i konqueror-c "konqueror --profile filemanagement"-nNe hranite gesla. To onemogoči hrani geslo potrditveno polje v pogovornem oknu za geslo.
-ppriorityNastavite prednostno vrednost. Prioriteta je poljubno število med 0 in 100,kjer 100 pomeni najvišjo prioriteto, 0 pa najnižjo. Privzeto je 50.
-rUporabi sprotno razporejanje.
-sUstavi kdesu daemona. Poglejte v “Ohranjanje gesel”.
-tOmogoči terminalski izhod. To onemogoči shranjevanje gesel. Uporabno je predvsem za razhroščevanje; če želite poganjati program v konzolnem načinu, uporabite običajni su.
-uuserČeprav je najpogostejša uporaba KDE su za zagon ukaza kot skrbnik, vnesete lahko poljubno uporabniško ime in ustrezno geslo.
Program, ki ga izvedete bo tekel pod korenskim (root) id in v splošnem ne bo imel avtoritete za dostop do vašega X zaslona. KDE su se temu izogne z dodajanjem avtentifikacijskega piškotka za vaš zaslon v začasno datoteko .Xauthority. Ko je ukaz končan, je ta datoteka odstranjena.
Če ne uporabljate X piškotkov, ste odvisni od samega sebe. KDE su bo to zaznal in ne bo dodal piškotka, vendar pa boste morali zagotoviti, da ima root dovoljen dostop do vašega zaslona.
KDE su uporablja sistemski su za dosego privilegijev. V tem odstavku bom razložil podrobnosti, kako KDE su to naredi.
Ker nekatere izvedbe su (tj.. tista izRed Hat®) ne želi brati gesla iz stdin,KDE su ustvari par pty/tty in izvede su z njimstandardni datotečni deskriptorji, povezani s tty.
Da izvede ukaz, ki ga je izbral uporabnik in ne interaktivno lupino, uporablja KDE su skupaj z su argument -c. Ta argument razume vsaka lupina, ki jo poznam, tako da bi to moralo delovati prenosljivo. su preda -c lupini in ta prevzame program. Zgled: su root -c .nek_program
Namesto izvajanja uporabnikovega ukaza direktno z su, izvede KDE su majhen programček imenovan kdesu_stub. Ta programček (teče kot uporabnik), zahteva nekaj podatkov od KDE su preko pty/tty kanala (njegov stdin in stdout) in potem izvede uporabniški program. Predane so naslednje informacije: X zaslon, X avtentifikacijski piškotek (če je dostopen), PATHin ukaz, ki naj bo pognan. Razlog, zakaj je uporabljen kratek programček je, da je X piškotek zasebna informacija in tako ne more biti predan na ukazni vrstici.
Za vaše udobje ima KDE su izvedeno možnost “Obdrži geslo”. Če se zanimate za varnost, potem morate prebrati ta odstavek.
Dovoljenje KDE su, da si zapomni gesla odpre (majhno) varnostno luknjo v vašem sistemu. Jasno je, da KDE su ne dovoli nikomur razen vašemu uporabniškemu id da uporablja gesla, vendar pa, če je to narejeno brez previdnosti, lahko zniža root-ov varnostni nivo na uporabniškega. Heker, ki bi vdrl v vaš račun, bi dobil korenski (root) dostop. kdesu; poskuša to preprečiti. Varnostna shema, ki jo uporablja je, vsaj po mojem prepričanju, razumno varna in je razložena tukaj.
KDE su uporablja deamona, imenovanega kdesud. Ta posluša UNIX®-ov socket v /tmp za ukazi. Način socketa je 0600, tako da se nanj lahko priključi le vaš uporabniški id. Če je shranjevanje gesel omogočeno, kdesu; izvede ukaze skozi ta deamon. Ukaze in korensko (root) geslo zapiše v socket in deamon izvede ukaz z uporabo su, kot je opisano prej. Po tem ukaz in geslo nista zavržena. Namesto tega sta shranjena za določen čas. To je časovna vrednost iz krmilnega modula. Če se v tem času pojavi nova zahteva klientu ni treba dostaviti gesla. Da prepreči hekerjem, ki so vdrli v vaš račun, krajo gesel (na primer z prilepljenjem razhroščevalnika), je deamon nameščen kot set-group-id nogrup. To bi moralo preprečiti vsem normalnim uporabnikom (vključno z vami) da bi dobili gesla od kdesud procesa. Prav tako deamon postavi spremenljivko DISPLAY na vrednost, ki jo je imela ob zagonu. Edina stvar, ki jo lahko heker naredi, je da na vašem zaslonu izvede program.
Šibko mesto v tej shemi je, da programi, ki jih izvajate verjetno niso pisani z varnostjo v mislih (kot setuid root programi). To pomeni, da imajo morda prelitja medpomnilnika (buffer overruns) ali druge težave in jih lahko heker izkoristi.
Uporaba možnosti shranjevanja gesel je trgovina med varnostjo in udobjem. Spodbujam vas, da razmislite o tem in se odločite zase, ali to želite uporabljati ali ne.
KDE su
Copyright 2000 Geert Jansen
KDE su je napisal Geert Jansen. Nekako temelji na Pietru Igliu KDE su, različica 0.3. S Pietrom sva se dogovorila, da bom vzdrževal ta program v prihodnosti.
Avtor je dosegljiv po e-pošti na (g.t.jansen AT stud.tue.nl). prosim sporočite mi vse napake, ki jih najdete, da jih lahko popravim. Če imate predlog, mi to brez zadržkov sporočite.
Prevod: Andrej Vernekar(andrej.vernekar AT moj.net)
Dokumentacija je objavljena pod pogoji GNU Free Documentation License.
Pogoji uporabe tega programa so določeni z Artistic License.