<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
  <!ENTITY ksu "<application>KDE su</application>">
  <!ENTITY % Slovenian "INCLUDE" -- change language only here -->
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % ents PUBLIC "-//KDE//ENTITIES Documentation V1.0//EN">
  %ents;
]>

<book lang="&language;">
<bookinfo>

<title>Priročnik za &ksu; </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>Recenzije</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>04/09/2000</date>
<releaseinfo>1.00.00</releaseinfo>


<abstract><para>&ksu; 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 &ksu;! &ksu; 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. &ksu; je nepriviligiran program; uporablja sistemski
<command>su</command>.</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="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 
&lt;-&gt; <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>&ksu; 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>&ksu; 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 &ksu;</title>

<para>Uporaba &ksu; 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 &ksu; v
<filename>.desktop</filename> datotekah. &ksu; namreč pove, da mora pregledati
datoteko določeno z <parameter>FILE</parameter>. Če lahko to datoteko
zapiše trenutni uporabnik bo &ksu; 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>
<!-- Lauri: This could do with a little expansion.  quiet as in no screen -->
<!-- output, quiet as in no gui prompt for the password, or quiet as in no -->
<!-- beeping? -->
</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>&ksu; 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. &ksu; 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>&ksu; uporablja sistemski "<command>su</command>" za dosego privilegijev. 
V tem odstavku bom razložil podrobnosti, kako &ksu; to 
naredi.</para>

<para>Ker nekatere implementacije <command>su</command> (<abbrev>npr.</abbrev>
Redhat-ova) nočejo brati gesla iz
<literal>stdin</literal>, ustvari &ksu; 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 &ksu; 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 &ksu; majhen programček imenovan
<application>kdesu_stub</application>. Ta programček (teče kot uporabnik),
zahteva nekaj podatkov od &ksu; 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>&ksu; 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 &ksu; izvedeno možnost "shrani geslo". Če se
zanimate za varnost, potem morate prebrati ta odstavek.</para>

<para>Dovoljenje &ksu;, 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. &ksu; 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>&ksu; 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, &ksu; 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>&ksu;</para>

<para>Copyright 2000 Geert Jansen</para>

<para>&ksu; je spisal Geert Jansen. Je nekako osnovan na 
&ksu;, 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>

<para>Prevod: Andrej vernekar <email>andrej.vernekar@kiss.uni-lj.si</email></para>

&underFDL;
&underArtisticLicense;

</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
