<?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 % Hungarian "INCLUDE" 
> <!-- change language only here -->
  
  
]>

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

<title
>A &kdesu; kézikönyve</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
>Lektor</contrib>
</othercredit>
<othercredit role="translator"
><firstname
>Tamás</firstname
><surname
>Szántó</surname
><contrib
>Magyar fordítás</contrib
><affiliation
><address
><email
>tszanto@mol.hu</email
></address
></affiliation
></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
>A &kdesu; egy grafikus előtétprogram a Unix "<command
>su</command
>" parancsához.</para
></abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>su</keyword>
<keyword
>jelszó</keyword>
<keyword
>root</keyword>
</keywordset>

</bookinfo>

<chapter id="Introduction">
<title
>Bevezetés</title>

<para
>Üdvözöljük a &kdesu;-ban! A &kdesu; egy &kde;-alapú grafikus előtétprogram a "<command
>su</command
>" parancs használatához. Lehetővé teszi egy program más nevében történő futtatását a felhasználónévhez tartozó jelszó megadásával. A &kdesu; a rendszer <command
>su</command
> parancsát használja, nem tartalmaz privilegizált kódot.</para>

<para
>A KDE su-nak van még egy speciális tulajdonsága: képes megjegyezni a beírt jelszavakat. Ha engedélyezi ezt a lehetőséget, akkor elég egy parancsnál egyszer megadni a jelszót. További információ és biztonsági elemzés itt található: <xref linkend="sec-password-keeping"/>.</para>

<para
>A program indítása történhet parancsértelmezőből vagy egy <filename
>.desktop</filename
> fájlból is. A jelszót ugyan egy grafikus ablakban kell beírni, de ennek ellenére inkább összekötő rétegnek lehet tekinteni a karakteres módú és a grafikus programok között, mintsem igazi grafikus alkalmazásnak.</para>

</chapter>

<chapter id="installation">
<title
>Telepítés</title>

<sect1 id="downloading">
<title
>Letöltés</title>

<para
>A &kdesu; a kdebase csomag része, mely minden KDE 2.x disztribúcióban megtalálható. A KDE 1.x-alapú verzió letölthető a következő címről: <ulink url="ftp://skynet.stack.nl/pub/users/geertj/"
>ftp://skynet.stack.nl/pub/users/geertj/</ulink
>.</para>

</sect1>

<sect1 id="compiling">
<title
>Lefordítás</title>

<para
>A &kdesu; a kdebase csomag része, telepítése automatikusan megtörténik a csomag többi részével együtt.</para>

<para
>A KDE 1.x verzió lefordításához a következőket kell tenni:</para>

<screen>
<prompt
>$</prompt
> <command
>./configure</command>
<prompt
>$</prompt
> <command
>make</command>
<prompt
>$</prompt
> <command
>make <option
>install</option
></command>
</screen>

<para
>Az utolsó lépéshez rendszergazdai jogosultság szükséges, mert néhány műveletnél a KDE rendszerkönyvtárába kell írni.</para>

</sect1>
</chapter>

<chapter id="using-kdesu">
<title
>A &kdesu; kezelése</title>

<para
>A &kdesu; használata nagyon egyszerű. A szintaxis a következő:</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
>A lehetséges parancssori paraméterek a következők.</para>

<variablelist
> <varlistentry
> <term
><option
>-c <replaceable
>PROGRAMNÉV</replaceable
></option
></term
> <listitem
><para
>Itt lehet megadni a futtatni kívánt program nevét. Egy argumentumba kell beleférnie, tehát ha például egy új fájlkezelő ablakot szeretne indítani, akkor a következőt gépelje be: <userinput
><command
>kdesu <option
>-c <replaceable
>kfm -sw</replaceable
></option
></command
></userinput
></para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-f <replaceable
>FÁJLNÉV</replaceable
></option
></term
> <listitem
><para
>Ez az opció lehetővé teszi a &kdesu; használatát <filename
>.desktop</filename
> fájlokban. Ennek hatására a &kdesu; megvizsgálja a <parameter
>FÁJLNÉV</parameter
> nevű fájlt. Ha a fájlhoz az aktuális felhasználónak írási joga van, akkor a &kdesu; végrehajtja azt az aktuális felhasználó nevében. Ha nincs hozzá írási jogosultsága, akkor a végrehajtás a <parameter
>FELHASZNÁLÓ</parameter
> nevében fog történni (ennek alapértelmezése: root).</para
> <para
>A <parameter
>FÁJLNÉV</parameter
> paraméter kiértékelése a következő módon történik: ha a <parameter
>FÁJLNÉV</parameter
> első karaktere "/", akkor teljes elérési útnak tekinti a program, egyébként úgy veszi, hogy egy globális &kde; beállítófájlról van szó. Például: a &kde; bejelentkezéskezelő, a <application
>KDM</application
> beállításához használható a <command
>kdesu <option
>-c kdmconfig -f kdmrc</option
></command
> parancs.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-t</option
></term
> <listitem
><para
>Engedélyezi a terminálkimenetet, letiltja a jelszavak megjegyzését. Elsősorban nyomkövetési célokat szolgál, mert karakteres módban inkább a "<command
>su</command
>"-t érdemes használni.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><option
>-n</option
></term
> <listitem
><para
>Letiltja a jelszó megjegyzését, "<guilabel
>A jelszó mentése</guilabel
>" választónégyzet nem lesz használható.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-q</option
></term
> <listitem
><para
>Néma üzemmód.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-d</option
></term
> <listitem
><para
>Részletesen kiírja a nyomkövetéshez szükséges információkat.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-v</option
></term
> <listitem
><para
>Kiírja a verzióinformációt és bezárja a programot.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-h</option
></term
> <listitem
><para
>A használathoz szükséges tájékoztató szöveget írja ki.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><option
>-s</option
></term
> <listitem
><para
>Leállítja a kdesu szolgáltatást, lásd: <xref linkend="sec-password-keeping"/>.</para
></listitem
> </varlistentry
> </variablelist>

</chapter>

<chapter id="Configuration">
<title
>Beállítások</title>

<para
>A &kdesu;-hoz tartozik egy <application
>kcmkdesu</application
> nevű beállítómodul, mely a <guimenu
>K</guimenu
> menüből, a <menuchoice
><guisubmenu
>Beállítások</guisubmenu
> <guisubmenu
>Alkalmazások</guisubmenu
> <guimenuitem
>KDE su</guimenuitem
></menuchoice
> menüpontból érhető el. Itt a következőket lehet megváltoztatni:</para>

<variablelist
> <varlistentry
> <term
><guilabel
>Jelszókijelzési mód</guilabel
></term
> <listitem
><para
>Ez határozza meg, hogy a jelszókarakterek hogyan jelennek meg. A választható lehetőségek: egy csillag, három csillag vagy nincs kijelzés. Az alapértelmezés: egy csillag karakterenként.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>A jelszavak megjegyzése</guilabel
></term
> <listitem
><para
>A KDE su meg tudja jegyezni a beírt jelszavakat, ha bejelöli "<guilabel
>A jelszó megjegyzése</guilabel
>" opciót. Ilyenkor meg lehet adni az alatta levő szöveges mezőben egy elévülési időt. A megadott számú percig tudja a program felhasználni a beírt jelszavakat. Alapértelmezés szerint a jelszó megjegyzése ki van kapcsolva.</para
></listitem
> </varlistentry
> </variablelist>

</chapter>

<chapter id="Internals">
<title
>Technikai részletek</title>

<sect1 id="x-authentication">
<title
>X felhasználóazonosítás</title>

<para
>A program végrehajtása a root felhasználó nevében történik, melynek általában nincs hozzáférési jogosultsága az X képernyőhöz. A KDE su úgy oldja meg ezt a problémát, hogy egy hozzáférési cookie-t ad hozzá az <filename
>.Xauthority</filename
> ideiglenes fájlhoz. A futás befejeződése után törli ezt a fájlt. </para>

<para
>Ha nem használhat X cookie-kat, akkor más megoldást kell keresni. A &kdesu; felismeri, ha ez a helyzet, nem hozza létre a cookie-t, de azt már Önnek kell biztosítania, hogy ilyenkor hozzá lehessen férni a képernyőhöz.</para>

</sect1>

<sect1 id="interface-to-su">
<title
>Kapcsolódási felület a <command
>su</command
>-hoz</title>

<para
>A &kdesu; a "<command
>su</command
>"-t használja a megfelelő jogosultság megszerzéséhez. A következő részben részletesen elmagyarázzuk, hogy ez milyen módon történik. </para>

<para
>A <command
>su</command
> néhány változata (<abbrev
>pl.</abbrev
> a Red Hat disztribúcióé) nem fogad el jelszót a <literal
>standard bemenetről</literal
>, ezért a &kdesu; létrehoz egy pty/tty párt és a "<command
>su</command
>" végrehajtásánál a standard fájlleírókat a tty-hez rendeli.</para>

<para
>A megadott program végrehajtásakor a &kdesu; az interaktív parancsértelmező helyett a <command
>su</command
> parancsot a "<option
>-c</option
>" argumentummal indítja. Ezt az argumentumot minden parancsértelmező ismeri, ezért minden esetben működnie kell. A <command
>su</command
> átadja a "<option
>-c</option
>" argumentban megadott szöveget a parancsértelmezőnek, amely aztán végrehajtja a programot. Például: "<command
>su <option
>root -c <replaceable
>programnév</replaceable
></option
></command
>".</para>

<para
>A megadott parancsot nem közvetlenül a <command
>su</command
>-n keresztül hajtja végre a &kdesu;, hanem egy <application
>kdesu_stub</application
> nevű segédprogramon keresztül. Ez a programocska fut a megadott felhasználó nevében, lekérdez néhány információt a &kdesu;-ról a pty/tty csatornán keresztül (ezek a segédprogram standard ki- és bemenetei), majd végrehajtja a programot. A lekérdezett információk: az X képernyő azonosítója, egy X azonosítási cookie (ha ezek használata lehetséges), a <envar
>PATH</envar
> változó értéke  és maga a futtatandó parancs. A segédprogramra azért van szükség, mert az X cookie privát információ, nem adható át parancsori paraméterként.</para>

</sect1>

<sect1 id="password-checking">
<title
>A jelszó ellenőrzése</title>

<para
>A &kdesu; leellenőrzi a beírt jelszót és hibaüzenetet ad, ha az nem megfelelő. Az ellenőrzés a <filename
>/bin/true</filename
> végrehajtásának megkísérlésével történik. Ha a futtatás sikerül, akkor a program úgy tekinti, hogy a jelszó megfelelő.</para>

</sect1>

<sect1 id="sec-password-keeping">
<title
>A jelszó megőrzése</title>

<para
>Kényelmi okokból a &kdesu; lehetővé teszi a jelszavak megjegyzését. A következő szakaszban az ezzel kapcsolatos biztonsági tudnivalókat foglaljuk össze.</para>

<para
>A jelszavak megjegyzésének engedélyezése egy bizonyos biztonsági kockázattal jár. A KDE su ugyan csak az Ön nevében engedi felhasználni a jelszavakat, de ha elővigyázatosság nélkül használják, akkor a root felhasználó biztonsági szintje az Önével azonos lesz. Ugyanis ha ha valaki sikeresen megszerzi az Ön jelszavát, akkor egyben rendszergazdai jogot is szerez. A &kdesu; megpróbálja megakadályozni ezt a lehetőséget oly módon, mely kellőképpen biztonságosnak mondható. A módszer a következő.</para>

<para
>A &kdesu;-hoz tartozik egy <application
>kdesud</application
> nevű szolgáltatás. Ez egy Unix aljazatot figyel a <filename
>/tmp</filename
> könyvtárban, parancsokra várva. Az aljazat jogosultsági értéke 0600, tehát csak az Ön nevével lehet csatlakozni hozzá. Ha a jelszómentés be van kapcsolva, a &kdesu; ezen a szolgáltatáson keresztül hajtja végre a parancsokat. Kiírja a parancsot és a root jelszót az aljazatra, a szolgáltatás végrehajtja a parancsot a "<command
>su</command
>"-n keresztül, ahogy korábban leírtuk. Ezután egy ideig megőrzi a parancsot és a jelszót is. A várakozási idő értékét a vezérlőközpontbeli modullal lehet megváltoztatni. Ha a megadott időn belül ugyanazt a parancsot még egyszer végre kell hajtani, akkor a kliensnek nem kell megadnia a jelszót még egyszer. Hogy az esetleges betörőnek ne legyen módja a jelszavak lekérdezésére a szolgáltatástól (például egy nyomkövető használatával), a szolgáltatás "set-group-id nogroup" módon van beállítva. Ez megakadályozza, hogy bármely felhasználó (Önt is beleértve) lekérdezhesse a jelszavakat a <application
>kdesud</application
> folyamattól. Ezen kívül a szolgáltatás beállítja a <envar
>DISPLAY</envar
> környezeti változót arra az értékre, amely induláskor volt. Így a betörő legrosszabb esetben arra lehet képes, hogy végrehajtson egy programot az Ön képernyőjén.</para>

<para
>Ennek az eljárásnak az az egyik gyenge pontja, a végrehajtott programok nem minden esetben tesznek eleget a biztonsági előírásoknak (pl. a setuid root programok). A programokban megbújó 'buffer overrun' és egyéb hibákat kihasználhatja egy esetleges támadó.</para>

<para
>A jelszómegjegyzési lehetőség használata bizonyos biztonsági kockázatot jelent. Az adott környezettől függően kell eldönteni, hogy érdemes-e bekapcsolni vagy nem.</para>

</sect1>
</chapter>

<chapter id="Author">
<title
>Szerzők</title>

<para
>&kdesu;</para>

<para
>Copyright: Geert Jansen, 2000.</para>

<para
>A &kdesu;-t Geert Jansen készítette. A program részben Pietro Iglio &kdesu; 0.3 alkalmazása alapján készült. Megegyeztem Pietróval, hogy a jövőben én fogom karbantartani a programot.</para>

<para
>A szerző elérhető a következő e-mail címen: <email
>g.t.jansen@stud.tue.nl</email
>. Várom a programmal kapcsolatos észrevételeket, hibabejelentéseket, írjon bátran!</para>

&underFDL;
&underArtisticLicense;

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

