<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&kdesu;"> <!ENTITY package "kdebase"> <!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 >lauri@kde.org</email ></address> </affiliation> <contrib >Pregled</contrib> </othercredit> <othercredit role="translator" ><firstname >Andrej</firstname ><surname >Vernekar</surname ><affiliation ><address ><email >andrej.vernekar@moj.net</email ></address ></affiliation ><contrib >Prevod</contrib ></othercredit> </authorgroup> <copyright> <year >2000</year> <holder >Geert Jansen</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2002-01-18</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 >&kdesu; 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 (<systemitem class="username" >root</systemitem >) geslo z uporabo &GUI; pogovornega okna, ga smatram bolj za lepilo med ukazno vrstico <-> &GUI;, kot pa za čist &GUI; program.</para> </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 <literal >/</literal >, 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 >Obdrži geslo</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 >&kdesu; lahko naročite da shranjuje gesla z odkljukanjem izbire <guilabel >Obdrži 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. &kdesu; 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 > (⊀ &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 <quote >Obdrži geslo</quote >. Č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 &kdesu; ne dovoli nikomur razen vašemu uporabniškemu id da uporablja gesla, vendar pa, če je to narejeno brez previdnosti, lahko zniža <systemitem class="username" >root</systemitem >-ov varnostni nivo na uporabniškega. Heker, ki bi vdrl v vaš račun, bi dobil korenski (<systemitem class="username" >root</systemitem >) 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 (<systemitem class="username" >root</systemitem >) 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 <systemitem class="username" >root </systemitem > 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> <appendix id="installation"> <title >Namestitev</title> <sect1 id="downloading"> <title >Nalaganje</title> &install.intro.documentation; </sect1> <sect1 id="compiling"> <title >Prevajanje</title> &install.compile.documentation; </sect1> </appendix> </book> <!-- Local Variables: mode: sgml sgml-omittag: nil sgml-shorttag: t End: -->