<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&kdesu;"> <!ENTITY % addindex "IGNORE"> <!ENTITY % Slovenian "INCLUDE" > <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> <title >Priročnik za &kdesu;</title> <authorgroup> <author > <firstname >Geert</firstname > <surname >Jansen</surname > <affiliation > <address ><email >g.t.jansen@stud.tue.nl</email ></address > </affiliation > </author> <othercredit role="reviewer"> <firstname >Lauri</firstname> <surname >Watts</surname> <affiliation> <address ><email >vampyr@atconnex.net</email ></address> </affiliation> <contrib >Pregled</contrib> </othercredit> <othercredit role="translator" ><firstname >Andrej</firstname ><surname >Vernekar</surname ><affiliation ><address ><email >andrej.vernekar@kiss.uni-lj.si</email ></address ></affiliation ><contrib >Prevod</contrib ></othercredit> </authorgroup> <copyright> <year >2000</year> <holder >Geert Jansen</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2000-09-04</date> <releaseinfo >1.00.00</releaseinfo> <abstract ><para >&kdesu; je grafični vmesnik za Unix-ov ukaz "<command >su</command >".</para ></abstract> <keywordset> <keyword >KDE</keyword> <keyword >su</keyword> <keyword >password</keyword> <keyword >root</keyword> </keywordset> </bookinfo> <chapter id="Introduction"> <title >Uvod</title> <para >Dobrodošli v &kdesu;! &kdesu; je grafični vmesnik za UNIX-ov ukaz "<command >su</command >" za namizno okolje KDE. Omogoča vam, da poganjate program kot drug uporabnik, s tem, da zagotovite geslo tega uporabnika. &kdesu; je nepriviligiran program; uporablja sistemski <command >su</command >.</para> <para >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 <xref linkend="sec-password-keeping"/> za več informacij o tem in za varnostno analizo.</para> <para >Ta program je mišljen za zagon iz ukazne vrstice ali <filename >.desktop</filename > datoteke. Čeprav vpraša za korensko (root) geslo z uporabo <abbrev >GUI</abbrev > pogovornega okna, ga smatram bolj za lepilo med ukazno vrstico <-> <abbrev >GUI</abbrev >, kot pa za čist <abbrev >GUI</abbrev > program.</para> </chapter> <chapter id="installation"> <title >Namestitev</title> <sect1 id="downloading"> <title >Nalaganje</title> <para >&kdesu; je sedaj v KDE <abbrev >CVS</abbrev >, v kdebase. Moral bi biti vključen v vsaki (2.x) KDE distribuciji. Dobite lahko tudi različico za KDE 1.x z moje domače strani <ulink url="ftp://skynet.stack.nl/pub/users/geertj/" >ftp://skynet.stack.nl/pub/users/geertj/</ulink >.</para> </sect1> <sect1 id="compiling"> <title >Prevajanje</title> <para >&kdesu; je v kdebase, tako da ga že imate ali pa boste samodejno prevedli, ko boste namestili kdebase.</para> <para >Da prevedete različico za KDE 1.x vtipkajte:</para> <screen> <prompt >$</prompt > <command >./configure</command> <prompt >$</prompt > <command >make</command> <prompt >$</prompt > <command >make <option >install</option ></command> </screen> <para >Zadnji korak boste morali izvesti kot root. Namestitveni proces mora biti sposoben pisati v sistemske imenike KDE.</para> </sect1> </chapter> <chapter id="using-kdesu"> <title >Uporaba &kdesu;</title> <para >Uporaba &kdesu; je preprosta. Skladnja izgleda takole:</para> <cmdsynopsis> <command >kdesu</command> <arg >USER</arg> <arg >-n</arg> <arg >-t</arg> <arg >-q</arg> <arg >-d</arg> <arg >-f <replaceable >FILE</replaceable ></arg> <arg >-c <group> <arg> <replaceable >COMMAND</replaceable> <arg ><replaceable >ARG1</replaceable ></arg> <arg ><replaceable >ARG2</replaceable ></arg> <arg rep="repeat" ><replaceable ></replaceable ></arg> </arg> </group> </arg> </cmdsynopsis> <cmdsynopsis> <command >kdesu</command> <group> <arg >-v</arg> <arg >-h</arg> <arg >-s</arg> </group> </cmdsynopsis> <para >Možnosti ukazne vrstice so razložene spodaj.</para> <variablelist > <varlistentry > <term ><option >-c <replaceable >PROGRAM</replaceable ></option ></term > <listitem ><para >To določa, da program teče kot root. Podan mora biti v enem argumentu. Če torej želite pognati nov datotečni upravljalnik morate v lupini vtipkati: <userinput ><command >kdesu <option >-c <replaceable >kfm -sw</replaceable ></option ></command ></userinput ></para ></listitem > </varlistentry > <varlistentry > <term ><option >-f <replaceable >FILE</replaceable ></option ></term > <listitem ><para >Ta možnost omogoča učinkovito uporabo &kdesu; v <filename >.desktop</filename > datotekah. kdesu; namreč pove, da mora pregledati datoteko določeno z <parameter >FILE</parameter >. Če lahko to datoteko zapiše trenutni uporabnik bo kdesu; izvedel ukaz kot trenutni uporabnik. Če pa ni zapisljiva, je ukaz izveden kot uporabnik <parameter >USER</parameter > (privzeto kot root).</para > <para ><parameter >FILE</parameter > se obravnava takole: če se <parameter >FILE</parameter > (ime datoteke) prične z "/", je obravnavano kot absolutno ime datoteke. Drugače pa je vzeto kot ime globalne KDE nastavitvene datoteke. Naj podam primer: da nastavite K display manager, <application >kdm</application >, bi lahko uporabili <command >kdesu <option >-c kdmconfig -f kdmrc</option ></command ></para ></listitem > </varlistentry > <varlistentry > <term ><option >-t</option ></term > <listitem ><para >Omogoč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 "<command >su</command >".</para > </listitem > </varlistentry > <varlistentry > <term ><option >-n</option ></term > <listitem ><para >Ne shrani gesla. To onemogoči potrditveno polje "<guilabel >keep password</guilabel >" v pogovornem oknu gesel.</para ></listitem > </varlistentry > <varlistentry > <term ><option >-q</option ></term > <listitem ><para >Bodi tiho.</para ></listitem > </varlistentry > <varlistentry > <term ><option >-d</option ></term > <listitem ><para >Prikaži informacije za razhroščevanje.</para ></listitem > </varlistentry > <varlistentry > <term ><option >-v</option ></term > <listitem ><para >Izpiši informacijo o različici in končaj.</para ></listitem > </varlistentry > <varlistentry > <term ><option >-h</option ></term > <listitem ><para >Izpiši nekaj pomoči.</para ></listitem > </varlistentry > <varlistentry > <term ><option >-s</option ></term > <listitem ><para >Ustavi kdesu daemona. Poglejte v <xref linkend="sec-password-keeping"/>.</para ></listitem > </varlistentry > </variablelist> </chapter> <chapter id="Configuration"> <title >Nastavitev</title> <para >&kdesu; pride z nadzornim modulom imenovanim <application >kcmkdesu</application >. Najdete ga lahko v menuju <guimenu >K</guimenu > pod <menuchoice ><guisubmenu >Nastavitve</guisubmenu > <guisubmenu >Uporabniški programi</guisubmenu > <guimenuitem >KDE su</guimenuitem ></menuchoice >. Spremenite lahko naslednje stvari:</para> <variablelist > <varlistentry > <term ><guilabel >Echo Mode</guilabel ></term > <listitem ><para >To je način, kako na zaslonu odmevajo znaki ki jih vtipkate. Možne izbire so: ena zvezda za znak, tri zvezde ali brez odmeva. Privzeto je to ena zvezda za znak.</para ></listitem > </varlistentry > <varlistentry > <term ><guilabel >Shranjevanje gesel</guilabel ></term > <listitem ><para >KDE su lahko naročite da shranjuje gesla z odkljukanjem izbire "<guilabel >Shrani geslo</guilabel >". Če je ta označena, lahko vnesete časovno vrednost v tekstno polje pod njo. To določa (v minutah), kako dolgo se bo geslo shranilo. Privzeto je neshranjevanje gesel.</para ></listitem > </varlistentry > </variablelist> </chapter> <chapter id="Internals"> <title >Podrobnosti</title> <sect1 id="x-authentication"> <title >X avtentifikacija</title> <para >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 <filename >.Xauthority</filename >. Ko je ukaz končan, je ta datoteka odstranjena. </para> <para >Če ne uporabljate X piškotkov, ste odvisni od samega sebe. &kdesu; bo to zaznal in ne bo dodal piškotka, vendar pa boste morali zagotoviti, da ima root dovoljen dostop do vašega zaslona.</para> </sect1> <sect1 id="interface-to-su"> <title >Vmesnik za <command >su</command ></title> <para >&kdesu; uporablja sistemski "<command >su</command >" za dosego privilegijev. V tem odstavku bom razložil podrobnosti, kako &kdesu; to naredi. </para> <para >Ker nekatere implementacije <command >su</command > (<abbrev >npr.</abbrev > Redhat-ova) nočejo brati gesla iz <literal >stdin</literal >, ustvari &kdesu; par pty/tty in izvede "<command >su</command >" z njegovimi standardnimi datotečnimi opisi (filedescriptors) povezanimi na tty.</para> <para >Da izvede ukaz, ki ga je izbral uporabnik in ne interaktivno lupino, uporablja &kdesu; skupaj z <command >su</command > argument "<option >-c</option >". Ta argument razume vsaka lupina, ki jo poznam, tako da bi to moralo delovati prenosljivo. <command >Su</command > preda "<option >-c</option >" lupini in ta prevzame program. Zgled: "<command >su <option >root -c <replaceable >nek_program</replaceable ></option ></command >".</para> <para >Namesto izvajanja uporabnikovega ukaza direktno z <command >su</command >, izvede &kdesu; majhen programček imenovan <application >kdesu_stub</application >. Ta programček (teče kot uporabnik), zahteva nekaj podatkov od &kdesu; 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), <envar >PATH</envar >in 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.</para> </sect1> <sect1 id="password-checking"> <title >Preverjanje gesel</title> <para >&kdesu; bo preveril geslo ki ga vnesete in vrnil sporočilo o napaki, če je napačno. Preverjanje je izvedeno s testnim programom: <filename >/bin/true</filename >. Če to uspe, je geslo smatrano kot pravilno.</para> </sect1> <sect1 id="sec-password-keeping"> <title >Ohranjanje gesel</title> <para >Za vaše udobje ima &kdesu; izvedeno možnost "shrani geslo". Če se zanimate za varnost, potem morate prebrati ta odstavek.</para> <para >Dovoljenje &kdesu;, 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.</para> <para >&kdesu; uporablja deamona, imenovanega <application >kdesud</application >. Ta posluša UNIX-ov socket v <filename >/tmp</filename > 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 geslo zapiše v socket in deamon izvede ukaz z uporabo "<command >su</command >", 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 <application >kdesud</application > procesa. Prav tako deamon postavi spremenljivko <envar >DISPLAY</envar > na vrednost, ki jo je imela ob zagonu. Edina stvar, ki jo lahko heker naredi, je da na vašem zaslonu izvede program.</para> <para >Š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.</para> <para >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.</para> </sect1> </chapter> <chapter id="Author"> <title >Avtor</title> <para >&kdesu;</para> <para >Copyright 2000 Geert Jansen</para> <para >&kdesu; je spisal Geert Jansen. Je nekako osnovan na kdesu;, Pierta Iglia, različice 0.3. S Pietrom sva se strinjala, da bom v prihodnosti ta program vzdreževal jaz.</para> <para >Avtor je dosegljiv preko e-pošte <email >g.t.jansen@stud.tue.nl</email >. Prosim poročajte mi o vseh hroščih, ki jih najdete, tako, da jih lahko popravim. Če imate predloge, ne oklevajte in me kontaktirajte.</para> &underFDL; &underArtisticLicense; </chapter> </book> <!-- Local Variables: mode: sgml sgml-omittag: nil sgml-shorttag: t End: -->