diff options
Diffstat (limited to 'tde-i18n-ru/docs/kdebase/kdesu/index.docbook')
-rw-r--r-- | tde-i18n-ru/docs/kdebase/kdesu/index.docbook | 507 |
1 files changed, 507 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/kdebase/kdesu/index.docbook b/tde-i18n-ru/docs/kdebase/kdesu/index.docbook new file mode 100644 index 00000000000..b59a64b8459 --- /dev/null +++ b/tde-i18n-ru/docs/kdebase/kdesu/index.docbook @@ -0,0 +1,507 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" +"dtd/kdex.dtd" [ + <!ENTITY kappname "&kdesu;"> + <!ENTITY package "kdebase"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % Russian "INCLUDE" +> <!-- change language only here --> +]> + +<book lang="&language;"> +<bookinfo> + +<title +>Руководство пользователя &kdesu;</title> + +<authorgroup> +<author +>&Geert.Jansen; &Geert.Jansen.mail;</author> +<othercredit role="translator" +><firstname +>Екатерина</firstname +> <surname +>Пыжова</surname +> <affiliation +><address +><email +>haleth@yandex.ru</email +></address +></affiliation +> <contrib +>Перевод на русский язык</contrib +></othercredit +> <othercredit role="translator" +><firstname +>Виктор</firstname +> <surname +>Ерёмин</surname +> <affiliation +><address +><email +>ErV2005@rambler.ru</email +></address +></affiliation +> <contrib +>Перевод на русский язык</contrib +></othercredit +> +</authorgroup> + +<copyright> +<year +>2000</year> +<holder +>Геерт Янсен (Geert Jansen)</holder> +</copyright> + +<legalnotice +>&FDLNotice;</legalnotice> + +<date +>2005-06-07</date> +<releaseinfo +>1.00.00</releaseinfo> + + +<abstract +><para +>&kdesu; представляет собой графическую оболочку к команде &UNIX;<command +>su</command +>.</para +></abstract> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>su</keyword> +<keyword +>пароль</keyword> +<keyword +>root</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title +>Введение</title> + +<para +>Добро пожаловать в &kdesu;! Эта программа представляет собой графическую оболочку к команде &UNIX; <command +>su</command +> для среды &kde;. Она позволяет вам запускать программы от имени другого пользователя, если вы укажете ей пароль этого пользователя. &kdesu; является непривилегированной программой и пользуется системной программой <command +>su</command +>.</para> + +<para +>&kdesu; предлагает ещё одну дополнительную возможность — запоминание паролей. Чтобы использовать её, вам нужно ввести пароль всего один раз для каждой команды. Подробности и анализ безопасности смотрите в разделе <xref linkend="sec-password-keeping"/>.</para> + +<para +>Эта программа рассчитана на запуск из командной строки или из файлов <filename +>.desktop</filename +>. Хотя она спрашивает пароль пользователя <systemitem class="username" +>root</systemitem +>, используя графический интерфейс, мне кажется, что она скорее основана на слиянии командной строки и графического интерфейса, а не просто на графическом интерфейсе.</para> + +</chapter> + +<chapter id="using-kdesu"> +<title +>Использование &kdesu;</title> + +<para +>Использовать &kdesu; просто. Синтаксис вызова следующий:</para> + +<cmdsynopsis +><command +>kdesu</command +> <group choice="opt" +><option +>-c</option +></group +> <group choice="opt" +><option +>-d</option +></group +> <group choice="opt" +><option +>-f</option +> <replaceable +> файл</replaceable +></group +> <group choice="opt" +><option +>-i</option +> <replaceable +> имя_значка</replaceable +></group +> <group choice="opt" +><option +>-n</option +></group +> <group choice="opt" +><option +>-p</option +> <replaceable +> приоритет</replaceable +></group +> <group choice="opt" +><option +>-r</option +></group +> <group choice="opt" +><option +>-s</option +></group +> <group choice="opt" +><option +>-t</option +></group +> <group choice="opt" +><option +>-u</option +> <replaceable +> пользователь</replaceable +></group +> <group choice="opt" +><option +>--nonewdcop</option +></group +> <group +><arg choice="req" +><replaceable +>команда</replaceable +> <arg +><replaceable +>аргумент1</replaceable +></arg +> <arg +><replaceable +>аргумент2</replaceable +></arg +> <arg rep="repeat" +><replaceable +></replaceable +></arg +></arg +></group +> </cmdsynopsis> +<cmdsynopsis +><command +>kdesu</command +> <arg choice="opt" +>специфические параметры &kde;</arg +> <arg choice="opt" +>специфические параметры Qt</arg +> </cmdsynopsis> + +<para +>Параметры командной строки описаны ниже.</para> + +<variablelist> +<varlistentry> +<term +><option +>-c <replaceable +>программа</replaceable +></option +></term> +<listitem +><para +>Указать программу для запуска с правами root. Это должен быть один аргумент. Поэтому, если вы хотите запустить новый файловый менеджер, вам следует ввести следующее: <userinput +><command +>kdesu <option +>-c <replaceable +>kfm -sw</replaceable +></option +></command +></userinput +>.</para +></listitem> +</varlistentry> +<varlistentry> +<term +><option +>-d</option +></term> +<listitem +><para +>Выводить отладочную информацию.</para +></listitem> +</varlistentry> +<varlistentry> +<term +><option +>-f <replaceable +>файл</replaceable +></option +></term> +<listitem +><para +>Этот параметр позволяет эффективно использовать &kdesu; в файлах <filename +>.desktop</filename +>. При этом &kdesu; проверяет файл, указанный в параметре <parameter +>файл</parameter +>. Если он доступен для записи текущему пользователю, &kdesu; запустит команду с правами этого пользователя. Иначе команда будет запущена с правами пользователя <parameter +>пользователь</parameter +> (root по умолчанию).</para> +<para +><parameter +>файл</parameter +> анализируется следующим образом: если этот параметр начинается с <literal +>/</literal +>, то он считается абсолютным путём. Иначе — именем глобального файла конфигурации &kde;. Например, чтобы настроить менеджер входа в систему <application +>kdm</application +>, вам следует набрать <command +>kdesu <option +>-c kdmconfig -f kdmrc</option +></command +>.</para +></listitem> +</varlistentry> +<varlistentry> +<term +><option +>-f</option +> <replaceable +>имя_значка</replaceable +></term> +<listitem +><para +>Указывает значок для диалога пароля. Вы можете указать только имя файла, без расширения.</para> +<para +>Например, чтобы запустить <command +>kfmclient</command +> и использовать значок &konqueror; в диалоге пароля, введите команду:</para> +<screen +><userinput +><command +>kdesu</command +> <option +>-i konqueror</option +> <command +>kfmclient</command +></userinput +></screen> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-n</option +></term> +<listitem +><para +>Не сохранять пароль. Делает недоступным флажок <guilabel +>Сохранить пароль</guilabel +> в окне ввода пароля.</para +></listitem> +</varlistentry> +<varlistentry> +<term +><option +>-p</option +> <replaceable +>приоритет</replaceable +></term> +<listitem> +<para +>Устанавливает приоритет выполнения программы. Для указания приоритета используется целое число от 0 до 100, где 100 соответствует максимальному приоритету, и 0 — минимальному. По умолчанию используется 50.</para> +</listitem> +</varlistentry> +<varlistentry> +<term +><option +>-r</option +></term> +<listitem +><para +>Использовать приоритет реального времени.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><option +>-s</option +></term> +<listitem +><para +>Остановить сервис kdesu. Подробности в разделе <xref linkend="sec-password-keeping"/>.</para +></listitem> +</varlistentry> +<varlistentry> +<term +><option +>-t</option +></term> +<listitem +><para +>Разрешить терминальный вывод. Это делает невозможным запоминание паролей. В основном эта возможность служит для отладки. Если вы хотите запустить обычное консольное приложение, пользуйтесь стандартным <command +>su</command +>.</para +> </listitem> +</varlistentry> +<varlistentry> +<term +><option +>-u</option +> <replaceable +>пользователь</replaceable +></term> +<listitem +><para +>Хотя чаще всего &kdesu; используется для запуска команд с правами root, вы можете указать имя пользователя и соответствующий пароль.</para> +</listitem> +</varlistentry> + +</variablelist> + +</chapter> + +<chapter id="Internals"> +<title +>Внутренние особенности</title> + +<sect1 id="x-authentication"> +<title +>Аутентификация в X</title> + +<para +>Запускаемая вами программа будет работать с идентификатором пользователя root и, в общем случае, не будет иметь прав для доступа к вашему дисплею X. &kdesu; исправляет это, добавляя cookie аутентификации для вашего дисплея во временный файл <filename +>.Xauthority</filename +>. После завершения выполнения команды файл удаляется. </para> + +<para +>Если вы не используете систему X cookie, то &kdesu; обнаружит это и не будет добавлять новый cookie, однако никакой гарантии, что root получит доступ к вашему дисплею, не даётся.</para> + +</sect1> + +<sect1 id="interface-to-su"> +<title +>Взаимодействие с <command +>su</command +></title> + +<para +>&kdesu; использует системную команду <command +>su</command +>, чтобы получить привилегированный доступ. В этом разделе разъясняется, как &kdesu; это делает. </para> + +<para +>Так как некоторые реализации <command +>su</command +> (например в &RedHat;) не позволяют задавать пароль из <literal +>stdin</literal +> (стандартного потока ввода), &kdesu; создаёт пару pty/tty и запускает <command +>su</command +> с файловыми дескрипторами, настроенными на этот tty.</para> + +<para +>Чтобы выполнить программу, которую выбрал пользователь, а не запустить оболочку интерактивно, используется параметр <option +>-c</option +> для <command +>su</command +>. Этот аргумент понимается всеми известными оболочками и должен быть переносимым. Команда <command +>su</command +> передаёт аргумент <option +>-c</option +> оболочке пользователя, которая и запускает программу на исполнение. Это выглядит так: <command +>su <option +>root -c <replaceable +>программа</replaceable +></option +></command +>.</para> + +<para +>Вместо прямого запуска команды пользователя через <command +>su</command +>, &kdesu; запускает небольшую программу, называемую <application +>kdesu_stub</application +>. Она (запущенная с правами требуемого пользователя) запрашивает определённую информацию от &kdesu; через канал pty/tty (потоки ввода и вывода для этой программы), а затем уже выполняет программу пользователя. Передаваемая информация: номер X-дисплея, X cookie для аутентификации (если доступен), переменная <envar +>PATH</envar +> и команда для запуска. Такая вспомогательная программа нужна, потому что X cookie содержит секретную информацию и поэтому не может быть передан в командной строке.</para> + +</sect1> + +<sect1 id="password-checking"> +<title +>Проверка пароля</title> + +<para +>&kdesu; проверяет введённый вами пароль и выдаёт сообщение об ошибке, если он не верен. Проверка организована с помощью выполнения программы-теста <filename +>/bin/true</filename +>. Если это возможно, то пароль считается правильным.</para> + +</sect1> + +<sect1 id="sec-password-keeping"> +<title +>Хранение паролей</title> + +<para +>Для вашего удобства в &kdesu; реализован механизм хранения паролей. Если вас интересуют вопросы безопасности, прочитайте этот раздел.</para> + +<para +>Запоминание паролей в &kdesu; создаёт небольшую дыру в системе безопасности вашей системы. Очевидно, что &kdesu; не позволяет никому, кроме пользователей с вашим идентификатором пользоваться этими паролями. Однако если это реализовать без предосторожностей, системный уровень безопасности <systemitem class="username" +>root</systemitem +> понизится до уровня обычного пользователя (вас). И человек, который получит доступ к вашей учётной записи, получит доступ уровня <systemitem class="username" +>root</systemitem +>. &kdesu; пытается не допустить этого. Схема безопасности, используемая им, на мой взгляд, достаточно безопасна.</para> + +<para +>&kdesu; использует сервис под названием <application +>kdesud</application +>. Этот сервис ожидает команды с &UNIX;-сокета, расположенного в <filename +>/tmp</filename +>. Режим его доступа равен 0600, то есть только пользователь с вашим идентификатором может соединиться с ним. Если хранение паролей включено, &kdesu; выполняет команды через этот сервис. Он пишет команды и пароль пользователя <systemitem class="username" +>root</systemitem +> в сокет, и сервис выполняет команду <command +>su</command +>, как описано выше. После этого команда и пароль не теряются, а хранятся в течение указанного времени (устанавливается в модуле настройки). Если другой запрос на запуск такой же команды приходит в течение этого периода времени, клиент может не предоставлять пароль. Чтобы не дать человеку, получившему доступ к вашей учётной записи, украсть у сервиса пароль (например, запуском отладчика), sgid сервиса (группа при запуске) установлен в nogroup. Это не даёт обычным пользователям, в том числе и вам, получать пароли от процесса <application +>kdesud</application +>. Также этот сервис устанавливает переменную окружения <envar +>DISPLAY</envar +> в значение при запуске. Все, что сможет сделать взломщик — это запустить на вашем дисплее приложение.</para> + +<para +>Слабое место в этой схеме в том, что запускаемые программы могут быть написаны без соблюдения правил защиты (например, программы с setuid <systemitem class="username" +>root</systemitem +>). Это означает, что они могут вызвать переполнение буферов или другие проблемы, а взломщик может использовать это.</para> + +<para +>Использование хранения паролей — это компромисс между безопасностью и удобством. Подумайте и решите, что вам больше важно, и решите, будете ли вы им пользоваться.</para> + +</sect1> +</chapter> + +<chapter id="Author"> +<title +>Автор</title> + +<para +>&kdesu;</para> + +<para +>© &Geert.Jansen;, 2000</para> + +<para +>&kdesu; написал Геерт Янсен (Geert Jansen). Эта программа основана на &kdesu;, версии 0.3, написанной Пьетро Иглио (Pietro Iglio). Мы договорились, что я буду проводить дальнейшую поддержку этой программы.</para> + +<para +>С автором можно связаться по адресу &Geert.Jansen.mail;. Пожалуйста, сообщайте мне о всех встреченных ошибках, чтобы я мог их исправить. Также жду любых предложений и комментариев.</para> +&underFDL; &underArtisticLicense; </chapter> + +</book> +<!-- +Local Variables: +mode: sgml +sgml-omittag: nil +sgml-shorttag: t +End: +--> + |