# A KDE su kézikönyve

Geert
Jansen

    g.t.jansen@stud.tue.nl

Tamás
Szántó

    tszanto@mol.hu

25/05/2000
1.00.00

Ez a KDE su hivatalos dokumentációja.

KDE
su
jelszó
root

## Bevezetés

Köszönti Önt a KDE su! A KDE su egy grafikus kezel&odblac;i felület a Unix "su" parancshoz a KDE grafikus környezetben. Lehet&odblac;vé teszi egy program futtatását egy tetsz&odblac;leges felhasználó nevében, a név és a jelszó megadásával. A KDE su egy normál program, a rendszer su parancsát használja.

A KDE su képes megjegyezni a korábban már beírt jelszavakat. Ha úgy dönt, hogy használni kívánja ezt a lehet&odblac;séget, akkor minden parancshoz csak egyszer kell megadni a jelszót. Lásd a(z) helyet további információkért és a biztonsági tudnivalókért.

Ezt a programot parancssorból vagy egy asztali .desktop linkr&odblac;l lehet indítani. Ugyan a rendszergazdai jelszót párbeszédablakban kéri be, inkább tekinthet&odblac; egy parancssor <-> grafikus felület közötti hídnak mint normál grafikus programnak.

## Telepítés

### Letöltés

A KDE su része a KDE CVS-nek, a kdebase csomagnak. Minden KDE 2.x disztribúcióban megtalálható. A KDE 1.x alatt használható változat letölthet&odblac; a honlapomról: `ftp://skynet.stack.nl/pub/users/geertj/`.

### Lefordítás

A KDE su része a kdebase csomagnak, melynek telepítésekor ez a program is felkerül a gépre.

A KDE 1.x-hez készült változat lefordításához írja be az alábbiakat:

    &dollar; ./configure
    &dollar; make
    &dollar; make install

Az utolsó lépéshez rendszergazdai jog kell, mert a telepítési folyamatnak írási jogosultság kell a KDE alapkönyvtárakhoz.

## A KDE su használata

A KDE su használata igen egyszer&udblac;. A program indítási paraméterei a következ&odblac;k:

    &dollar; kdesu &lsqb;FELHASZNÁLÓNÉV&rsqb; &lsqb;-ntqd&rsqb; &lsqb;-f FÁJLNÉV&rsqb; -c
     PROGRAMNÉV &lsqb;PAR1 &lsqb;PAR2 &lsqb;...&rsqb;&rsqb;&rsqb;
    &dollar; kdesu -v|-h|-s

Az egyes paraméterek magyarázata alább látható.

-c PROGRAMNÉV

  A root felhasználó nevében futtatandó program neve. Összefügg&odblac; karakterláncot kell megadni, ha több részb&odblac;l áll, használjon idéz&odblac;jelet. Például egy új fájlkezel&odblac; indításához a következ&odblac;ket kell beírni:

      &dollar; kdesu -c "kfm -sw"

-f FÁJLNÉV

  Ez az opció a KDE su hatékony használatát teszi lehet&odblac;vé a .desktop fájlokban. A KDE su megvizsgálja a FÁJLNÉV nev&udblac; fájlt. Ha a fájlhoz írási joga van az aktuális felhasználónak, akkor a KDE su az aktuális felhasználó nevében indítja a programot. Ha nincs hozzá írási joga, akkor a FELHASZNÁLÓNÉV felhasználó nevében (ennek alapértelmezése: root).

  A FÁJLNÉV értelmezése a következ&odblac;: ha az els&odblac; karaktere "/", akkor teljes elérési utat feltételez a program, különben globális KDE konfigurációs fájlt feltételez. Például: a K képerny&odblac;kezel&odblac;höz, a kdm-hez, kiadható az alábbi:

      &dollar; kdesu -c kdmconfig -f kdmrc

-t

  Terminálkimenet engedélyezése. Ez letiltja a jelszavak megjegyzését. Els&odblac;sorban hibafelderítési célokat szolgál; ha parancssoros programot akar indítani, használja közvetlenül a "su" parancsot.

-n

  A jelszó megjegyzésének letiltása. Ez kikapcsolja "a jelszó mentése" vezérl&odblac;elemet a jelszómegadás párbeszédablakában.

-q

  A kiírások letiltása.

-d

  Nyomkövetési információk megjelenítése.

-v

  A verzióinformációk kiírása és kilépés.

-h

  Segítség kiírása a program használatához.

-s

  A kdesu szolgáltatás leállítása. További információ: .

## Beállítás

A KDE su-hoz tartozik egy kcmkdesu nev&udblac; beállítómodul. Ez a K menüben található, a Beállítások->Alkalmazások->KDE su néven. A következ&odblac; beállításokat lehet megváltoztatni:

- Jelszókiírási mód. A jelszó karaktereinek a képerny&odblac;n megjelenését befolyásolja. A választási lehet&odblac;ségek: egy ill. három csillag karakterenként vagy nincs kijelzés. Az alapértelmezés: egy csillag karakterenként.

- A jelszavak megjegyzése. A KDE su akkor fogja megjegyezni a jelszavakat, ha bejelöli "a jelszó mentése" opciót. Ha ezt bejelölte, akkor az alatta látható mez&odblac;ben meg lehet adni a jelszavak érvényességi idejét. A megadott számú percig fog emlékezni a program a beírt jelszavakra. Az alapértelmezés szerint nincs jelszómentés.

## Technikai információk

### X bejelentkezés

A végrehajtandó programok a root felhasználó nevében futnak, és általában nem férnek hozzá az X képerny&odblac;khöz. A KDE su ezt úgy kerüli ki, hogy egy bejelentkezési cookie-t hoz létre a képerny&odblac;höz az ideiglenes `.Xauthority` fájlban. A parancs futásának befejez&odblac;dése után a fájl törl&odblac;dik.

Ha nem használ X cookie-kat, akkor ez nem m&udblac;ködik. A KDE su felismeri ezt a helyzetet és nem hozza létre a cookie-t, de Önnek kell biztosítania, hogy a root felhasználó hozzáfér a képerny&odblac;höz.

### Kapcsolat az su-val

A KDE su a unixos "su" parancsot használja a futtatáshoz. Ebben a részben elmagyarázom ennek a kapcsolatnak a részleteit.

Néhány su variáns (pl. a Redhat disztribúcióé) nem fogadja el a standard bemenetr&odblac;l a jelszót, ezért a KDE su egy pty/tty párt hoz létre és úgy hajtja végre a "su"-t, hogy a standard fájlleírókat a tty-hoz köti.

A megadott parancs végrehajtásához, az interaktív parancsértelmezés kikerüléséhez a kde su a "-c" su parancsori kapcsolót használja. Ezt a kapcsolót szinte minden létez&odblac; parancsértelmez&odblac; ismeri. A su átadja ezt a "-c" paramétert a parancsértelmez&odblac;nek, amely végrehajtja a programot. Például: "su root -c egy&lowbar;program".

A program nem közvetlenül a megadott parancsot végezteti el a su-val, hanem egy `kdesu&lowbar;stub` nev&udblac; segédprogramot. Ez a program (a megadott felhasználó nevében futva), bizonyos adatokat kérdez le a kdesu-ból a pty/tty csatornán keresztül (ez a segédprogram standard kimenete és bemenete), majd végrehajtja a programot. A lekérdezett információk a következ&odblac;k: az X képerny&odblac; azonosítója, egy X bejelentkezési cookie (ha létezik), a PATH változó és a végrehajtandó parancs neve. Erre a segédprogramra azért van szükség, mert az X cookie védett információt tartalmaz, nem adható át parancssori paraméterként.

### A jelszó ellen&odblac;rzése

A KDE su leellen&odblac;rzi a megadott jelszót és hibaüzenetet ad, ha az nem megfelel&odblac;. Az ellen&odblac;rzés a `/bin/true` tesztprogram végrehajtásával történik. Ha ez sikerül, akkor a jelszót jónak fogadja el a program.

### A jelszavak mentése

Kényelmi okok miatt a KDE su képes "megjegyezni" a megadott jelszavakat. Ha a felmerül&odblac; biztonsági problémák érdeklik, olvassa el az alábbi részt.

Ha a KDE su elmentheti a beírt jelszavakat, akkor egy (kis) biztonsági rés jön létre a rendszerben. Természetesen a KDE su csak a megadott felhasználónévvel engedi használni a jelszót, de ha gondatlanul jár el, a rendszergazda biztonsági szintjét az Ön biztonsági szintjére csökkentheti. Ha valaki feltöri az Ön jelszavát, akkor a rendszergazda jogosultságát is használhatja. A KDE su megpróbálja ezt a lehet&odblac;séget megakadályozni. Az alább részletezett eljárás biztonságosnak mondható (a véleményem szerint legalábbis).

A KDE su egy kdesud nev&udblac; szolgáltatást (démont) használ. Ez a szolgáltatás egy Unix socket-et figyel a /tmp könyvtárban parancsokért. A socket jogosultsága 0600, ezért csak az Ön azonosítójával lehet csatlakozni hozzá. Ha a jelszavak mentése engedélyezett, a KDE su ezen a szolgáltatáson keresztül hajt végre bizonyos m&udblac;veleteket. A program a parancs nevét és a rendszergazdai jelszót kiírja ebbe a socket-ba, majd a szolgáltatás végrehajtja a "su"-t a fent leírtak szerint. A szolgáltatás nem dobja el azonnal a parancs nevét és a megadott jelszót, hanem eltárolja egy bizonyos ideig. Ezt az id&odblac;tartamot lehet megadni a beállítómodulban. Ha ezen az id&odblac;n belül érkezik ugyanannak a parancsnak végrehajtására egy kérés, akkor a kliensnek nem kell újból megadnia a jelszót. Még ha egy illetéktelen személy fel is töri az Ön jelszavát, hiába próbálkozna, hogy a szolgáltatástól lekérdezze a jelszavakat (például egy nyomkövet&odblac; csatlakoztatásával), mert a szolgáltatás végrehajtási csoportazonosítója nogroup-ra van állítva. Ez megakadályozza, hogy bármely normál felhasználó (Önt is beleértve) jelszavakat kérdezhessen le a kdesud folyamattól. Ezenkívül a szolgáltatás a DISPLAY környezeti változót az induláskori értékre állítja, így az esetleges illetéktelen behatoló legfeljebb az Ön képerny&odblac;jén hajthatna végre valamit.

Ennek a módszernek az az egyik gyenge pontja, hogy a végrehajtandó programok biztonsági szempontból nem tökéletesek (például a setuid root programok), ezért egy illetéktelen behatoló ezen programok puffertúlfutási és egyéb hibáit esetleg kihasználhatja.

A jelszómentési lehet&odblac;ség egy kompromisszumos megoldás a maximális biztonság és a kényelmes használat között. Gondolja át, hogy melyik a fontosabb Önnek, és az alapján döntsön a használatáról.

## A szerz&odblac;

A KDE su-t Geert Jansen készítette. Néhány dolgot átvettem Pietro Iglio KDE su-jából, a 0.3 verzióból. Megegyeztem Pietroval, hogy ezután én fogom karbantartani a programot.

A szerz&odblac; e-mail címe: <g.t.jansen@stud.tue.nl>. Kérem értesítsen a programban talált hibákról, hogy miel&odblac;bb kijavíthassam &odblac;ket. Írja meg a továbbfejlesztéssel kapcsolatos javaslatait is.