Translation by Artem Sereda with my minor changes
[kde-ru.git] / docs / kdebase-runtime / kdesu / index.docbook
blob9937bf936678174a6e6b5f5f7c299439a1d6d5f7
1 <?xml version="1.0" ?>
2 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
3 "dtd/kdex.dtd" [
4 <!ENTITY kappname "&kdesu;">
5 <!ENTITY package "kdebase">
6 <!ENTITY % addindex "IGNORE">
7 <!ENTITY % Russian "INCLUDE"
8 > <!-- change language only here -->
9 ]>
11 <book lang="&language;">
12 <bookinfo>
14 <title
15 >Справочное руководство по &kdesu;</title>
17 <authorgroup>
18 <author
19 >&Geert.Jansen; &Geert.Jansen.mail;</author>
20 <othercredit role="translator"
21 ><firstname
22 >Екатерина</firstname
23 > <surname
24 >Пыжова</surname
25 > <affiliation
26 ><address
27 ><email
28 >haleth@yandex.ru</email
29 ></address
30 ></affiliation
31 > <contrib
32 >Перевод на русский</contrib
33 ></othercredit
35 </authorgroup>
37 <copyright>
38 <year
39 >2000</year>
40 <holder
41 >Геерт Янсен (Geert Jansen)</holder>
42 </copyright>
44 <legalnotice
45 >&FDLNotice;</legalnotice>
47 <date
48 >2002-01-18</date>
49 <releaseinfo
50 >1.00.00</releaseinfo>
53 <abstract
54 ><para
55 >&kdesu; представляет собой графическую оболочку к &UNIX;-команде <command
56 >su</command
57 >.</para
58 ></abstract>
60 <keywordset>
61 <keyword
62 >KDE</keyword>
63 <keyword
64 >su</keyword>
65 <keyword
66 >пароль</keyword>
67 <keyword
68 >root</keyword>
69 </keywordset>
71 </bookinfo>
73 <chapter id="introduction">
74 <title
75 >Введение</title>
77 <para
78 >Добро пожаловать в &kdesu;! Эта программа представляет собой графическую оболочку к &UNIX;-команде <command
79 >su</command
80 > для среды &kde;. Она позволяет вам запускать программы от имени другого пользователя, если вы передадите ей пароль этого пользователя. &kdesu; является непривилегированной программой и пользуется системным <command
81 >su</command
82 >.</para>
84 <para
85 >&kdesu; предлагает еще одну дополнительную возможность &mdash; запоминание паролей. Чтобы использовать ее, вам нужно ввести пароль всего однажды для каждой команды. Подробности и анализ безопасности смотрите по ссылке <xref linkend="sec-password-keeping"/>.</para>
87 <para
88 >Эта программа расчитана на запуск из командной строки или из файлов <filename
89 >.desktop</filename
90 >. Хотя она спрашивает пароль пользователя <systemitem class="username"
91 >root</systemitem
92 >, используя графический интерфейс, мне кажется, что она скорее основана на слиянии командной строки и графического интерфейса, а не просто на графическом интерфейсе.</para>
94 </chapter>
96 <chapter id="using-kdesu">
97 <title
98 >Использование &kdesu;</title>
100 <para
101 >Использовать &kdesu; просто. Синтаксис следующий:</para>
103 <cmdsynopsis
104 ><command
105 >kdesu</command
106 > <arg
107 >USER</arg
108 > <arg
109 >-n</arg
110 > <arg
111 >-t</arg
112 > <arg
113 >-q</arg
114 > <arg
115 >-d</arg
116 > <arg
117 >-f <replaceable
118 >FILE</replaceable
119 ></arg
120 > <arg
121 >-c <group
122 > <arg
123 > <replaceable
124 >COMMAND</replaceable
125 > <arg
126 ><replaceable
127 >ARG1</replaceable
128 ></arg
129 > <arg
130 ><replaceable
131 >ARG2</replaceable
132 ></arg
133 > <arg rep="repeat"
134 ><replaceable
135 ></replaceable
136 ></arg
137 > </arg
138 > </group
139 > </arg
140 > </cmdsynopsis>
142 <cmdsynopsis
143 ><command
144 >kdesu</command
145 > <group
146 > <arg
147 >-v</arg
148 > <arg
149 >-h</arg
150 > <arg
151 >-s</arg
152 > </group
153 > </cmdsynopsis>
155 <para
156 >Параметры командной строки описаны ниже.</para>
158 <variablelist>
159 <varlistentry>
160 <term
161 ><option
162 >-c <replaceable
163 >PROGRAM</replaceable
164 ></option
165 ></term>
166 <listitem
167 ><para
168 >Указать программу для запуска с правами root. Это должен быть один аргумент. Поэтому, если вы хотите запустить новый файловый менеджер, вам следует ввести следующее: <userinput
169 ><command
170 >kdesu <option
171 >-c <replaceable
172 >kfm -sw</replaceable
173 ></option
174 ></command
175 ></userinput
176 >.</para
177 ></listitem>
178 </varlistentry>
179 <varlistentry>
180 <term
181 ><option
182 >-f <replaceable
183 >FILE</replaceable
184 ></option
185 ></term>
186 <listitem
187 ><para
188 >Этот параметр позволяет эффективно использовать <filename
189 >.desktop</filename
190 >-файлы. При этом &kdesu; проверяет файл, указанный в <parameter
191 >FILE</parameter
192 >. Если он доступен для записи текущему пользователю, то &kdesu; запустит команду с правами этого пользователя. Иначе команда будет запущена с правами пользователя <parameter
193 >USER</parameter
194 > (root по умолчанию).</para>
195 <para
196 ><parameter
197 >FILE</parameter
198 > анализируется так: если этот параметр начинается с <literal
199 >/</literal
200 >, то он считается абсолютным путем. Иначе &mdash; именем глобального файла конфигурации &kde;. Например, чтобы настроить менеджер входа в систему <application
201 >kdm</application
202 >, вам следует набрать <command
203 >kdesu <option
204 >-c kdmconfig -f kdmrc</option
205 ></command
206 >.</para
207 ></listitem>
208 </varlistentry>
209 <varlistentry>
210 <term
211 ><option
212 >-t</option
213 ></term>
214 <listitem
215 ><para
216 >Разрешить терминальный вывод. Это делает невозможным запоминание паролей. В основном служит для отладки. Если вы хотите запустить обычное консольное приложение, пользуйтесь стандартным <command
217 >su</command
218 >.</para
219 > </listitem>
220 </varlistentry>
221 <varlistentry>
222 <term
223 ><option
224 >-n</option
225 ></term>
226 <listitem
227 ><para
228 >Не сохранять пароль. Делает недоступным флажок <guilabel
229 >Сохранить пароль</guilabel
230 > в окне ввода пароля.</para
231 ></listitem>
232 </varlistentry>
233 <varlistentry>
234 <term
235 ><option
236 >-q</option
237 ></term>
238 <listitem
239 ><para
240 >Не выводить никакой информации.</para
241 ></listitem>
242 <!-- Lauri: This could do with a little expansion. quiet as in no screen -->
243 <!-- output, quiet as in no gui prompt for the password, or quiet as in no -->
244 <!-- beeping? -->
245 </varlistentry>
247 <varlistentry>
248 <term
249 ><option
250 >-d</option
251 ></term>
252 <listitem
253 ><para
254 >Выводить информацию для отладки.</para
255 ></listitem>
256 </varlistentry>
257 <varlistentry>
258 <term
259 ><option
260 >-v</option
261 ></term>
262 <listitem
263 ><para
264 >Вывести номер версии и завершить работу.</para
265 ></listitem>
266 </varlistentry>
267 <varlistentry>
268 <term
269 ><option
270 >-h</option
271 ></term>
272 <listitem
273 ><para
274 >Вывести небольшое описание.</para
275 ></listitem>
276 </varlistentry>
277 <varlistentry>
278 <term
279 ><option
280 >-s</option
281 ></term>
282 <listitem
283 ><para
284 >Остановить сервис kdesu. Подробности: <xref linkend="sec-password-keeping"/>.</para
285 ></listitem>
286 </varlistentry>
287 </variablelist>
289 </chapter>
291 <chapter id="configuration">
292 <title
293 >Настройка</title>
295 <para
296 >&kde; устанавливается с модулем настройки <application
297 >kcmkdesu</application
298 >. Его можно найти в <guimenu
299 >Меню &kde;</guimenu
300 > в подменю <menuchoice
301 ><guisubmenu
302 >Настройка</guisubmenu
303 ><guisubmenu
304 >KDE</guisubmenu
305 ><guimenuitem
306 >Безопасность</guimenuitem
307 ><guimenuitem
308 >Пароли</guimenuitem
309 ></menuchoice
310 >.</para>
312 <variablelist>
313 <varlistentry>
314 <term
315 ><guilabel
316 >Отображать вводимый символ</guilabel
317 ></term>
318 <listitem
319 ><para
320 >Определяет режим отображения символов пароля. Можно выводить звездочку вместо каждого символа, три звездочки или вообще ничего не выводить. По умолчанию &mdash; одна звездочка вместо символа.</para
321 ></listitem>
322 </varlistentry>
323 <varlistentry>
324 <term
325 ><guilabel
326 >Запоминание паролей</guilabel
327 ></term>
328 <listitem
329 ><para
330 >Если флажок <guilabel
331 >Помнить пароль</guilabel
332 > установлен, &kdesu; будет запоминать введенные пароли. Время (в минутах), в течение которого вас не спросят повторно пароль, вводится в поле ниже. По умолчанию эта возможность не используется.</para
333 ></listitem>
334 </varlistentry>
335 </variablelist>
337 </chapter>
339 <chapter id="Internals">
340 <title
341 >Внутренние особенности</title>
343 <sect1 id="x-authentication">
344 <title
345 >Авторизация X</title>
347 <para
348 >Запускаемая вами программа будет работать с идентификатором пользователя root и, в общем случае, не будет иметь прав для доступа к вашему X-дисплею. &kdesu; исправляет это, добавляя авторизационный cookie для вашего дисплея во временный файл <filename
349 >.Xauthority</filename
350 >. После завершения команды, файл удаляется. </para>
352 <para
353 >Если вы не используете систему X cookie, то &kdesu; обнаружит это и не будет добавлять новый cookie, однако никакой гарантии, что root получит доступ к вашему дисплею, не дается.</para>
355 </sect1>
357 <sect1 id="interface-to-su">
358 <title
359 >Взаимодействие с <command
360 >su</command
361 ></title>
363 <para
364 >&kdesu; использует системную команду <command
365 >su</command
366 >, чтобы получить привилегированный доступ. В этом разделе объясняются детали того, как &kdesu; это делает. </para>
368 <para
369 >Так как некоторые реализации <command
370 >su</command
371 > (например в &RedHat;) не позволяют задавать пароль из <literal
372 >stdin</literal
373 >, &kdesu; создает пару pty/tty и запускает <command
374 >su</command
375 > с его стандартными файловыми дескрипторами, настроенными на этот tty.</para>
377 <para
378 >Чтобы выполнить программу, которую выбрал пользователь, а не запустить оболочку интерактивно, используется параметр <option
379 >-c</option
380 > для <command
381 >su</command
382 >. Этот аргумент понимается всеми известными мне оболочками и должен быть переносимым. Команда <command
383 >su</command
384 > передает аргумент <option
385 >-c</option
386 > оболочке пользователя, которая и запускает программу на исполнение. Это выглядит так: <command
387 >su <option
388 >root -c <replaceable
389 >the_program</replaceable
390 ></option
391 ></command
392 >.</para>
394 <para
395 >Вместо прямого запуска команды пользователя через <command
396 >su</command
397 >, &kdesu; запускает небольшую программу, называемую <application
398 >kdesu_stub</application
399 >. Она (запущенная с правами требуемого пользователя) запрашивает определенную информацию от &kdesu; через канал pty/tty (stdin и stdout для этой программы), а затем уже выполняет программу пользователя. Передаваемая информация: номер X-дисплея, авторизационный X cookie (если доступен), переменная <envar
400 >PATH</envar
401 > и команда для запуска. Такая вспомогательная программа нужна, потому что X cookie содержит секретную информацию и поэтому не может быть передан в командной строке.</para>
403 </sect1>
405 <sect1 id="password-checking">
406 <title
407 >Проверка пароля</title>
409 <para
410 >&kdesu; проверяет введенный вами пароль и выдает сообщение об ошибке, если он не верен. Проверка организована с помощью выполнения программы-теста <filename
411 >/bin/true</filename
412 >. Если это возможно, то пароль считается правильным.</para>
414 </sect1>
416 <sect1 id="sec-password-keeping">
417 <title
418 >Хранение паролей</title>
420 <para
421 >Для вашего удобства в &kdesu; реализован механизм хранения паролей. Если вас интересуют вопросы безопасности, прочитайте этот раздел.</para>
423 <para
424 >Запоминание паролей в &kdesu; создает небольшую дыру в системе безопасности вашей системы. Очевидно, что &kdesu; не позволяет никому, кроме пользователей с вашим идентификатором пользоваться этими паролями. Однако если это реализовать без предосторожностей, системный уровень безопасности <systemitem class="username"
425 >root</systemitem
426 > понизится до уровня обычного пользователя (вас). И человек, который получит доступ к вашей учетной записи, получит доступ уровня <systemitem class="username"
427 >root</systemitem
428 >. &kdesu; пытается не допустить этого. Схема безопасности, используемая им, на мой взгляд, достаточно безопасна.</para>
430 <para
431 >&kdesu; использует сервис под названием <application
432 >kdesud</application
433 >. Этот сервис ожидаает команды с &UNIX;-сокета, расположенного в <filename
434 >/tmp</filename
435 >. Режим его доступа равен 0600, то есть только пользователь с вашим идентификатором может соединиться с ним. Если хранение паролей включено, &kdesu; выполняет команды через этот сервис. Он пишет команды и пароль пользователя <systemitem class="username"
436 >root</systemitem
437 > в сокет, и сервис выполняет команду <command
438 >su</command
439 >, как описано выше. После этого команда и пароль не теряются, а хранятся в течение указанного времени (устанавливается в модуле настройки). Если другой запрос на запуск такой же команды приходит в течение этого периода времени, клиент может не предоставлять пароль. Чтобы не дать человеку, получившему доступ к вашей учетной записи, украсть у сервиса пароль (например, запуском отладчика), sgid сервиса (группа при запуске) установлен в nogroup. Это не дает обычным пользователям, в том числе и вам, получать пароли от процесса <application
440 >kdesud</application
441 >. Также этот сервис устанавливает переменную окружения <envar
442 >DISPLAY</envar
443 > в значение при запуске. Все, что сможет сделать взломщик &mdash; это запустить на вашем дисплее приложение.</para>
445 <para
446 >Слабое место в этой схеме в том, что запускаемые программы могут быть написаны без соблюдения правил защиты (например, программы с setuid <systemitem class="username"
447 >root</systemitem
448 >). Это означает, что они могут вызвать переполнение буферов или другие проблемы, а взломщик может использовать это.</para>
450 <para
451 >Использование хранения паролей &mdash; это компромисс между безопасностью и удобством. Подумайте и решите, что вам больше важно, и решите, будете ли вы им пользоваться.</para>
453 </sect1>
454 </chapter>
456 <chapter id="Author">
457 <title
458 >Автор</title>
460 <para
461 >&kdesu;</para>
463 <para
464 >(C) 2000 Геерт Янсен (Geert Jansen)</para>
466 <para
467 >&kdesu; написал Геерт Янсен (Geert Jansen). Эта программа основана на &kdesu;, версии 0.3, написанной Пьетро Иглио (Pietro Iglio). Мы договорились, что я буду проводить дальнейшую поддержку этой программы.</para>
469 <para
470 >С автором можно связаться по адресу &Geert.Jansen.mail;. Пожалуйста, сообщайте мне о всех встреченных ошибках, чтобы я мог их исправить. Также жду любых предложений и комментариев.</para>
471 &underFDL; &underArtisticLicense; </chapter>
473 </book>
474 <!--
475 Local Variables:
476 mode: sgml
477 sgml-omittag: nil
478 sgml-shorttag: t
479 End: