]> &tdesu; kézikönyv Geert Jansen
g.t.jansen@stud.tue.nl
Lauri Watts
lauri@kde.org
Ellenőrzés
TamásSzántóMagyar fordítás
tszanto@mol.hu
2000 Geert Jansen &FDLNotice; 2002-01-18 1.00.00 A &tdesu; egy grafikus előtétprogram a &UNIX; su parancsához. KDE su jelszó root
Bevezetés Üdvözöljük a &tdesu;-ban! A &tdesu; egy &kde;-alapú grafikus előtétprogram a &UNIX; su parancsának 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 &tdesu; a rendszer su parancsát használja, normál jogosultsággal fut. A &tdesu;-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 parancsértelmezőből vagy egy .desktop fájlból történhet. A root jelszót egy grafikus ablakban kell beírni, de ennek ellenére a programot inkább egyfajta összekötő rétegnek lehet tekinteni a karakteres módú és a grafikus programok között, mintsem igazi grafikus alkalmazásnak. A &tdesu; kezelése A &tdesu; használata nagyon egyszerű. A szintaxis a következő: tdesu USER -n -t -q -d -f FILE -c COMMAND ARG1 ARG2 tdesu -v -h -s A lehetséges parancssori paraméterek a következők. 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: tdesu Ez az opció lehetővé teszi a &tdesu; használatát .desktop fájlokban. Ennek hatására a &tdesu; 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 &tdesu; 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 tdesu parancs. 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 közvetlenül a su-t érdemes használni. Letiltja a jelszó megjegyzését, A jelszó mentése választónégyzet nem lesz használható. Néma üzemmód. Részletesen kiírja a nyomkövetéshez szükséges információkat. Kiírja a verzióinformációt és bezárja a programot. Kiírja a rövid használati útmutatót. Leállítja a tdesu szolgáltatást, lásd: . Beállítások A &tdesu;-hoz tartozik egy kcmtdesu 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 &tdesu; 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 &tdesu; úgy kerüli 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 &tdesu; 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 <command >su</command >-hoz A &tdesu; 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 &RedHat; disztribúcióé) nem fogad el jelszót a standard bemenetről, ezért a &tdesu; 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 &tdesu; az interaktív parancsértelmező helyett a su parancsot a argumentummal indítja. Ezt az argumentumot minden parancsértelmező ismeri, ezért minden esetben működnie kell. A su átadja a argumentumban megadott szöveget a parancsértelmezőnek, amely aztán végrehajtja a programot. Például: su . A megadott parancsot nem közvetlenül a su-n keresztül hajtja végre a &tdesu;, hanem egy tdesu_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 &tdesu;-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 &tdesu; 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 &tdesu; 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 &tdesu; 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 valaki sikeresen megszerzi az Ön jelszavát, akkor egyben rendszergazdai jogot is szerez. A &tdesu; 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 &tdesu;-hoz tartozik egy tdesud 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 &tdesu; 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 újból megadnia a jelszót. 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 tdesud 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. E módszer egyik gyenge pontja az, hogy a végrehajtott programok nem minden esetben tesznek eleget a biztonsági előírásoknak (pl. a setuid root programok). A programokban megbújó puffertúlcsordulási és egyéb hibákat kihasználhatja egy 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 &tdesu; Copyright: Geert Jansen, 2000. A &tdesu;-t Geert Jansen készítette. A program részben Pietro Iglio &tdesu; 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; Telepítés Letöltés &install.intro.documentation; Lefordítás &install.compile.documentation;