<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN">
<book lang="sl">
<bookinfo>
<title>Priročnik za KDE su </title>
<authorgroup>
<author>
<firstname>Geert</firstname>
<surname>Jansen</surname>
<affiliation>
<address><email><ulink url="mailto:g.t.jansen@stud.tue.nl">g.t.jansen@stud.tue.nl</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>??/??/??</date>
<releaseinfo>Različica ??.??.??</releaseinfo>
<abstract>
<para>To je uradna dokumentacija za KDE su.</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 KDE su! KDE su je grafična maska UNIX-ovega ukaza "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.</para>

<para>KDE 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="secpasswordkeeping"> za več informacij o tem in varnostno analizo.</para>
<para>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 &lt;-&gt; GUI, kota pa za čist GUI program.</para>

</chapter>

<chapter id="Installation">
<title>Namestitev</title>

<sect1 id="downloading">
<title>Nalaganje</title>

<para>KDE su je sedaj v KDE CVS, v kdebase. Moral bi biti vključen v vsaki
(2.x) KDE distribuciji. Dobite lahko tudi KDE 1.x različico z moje domače strani
<literal remap="tt">ftp://skynet.stack.nl/pub/users/geertj/</literal>.</para>
</sect1>

<sect1 id="compiling">
<title>Prevajanje</title>

<para>KDE su je v kdebase, tako da ga ali že imate ali pa ga boste imeli, ko
boste namestili kdebase.</para>

<para>Da prevedete KDE 1.x različico uporabite:</para>

<para><programlisting>&dollar; ./configure
&dollar; make
&dollar; make install 
 </programlisting>
</para>

<para>Zadnji korak boste morali izvesti kot root. Namestitevni proces
mora biti sposoben pisati v sistemski imenik KDE.</para>

</sect1>
</chapter>

<chapter id="UsingKDEsu">
<title>Uporaba KDE su</title>

<para>Uporaba KDE su je zelo preprosta. Slovnica gre takole:</para>

<para><programlisting>&dollar; kdesu &lsqb;USER&rsqb; &lsqb;-ntqd&rsqb; &lsqb;-f FILE&rsqb; -c
 COMMAND &lsqb;ARG1 &lsqb;ARG2 &lsqb;...&rsqb;&rsqb;&rsqb;
&dollar; kdesu -v|-h|-s
 </programlisting>
</para>

<para>Možnosti ukazne vrstice so razložene spodaj.</para>

<para><variablelist>
<varlistentry>
<term>-c PROGRAM</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:
<programlisting>&dollar; kdesu -c "kfm -sw"
  </programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f FILE</term>
<listitem>
<para>Ta možnost omogoča učinkovito uporabo KDE su v .desktop datotekah.
Pove namreč, da mora KDE su pregledati datoteko določeno z FILE. Če je lahko to datoteko
zapiše trenutni uporabnik, bo KDE su izvedel ukaz kot trenutni uporabnik.
Če pa ni zapisljiva, je ukaz izveden kot USER (privzeto root).</para>
<para>FILE se obravnava takole: če se FILE (ime datoteke) prične z "/", je obravnavano
kot absolutno ime. Drugače pa je vzeto kot ime globalne KDE nastavitvene datoteke.
Naj podam primer: da nastavite K display manager, kdm, lahko uporabite: </para>
<para><programlisting>&dollar; kdesu -c kdmconfig -f kdmrc
  </programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t</term>
<listitem>
<para>Omogoči terminalski izhod. To onemogoči shranjevanje gesel.
To je uporabno predvsem za razhroščevanje; če želite poganjati program
v konzolnem načinu, uporabite običajni "su".</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n</term>
<listitem>
<para>Ne shranjuj gesel. To onemogoči izbiro "shrani geslo" v pogovornem 
oknu gesel.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-q</term>
<listitem>
<para>Bodi tiho.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d</term>
<listitem>
<para>Prikaži informacije za razhroščevanje.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>Izpiši različico in končaj.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>Izpiši nekaj pomoči.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s</term>
<listitem>
<para>Ustavi kdesu deamona. Glejte <xref linkend="secpasswordkeeping">.</para>
</listitem>
</varlistentry>
</variablelist>
</para>

</chapter>

<chapter id="Configuration">
<title>Nastavitev</title>

<para>KDE su pride z nadzornim modulom imenovanim kcmkdesu. Najdete ga lahko
v menuju K pod Nastavitve-&gt;Uporabniški programi-&gt;KDE su. Spremenite lahko naslednje 
stvari:</para>

<para><itemizedlist>
<listitem>
<para>Echo način (odmev). 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>
<listitem>
<para>Shranjevanje gesel. KDE su lahko naročite da shranjuje gesla z 
odkljukanjem izbire "shrani geslo". Č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>
</itemizedlist>
</para>

</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 <literal remap="tt">.Xauthority</literal> datoteko.
Ko je ukaz končan, je ta datoteka odstranjena. </para>

<para>Č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.</para>
</sect1>

<sect1 id="interface-to-su">
<title>Vmesnik za su</title>

<para>KDE su uporablja sistemski "su" za dosego privilegijev. V tem odstavku
bom razložil podrobnosti, kako to naredi.</para>

<para>Ker nekatere implementacije su (npr. RedHat-ova) nočejo brati 
gesla iz stdin, ustvari KDE su pty/tty par in izvede "su"
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 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&lowbar;program".</para>

<para>Namesto izvajanja uporabnikovega ukaza direktno z su izvede kdesu
majhen stub programček imenovan <literal remap="tt">kdesu&lowbar;stub</literal>. Ta stub (teče kot uporabnik),
zahteva nekaj podatkov od kdesu preko pty/tty kanala (stubov stdin in stdout)
in potem izvede uporabniški program. Predane so naslednje informacije:
X zaslon, X avtentifikacijski piškotek (če je dostopen), PATH in 
ukaz, ki naj bo pognan. Razlog, zakaj je uporabljen stub program 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>KDE su bo preveril geslo ki ga vnesete in vrnil sporočilo o napaki, če je
napačno. Preverjanje je izvedeno s testnim programom: <literal remap="tt">/bin/true</literal>.
Če to uspe, je geslo smatrano kot pravilno.</para>
</sect1>

<sect1 id="secpasswordkeeping">
<title>Shranjevanje gesel</title>

<para>Za vaše udobje ima KDE su izvedeno možnost "shrani geslo". Če se
zanimate za varnost, potem morate prebrati ta odstavek.</para>

<para>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. KDE su 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>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 uporabljeno, KDE su izvede ukaze
skozi ta deamon. Ukaze in korensko 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 deamonu (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 environment na vrednost, 
ki jo je imela ob zagonu. Edina stvar, ki jo lahko heker naredi, je da izvede
program na vašem zaslonu.</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>KDE su je napisal Geert Jansen. Osnovan je na KDE su Pietra Iglia,
različice 0.3. S Pietrom sva se domenila, da bom v prihodnosti vzdrževal ta program.</para>

<para>Avtor je dosegljiv preko emaila na &lt;g.t.jansen@stud.tue.nl&gt;.
Prosim sporočite vse hrošče, ki jih najdete, tako da jih lahko popravim. 
Če imate predlog, se ne bojte in me obvestite.</para>
<section id="Prevajalci">
<title>Prevajalci</title>
<para>Prevod programa: Skupina za slovenjenje KDE (dosegljiva na &lt;lugos-slo@lugos.si&gt;) </para>
<para>Prevod pomoči: Andrej Vernekar &lt;andrej.vernekar@kiss.uni-lj.si&gt;
</para>
</section>
</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->





