1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&tdesu;">
<!ENTITY package "tdebase">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Hungarian "INCLUDE" > <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>&tdesu; kézikönyv</title>
<authorgroup>
<author> <firstname>Geert</firstname> <surname>Jansen</surname> <affiliation> <address><email>[email protected]</email></address> </affiliation> </author>
<othercredit role="reviewer">
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation>
<address><email>[email protected]</email></address>
</affiliation>
<contrib>Ellenőrzés</contrib>
</othercredit>
<othercredit role="translator"><firstname>Tamás</firstname><surname>Szántó</surname><contrib>Magyar fordítás</contrib><affiliation><address><email>[email protected]</email></address></affiliation></othercredit>
</authorgroup>
<copyright>
<year>2000</year>
<holder>Geert Jansen</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2002-01-18</date>
<releaseinfo>1.00.00</releaseinfo>
<abstract><para>A &tdesu; 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 &tdesu;-ban! A &tdesu; egy &kde;-alapú grafikus előtétprogram a &UNIX; <command>su</command> 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 <command>su</command> parancsát használja, normál jogosultsággal fut.</para>
<para>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ó: <xref linkend="sec-password-keeping"/>.</para>
<para>A program indítása parancsértelmezőből vagy egy <filename>.desktop</filename> fájlból történhet. A <systemitem class="username">root</systemitem> 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.</para>
</chapter>
<chapter id="using-tdesu">
<title>A &tdesu; kezelése</title>
<para>A &tdesu; használata nagyon egyszerű. A szintaxis a következő:</para>
<cmdsynopsis>
<command>tdesu</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>tdesu</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>tdesu <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 &tdesu; használatát <filename>.desktop</filename> fájlokban. Ennek hatására a &tdesu; 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 &tdesu; 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 <literal>/</literal>, 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>tdm</application> beállításához használható a <command>tdesu <option>-c tdmconfig -f tdmrc</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 közvetlenül 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>Kiírja a rövid használati útmutatót.</para></listitem> </varlistentry> <varlistentry> <term><option>-s</option></term> <listitem><para>Leállítja a tdesu 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 &tdesu;-hoz tartozik egy <application>kcmtdesu</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 &tdesu; 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 &tdesu; úgy kerüli 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 &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.</para>
</sect1>
<sect1 id="interface-to-su">
<title>Kapcsolódási felület a <command>su</command>-hoz</title>
<para>A &tdesu; 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 (pl. a &RedHat; disztribúcióé) nem fogad el jelszót a <literal>standard bemenetről</literal>, ezért a &tdesu; 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 &tdesu; 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> argumentumban 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 &tdesu;, hanem egy <application>tdesu_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 &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 <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 &tdesu; 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 &tdesu; lehetővé teszi a jelszavak <quote>megjegyzését</quote>. 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 &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 <systemitem class="username">root</systemitem> 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ő.</para>
<para>A &tdesu;-hoz tartozik egy <application>tdesud</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 &tdesu; ezen a szolgáltatáson keresztül hajtja végre a parancsokat. Kiírja a parancsot és a <systemitem class="username">root</systemitem> 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 ú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 <application>tdesud</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>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 <systemitem class="username">root</systemitem> programok). A programokban megbújó puffertúlcsordulási és egyéb hibákat kihasználhatja egy 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>&tdesu;</para>
<para>Copyright: Geert Jansen, 2000.</para>
<para>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.</para>
<para>A szerző elérhető a következő e-mail címen: <email>[email protected]</email>. Várom a programmal kapcsolatos észrevételeket, hibabejelentéseket, írjon bátran!</para>
&underFDL;
&underArtisticLicense;
</chapter>
<appendix id="installation">
<title>Telepítés</title>
<sect1 id="downloading">
<title>Letöltés</title>
&install.intro.documentation;
</sect1>
<sect1 id="compiling">
<title>Lefordítás</title>
&install.compile.documentation;
</sect1>
</appendix>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
|