# A &kdesu; kézikönyve

Geert
Jansen

    g.t.jansen@stud.tue.nl

Lauri
Watts

    vampyr@atconnex.net

Lektor
Tamás
Szántó
Magyar fordítás

    tszanto@mol.hu

2000
Geert Jansen
&FDLNotice;
2000-09-04
1.00.00

A &kdesu; egy grafikus előtétprogram a Unix "`su`" parancsához.

KDE
su
jelszó
root

## Bevezetés

Üdvözöljük a &kdesu;-ban! A &kdesu; egy &kde;-alapú grafikus előtétprogram a "`su`" 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 `su` parancsát használja, nem tartalmaz privilegizált kódot.

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ó: .

A program indítása történhet parancsértelmezőből vagy egy `.desktop` 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.

## Telepítés

### Letöltés

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: ftp://skynet.stack.nl/pub/users/geertj/.

### Lefordítás

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

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

    $ ./configure
    $ make
    $ make install

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.

## A &kdesu; kezelése

A &kdesu; használata nagyon egyszerű. A szintaxis a következő:

          kdesu
          USER
          -n
          -t
          -q
          -d
          -f FILE
          -c

    	  COMMAND
    	  ARG1
    	  ARG2

          kdesu

    	-v
    	-h
    	-s

A lehetséges parancssori paraméterek a következők.

`-c PROGRAMNÉV`

  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: ``kdesu `-c kfm -sw```

`-f FÁJLNÉV`

  Ez az opció lehetővé teszi a &kdesu; használatát `.desktop` fájlokban. Ennek hatására a &kdesu; megvizsgálja a `FÁJLNÉV` 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 `FELHASZNÁLÓ` nevében fog történni (ennek alapértelmezése: root).

  A `FÁJLNÉV` paraméter kiértékelése a következő módon történik: ha a `FÁJLNÉV` 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 KDM beállításához használható a `kdesu `-c kdmconfig -f kdmrc`` parancs.

`-t`

  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 "`su`"-t érdemes használni.

`-n`

  Letiltja a jelszó megjegyzését, "A jelszó mentése" választónégyzet nem lesz használható.

`-q`

  Néma üzemmód.

`-d`

  Részletesen kiírja a nyomkövetéshez szükséges információkat.

`-v`

  Kiírja a verzióinformációt és bezárja a programot.

`-h`

  A használathoz szükséges tájékoztató szöveget írja ki.

`-s`

  Leállítja a kdesu szolgáltatást, lásd: .

## Beállítások

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

Jelszókijelzési mód

  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.

A jelszavak megjegyzése

  A KDE su meg tudja jegyezni a beírt jelszavakat, ha bejelöli "A jelszó megjegyzése" 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.

## Technikai részletek

### X felhasználóazonosítás

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 `.Xauthority` ideiglenes fájlhoz. A futás befejeződése után törli ezt a fájlt.

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.

### Kapcsolódási felület a `su`-hoz

A &kdesu; a "`su`"-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.

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

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

A megadott parancsot nem közvetlenül a `su`-n keresztül hajtja végre a &kdesu;, hanem egy kdesu_stub 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 `PATH` 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.

### A jelszó ellenőrzése

A &kdesu; leellenőrzi a beírt jelszót és hibaüzenetet ad, ha az nem megfelelő. Az ellenőrzés a `/bin/true` 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ő.

### A jelszó megőrzése

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.

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ő.

A &kdesu;-hoz tartozik egy kdesud nevű szolgáltatás. Ez egy Unix aljazatot figyel a `/tmp` 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 "`su`"-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 kdesud folyamattól. Ezen kívül a szolgáltatás beállítja a `DISPLAY` 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.

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ó.

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.

## Szerzők

&kdesu;

Copyright: Geert Jansen, 2000.

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.

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

&underFDL; &underArtisticLicense;