> для среды &kde;. Она позволяет вам запускать программы от имени другого пользователя, если вы укажете ей пароль этого пользователя. &tdesu; является непривилегированной программой и пользуется системной программой <command
>&tdesu; предлагает ещё одну дополнительную возможность — запоминание паролей. Чтобы использовать её, вам нужно ввести пароль всего один раз для каждой команды. Подробности и анализ безопасности смотрите в разделе <xref linkend="sec-password-keeping"/>.</para>
>Эта программа рассчитана на запуск из командной строки или из файлов <filename
>.desktop</filename
>. Хотя она спрашивает пароль пользователя <systemitem class="username"
>root</systemitem
>, используя графический интерфейс, мне кажется, что она скорее основана на слиянии командной строки и графического интерфейса, а не просто на графическом интерфейсе.</para>
>Указать программу для запуска с правами root. Это должен быть один аргумент. Поэтому, если вы хотите запустить новый файловый менеджер, вам следует ввести следующее: <userinput
>. Если он доступен для записи текущему пользователю, &tdesu; запустит команду с правами этого пользователя. Иначе команда будет запущена с правами пользователя <parameter
> анализируется следующим образом: если этот параметр начинается с <literal
>/</literal
>, то он считается абсолютным путём. Иначе — именем глобального файла конфигурации &kde;. Например, чтобы настроить менеджер входа в систему <application
>Не сохранять пароль. Делает недоступным флажок <guilabel
>Сохранить пароль</guilabel
> в окне ввода пароля.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-p</option
> <replaceable
>приоритет</replaceable
></term>
<listitem>
<para
>Устанавливает приоритет выполнения программы. Для указания приоритета используется целое число от 0 до 100, где 100 соответствует максимальному приоритету, и 0 — минимальному. По умолчанию используется 50.</para>
>Разрешить терминальный вывод. Это делает невозможным запоминание паролей. В основном эта возможность служит для отладки. Если вы хотите запустить обычное консольное приложение, пользуйтесь стандартным <command
>Запускаемая вами программа будет работать с идентификатором пользователя root и, в общем случае, не будет иметь прав для доступа к вашему дисплею X. &tdesu; исправляет это, добавляя cookie аутентификации для вашего дисплея во временный файл <filename
>Если вы не используете систему X cookie, то &tdesu; обнаружит это и не будет добавлять новый cookie, однако никакой гарантии, что root получит доступ к вашему дисплею, не даётся.</para>
>. Она (запущенная с правами требуемого пользователя) запрашивает определённую информацию от &tdesu; через канал pty/tty (потоки ввода и вывода для этой программы), а затем уже выполняет программу пользователя. Передаваемая информация: номер X-дисплея, X cookie для аутентификации (если доступен), переменная <envar
> и команда для запуска. Такая вспомогательная программа нужна, потому что X cookie содержит секретную информацию и поэтому не может быть передан в командной строке.</para>
>&tdesu; проверяет введённый вами пароль и выдаёт сообщение об ошибке, если он не верен. Проверка организована с помощью выполнения программы-теста <filename
>Запоминание паролей в &tdesu; создаёт небольшую дыру в системе безопасности вашей системы. Очевидно, что &tdesu; не позволяет никому, кроме пользователей с вашим идентификатором пользоваться этими паролями. Однако если это реализовать без предосторожностей, системный уровень безопасности <systemitem class="username"
> понизится до уровня обычного пользователя (вас). И человек, который получит доступ к вашей учётной записи, получит доступ уровня <systemitem class="username"
>. Режим его доступа равен 0600, то есть только пользователь с вашим идентификатором может соединиться с ним. Если хранение паролей включено, &tdesu; выполняет команды через этот сервис. Он пишет команды и пароль пользователя <systemitem class="username"
>, как описано выше. После этого команда и пароль не теряются, а хранятся в течение указанного времени (устанавливается в модуле настройки). Если другой запрос на запуск такой же команды приходит в течение этого периода времени, клиент может не предоставлять пароль. Чтобы не дать человеку, получившему доступ к вашей учётной записи, украсть у сервиса пароль (например, запуском отладчика), sgid сервиса (группа при запуске) установлен в nogroup. Это не даёт обычным пользователям, в том числе и вам, получать пароли от процесса <application
>. Также этот сервис устанавливает переменную окружения <envar
>DISPLAY</envar
> в значение при запуске. Все, что сможет сделать взломщик — это запустить на вашем дисплее приложение.</para>
<para
>Слабое место в этой схеме в том, что запускаемые программы могут быть написаны без соблюдения правил защиты (например, программы с setuid <systemitem class="username"
>root</systemitem
>). Это означает, что они могут вызвать переполнение буферов или другие проблемы, а взломщик может использовать это.</para>
<para
>Использование хранения паролей — это компромисс между безопасностью и удобством. Подумайте и решите, что вам больше важно, и решите, будете ли вы им пользоваться.</para>
>&tdesu; написал Геерт Янсен (Geert Jansen). Эта программа основана на &tdesu;, версии 0.3, написанной Пьетро Иглио (Pietro Iglio). Мы договорились, что я буду проводить дальнейшую поддержку этой программы.</para>
>С автором можно связаться по адресу &Geert.Jansen.mail;. Пожалуйста, сообщайте мне о всех встреченных ошибках, чтобы я мог их исправить. Также жду любых предложений и комментариев.</para>