[svnbook commit] r2733 - trunk/src/ru/book

Maverick.Crank.GRey noreply at red-bean.com
Tue Mar 6 01:28:15 CST 2007


Author: Maverick.Crank.GRey
Date: Tue Mar  6 01:28:15 2007
New Revision: 2733

Log:
* ru/book/ch-server-configuration.xml:  Translation from http://kirov.lug.ru/wiki/SubversionBookChapter6 (translated by Kolotov Alexandr) has been integrated by Vladimir Serdyuk vserd(at)inbox.ru. He has also translated other paragraphs. [Step 6]

Modified:
   trunk/src/ru/book/ch-server-configuration.xml

Modified: trunk/src/ru/book/ch-server-configuration.xml
==============================================================================
--- trunk/src/ru/book/ch-server-configuration.xml	(original)
+++ trunk/src/ru/book/ch-server-configuration.xml	Tue Mar  6 01:28:15 2007
@@ -1,20 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <chapter id="svn.serverconfig">
 
-  <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
   <title>Server Configuration</title>
-  @ENGLISH }}} -->
-  <title>Настройка сервера</title>
-  <!-- See also svn.preface.organization -->
+  <!--><!-- See also svn.preface.organization --><!-->
 
-  <!-- @ENGLISH {{{
   <para>A Subversion repository can be accessed simultaneously by
     clients running on the same machine on which the repository
     resides using the <literal>file:///</literal> method.  But the
     typical Subversion setup involves a single server machine being
     accessed from clients on computers all over the office—or,
     perhaps, all over the world.</para>
-  @ENGLISH }}} -->
+ at ENGLISH }}} -->
+  <title>Настройка сервера</title>
+
   <para>Одновременный доступ к хранилищу Subversion клиентами,
     запущенными на том же компьютере, где расположено и хранилище,
     возможен при использовании метода <literal>file:///</literal>.
@@ -22,7 +21,7 @@
     компьютер, к которому имеют доступ клиенты с компьютеров всего
     офиса — или, возможно, всего мира.</para>
 
-  <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
   <para>This section describes how to get your Subversion repository
     exposed outside its host machine for use by remote clients.  We
     will cover Subversion's currently available server mechanisms,
@@ -30,7 +29,7 @@
     this section, you should be able to decide which networking
     setup is right for your needs, and understand how to enable such
     a setup on your host computer.</para>
-  @ENGLISH }}} -->
+ at ENGLISH }}} -->
   <para>Этот раздел расскажет, как предоставить доступ к хранилищу
     Subversion удаленным клиентам. Мы опишем доступные на сегодняшний
     день механизмы серверов Subversion, а так же обсудим вопросы
@@ -43,12 +42,9 @@
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.overview">
 
-    <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
     <title>Overview</title>
-    @ENGLISH }}} -->
-    <title>Обзор</title>
 
-    <!-- @ENGLISH {{{
     <para>Subversion was designed with an abstract network layer.
       This means that a repository can be programmatically accessed by
       any sort of server process, and the client <quote>repository
@@ -56,7 +52,9 @@
       speak relevant network protocols.  In theory, Subversion can use
       an infinite number of network implementations.  In practice,
       there are only two servers at the time of writing.</para>
-    @ENGLISH }}} -->
+ at ENGLISH }}} -->
+    <title>Обзор</title>
+
     <para>Subversion был разработан с использованием абстрактного
       сетевого уровня. Это означает, что на программном уровне для
       доступа к хранилищу может быть использован любой тип сервера,
@@ -67,7 +65,7 @@
       количество сетевых реализаций. Практически же, на данный момент
       есть только два сервера.</para>
 
-    <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
     <para>Apache is an extremely popular webserver; using the
       <command>mod_dav_svn</command> module, Apache can access a
       repository and make it available to clients via the
@@ -76,7 +74,7 @@
       server program that speaks a custom protocol with clients.
       <xref linkend="svn.serverconfig.overview.tbl-1"/> presents a
       comparison of the two servers.</para>
-    @ENGLISH }}} -->
+ at ENGLISH }}} -->
     <para>Apache — наиболее популярный web-сервер; при использовании
       модуля <command>mod_dav_svn</command> Apache получает возможность
       доступа к хранилищу, а так же делает его доступным для клиентов,
@@ -87,7 +85,7 @@
       В <xref linkend="svn.serverconfig.overview.tbl-1"/> дано сравнение этих
       двух серверов.</para>
 
-    <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
     <para>Note that Subversion, as an open-source project, does not
       officially endorse any server as <quote>primary</quote> or
       <quote>official</quote>.  Neither network implementation is
@@ -100,7 +98,7 @@
       comparison of the two available Subversion servers—as an
       administrator, it's up to you to choose whatever works best for
       you and your users.</para>
-    @ENGLISH }}} -->
+ at ENGLISH }}} -->
     <para>Обратите внимание, что Subversion, как проект с открытым
       исходным кодом, ни одному из серверов не дает статуса
       <quote>основного</quote> или <quote>официального</quote>.
@@ -116,16 +114,16 @@
       вам и вашим пользователям.</para>
 
     <table id="svn.serverconfig.overview.tbl-1">
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <title>Network Server Comparison</title>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <title>Сравнение серверов</title>
       <tgroup cols="3">
         <thead>
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Feature</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Возможность</entry>
             <entry>Apache + mod_dav_svn</entry>
             <entry>svnserve</entry>
@@ -133,12 +131,12 @@
         </thead>
         <tbody>
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Authentication options</entry>
             <entry>HTTP(S) basic auth, X.509 certificates, LDAP, NTLM, or
               any other mechanism available to Apache httpd</entry>
             <entry>CRAM-MD5 or SSH</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Настройки установления личности</entry>
             <entry>стандартное установление личности средствами HTTP(S),
               сертификаты X.509, LDAP, NTLM, а также другие механизмы,
@@ -147,12 +145,12 @@
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>User account options</entry>
             <entry>private 'users' file</entry>
             <entry>private 'users' file, or existing system (SSH)
               accounts</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Настройки пользовательских учетных записей</entry>
             <entry>внутренний файл 'users'</entry>
             <entry>внутренний файл 'users' или использование существующих
@@ -160,13 +158,13 @@
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Authorization options</entry>
             <entry>blanket read/write access, or per-directory
               read/write control</entry>
             <entry>blanket read/write access, or per-directory write
               (but not read) control using a pre-commit hook</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Настройки прав доступа</entry>
             <entry>общий доступ для чтения/записи, или по-каталоговый
               доступ для чтения/записи</entry>
@@ -176,34 +174,34 @@
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Encryption</entry>
             <entry>via optional SSL</entry>
             <entry>via optional SSH tunnel</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Шифрование</entry>
             <entry>через SSL (опционально)</entry>
             <entry>через SSH-туннель (опционально)</entry>
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Interoperability</entry>
             <entry>partially usable by other WebDAV clients</entry>
             <entry>not interoperable</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Interoperability</entry>
             <entry>частично, используя другие WevDAV-клиенты</entry>
             <entry>не поддерживается.</entry>
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Web viewing</entry>
             <entry>limited built-in support, or via 3rd-party tools
               such as ViewVC</entry>
             <entry>via 3rd-party tools such as ViewVC</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Просмотр через web</entry>
             <entry>встроенная ограниченная поддержка, или используя
               программы сторонних разработчиков, такие, как ViewVS</entry>
@@ -212,22 +210,22 @@
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Speed</entry>
             <entry>somewhat slower</entry>
             <entry>somewhat faster</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Скорость</entry>
             <entry>более низкая</entry>
             <entry>более высокая</entry>
           </row>
 
           <row>
-            <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
             <entry>Initial setup</entry>
             <entry>somewhat complex</entry>
             <entry>fairly simple</entry>
-            @ENGLISH }}} -->
+ at ENGLISH }}} -->
             <entry>Начальная установка</entry>
             <entry>несколько сложная</entry>
             <entry>достаточно простая</entry>
@@ -244,19 +242,18 @@
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.netmodel">
 
-    <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
     <title>Network Model</title>
-    @ENGLISH }}} -->
-    <title>Сетевая модель</title>
 
-    <!-- @ENGLISH {{{
     <para>This section is a general discussion of how a Subversion
       client and server interact with one another, regardless of the
       network implementation you're using.  After reading, you'll have
       a good understanding of how a server can behave and the
       different ways in which a client can be configured to
       respond.</para>
-    @ENGLISH }}} -->
+ at ENGLISH }}} -->
+    <title>Сетевая модель</title>
+
     <para>Этот раздел является обсуждением того, как клиент и сервер
       Subversion взаимодействуют друг с другом, вне зависимости от
       используемого вами сетевого решения. После прочтения вы будете
@@ -265,12 +262,9 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.netmodel.reqresp">
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <title>Requests and Responses</title>
-      @ENGLISH }}} -->
-      <title>Запросы и отклики</title>
 
-      <!-- @ENGLISH {{{
       <para>The Subversion client spends most of its time managing
         working copies.  When it needs information from a repository,
         however, it makes a network request, and the server responds
@@ -281,7 +275,9 @@
         linkend="svn.basic.in-action.wc.sb-1"/>).  Users can run <command>svn
         --><!--version</command> to see which URL schemas and protocols the
         client knows how to use.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
+      <title>Запросы и отклики</title>
+
       <para>Основная часть работы клиента Subversion относится к управлению
         рабочими копиями. Однако, когда возникает необходимость получить
         информацию из хранилища, он посылает запрос серверу, а сервер
@@ -294,7 +290,7 @@
         получения информации о том, с какими схемами URL и протоколами
         клиент умеет работать.</para>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>When the server process receives a client request, it
         typically demands that the client identify itself.  It issues
         an authentication challenge to the client, and the client
@@ -312,7 +308,7 @@
         then the server will never issue an authentication challenge
         when a client attempts to <command>svn
         checkout</command>.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Когда сервер получает запрос от клиента, он требует, чтобы
         клиент идентифицировал себя. Он отсылает запрос об установлении
         личности клиента, на что клиент реагирует предоставлением
@@ -329,7 +325,7 @@
         <command>svn checkout</command>, сервер не будет запрашивать
         идентификационную информацию для установления личности.</para>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>If the client's network request writes new data to the
         repository (e.g. <command>svn commit</command>), then a new
         revision tree is created.  If the client's request was
@@ -341,7 +337,7 @@
         <literal>svn:author</literal> property is empty.
         <footnote><para>This problem is actually a FAQ, resulting from
         a misconfigured server setup.</para></footnote></para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Когда клиентский запрос пишет в хранилище новые данные
         (например <command>svn commit</command>), создается новое
         дерево правок. Если клиентский запрос успешно прошел процедуру
@@ -358,22 +354,21 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.netmodel.credcache">
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <title>Client Credentials Caching</title>
-      @ENGLISH }}} -->
-      <title>Кэширование клиентской идентификационной информации</title>
 
-      <!-- @ENGLISH {{{
       <para>Many servers are configured to require authentication on
         every request.  This can become a big annoyance to users, who
         are forced to type their passwords over and over again.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
+      <title>Кэширование клиентской идентификационной информации</title>
+
       <para>Многие серверы сконфигурированы таким образом, что они
         требуют установить личность при каждом запросе. Это может сильно
         раздражать пользователей, требуя от них ввода пароля еще и еще
         раз.</para>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>Happily, the Subversion client has a remedy for this: a
         built-in system for caching authentication credentials on
         disk.  By default, whenever the command-line client
@@ -387,7 +382,7 @@
         linkend="svn.advanced.confarea"/>.)  Successful credentials are
         cached on disk, keyed on a combination of hostname, port, and
         authentication realm.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>К счастью, клиент Subversion спасает пользователя от этого:
         он имеет встроенную систему кэширования идентификационной
         информации на диск. По умолчанию, каждый раз, когда клиент
@@ -402,25 +397,25 @@
         диск с ключом, состоящим из имени хоста, порта и области
         установления личности.</para>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>When the client receives an authentication challenge, it
         first looks for the appropriate credentials in the user's disk
         cache; if not present, or if the cached credentials fail to
         authenticate, then the client simply prompts the user for the
         information.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Когда клиент получает запрос об установлении личности,
         он в первую очередь ищет соответствующую идентификационную
         информацию в дисковом кеше пользователя; если ее нет в кеше или
         она не проходит процедуру опознания, клиент просит пользователя
         ввести необходимую информацию.</para>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>Security-conscious people may be thinking to themselves,
         <quote>Caching passwords on disk?  That's terrible!  You
         should never do that!</quote> Please remain calm, it's not as
         dangerous as it sounds.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Люди, помешанные на безопасности, могут подумать: <quote>
         Сохранять пароли на диск? Это ужасно! Вы никогда не должны так
         делать.</quote> Пожалуйста, успокойтесь, это не так опасно, как
@@ -429,13 +424,13 @@
       <itemizedlist>
 
         <listitem>
-          <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
           <para>The <filename>auth/</filename> caching area is
             permission-protected so that only the user (owner) can
             read data from it, not the world at large.  The operating
             system's own file permissions are protecting the
             password.</para>
-          @ENGLISH }}} -->
+ at ENGLISH }}} -->
           <para>Каталог <filename>auth/</filename> защищен системой прав
             доступа, которая позволяет чтение данных из каталога только
             его владельцу, и больше никому в мире. Права доступа на уровне
@@ -443,7 +438,7 @@
         </listitem>
 
         <listitem>
-          <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
           <para>On Windows 2000 and later, the Subversion client uses
             standard Windows cryptography services to encrypt the
             password on disk.  Because the encryption key is managed
@@ -454,7 +449,7 @@
             become undecipherable.  The Subversion client will behave
             as if they don't exist, prompting for passwords when
             required.)</para>
-          @ENGLISH }}} -->
+ at ENGLISH }}} -->
           <para>На операционных системах Windows 2000 и старше Subversion
             использует стандартные средства шифрования Windows при сохранении
             пароля на диск. Поскольку ключ шифрования управляется Windows
@@ -467,11 +462,11 @@
         </listitem>
 
         <listitem>
-          <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
           <para>For the truly paranoid willing to sacrifice all
             convenience, it's possible to disable credential caching
             altogether.</para>
-          @ENGLISH }}} -->
+ at ENGLISH }}} -->
           <para>Для тех параноиков, которые готовы жертвовать всеми
             удобствами, предусмотрена возможность отключения механизма
             кеширования.</para>
@@ -479,10 +474,10 @@
 
       </itemizedlist>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>To disable caching for a single command, pass the
         <option>--><!--no-auth-cache</option> option:</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Чтобы отключить кеширование для текущей команды, используйте
         ключ <option>--no-auth-cache</option>.</para>
 
@@ -505,14 +500,14 @@
 …
 </screen>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>Or, if you want to disable credential caching permanently,
         you can edit your runtime <filename>config</filename> file
         (located next to the <filename>auth/</filename> directory).
         Simply set <literal>store-auth-creds</literal> to
         <literal>no</literal>, and no credentials will be cached on
         disk, ever.</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Однако, если вы хотите навсегда отключить механизм
         кеширования идентификационной информации, вам надо 
         отредактировать файл <filename>config</filename> (находится в
@@ -525,7 +520,7 @@
 store-auth-creds = no
 </screen>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>Sometimes users will want to remove specific credentials
         from the disk cache.  To do this, you need to navigate into
         the <filename>auth/</filename> area and manually delete the
@@ -534,7 +529,7 @@
         values.  The <literal>svn:realmstring</literal> key describes
         the particular server realm that the file is associated
         with:</para>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
       <para>Иногда требуется удалить идентификационную информацию из
         кеша. Для этого необходимо вручную удалить соответствующий файл
         из каталога <filename>auth/</filename>. Идентификационная
@@ -566,13 +561,10 @@
 END
 </screen>
 
-      <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
       <para>Once you have located the proper cache file, just delete
         it.</para>
-      @ENGLISH }}} -->
-      <para>Вы нашли требуемый файл? Теперь просто удалите его.</para>
 
-      <!-- @ENGLISH {{{
       <para>One last word about client authentication behavior: a bit
         of explanation about the <option>--><!--username</option> and
         <option>--><!--password</option> options is needed.  Many client
@@ -585,7 +577,9 @@
         password are passed as options, they will
         <emphasis>only</emphasis> be presented to the server if the
         server requests them.
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
+      <para>Вы нашли требуемый файл? Теперь просто удалите его.</para>
+
       <para>И последнее о некоторых особенностях идентификации клиента,
         а именно небольшое разъяснение ключей <option>--username</option>
         и <option>--password</option>. Многие подкоманды клиента
@@ -599,7 +593,7 @@
         <emphasis>только</emphasis> в том случае, если сервер запросит
         их.
 
-         <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
          <footnote><para>Again, a common mistake is to misconfigure a
            server so that it never issues an authentication challenge.
            When users pass <option>--><!--username</option> and
@@ -607,7 +601,7 @@
            they're surprised to see that they're never used, i.e. new
            revisions still appear to have been committed
            anonymously!</para></footnote>
-         @ENGLISH }}} -->
+ at ENGLISH }}} -->
          <footnote><para>И опять-таки, частой ошибкой является 
            неправильная конфигурация сервера, при которой сервер никогда
            не посылает запрос об установлении личности. Когда
@@ -616,12 +610,9 @@
            удивлены, увидев, что ключи не используются, что новые правки
            зафиксированы анонимными пользователями.</para></footnote>
 
-        <!-- @ENGLISH {{{
+<!-- @ENGLISH {{{
         Typically, these options are used when:</para>
-        @ENGLISH }}} -->
-        Обычно эти ключи используются в следующих случаях:</para>
 
-      <!-- @ENGLISH {{{
       <itemizedlist>
         <listitem>
           <para>the user wants to authenticate as a different user
@@ -632,7 +623,8 @@
             credentials.</para>
         </listitem>
       </itemizedlist>
-      @ENGLISH }}} -->
+ at ENGLISH }}} -->
+        Обычно эти ключи используются в следующих случаях:</para>
 
       <itemizedlist>
         <listitem>
@@ -1564,6 +1556,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.svnserve.sshtricks">
+<!-- @ENGLISH {{{
       <title>SSH configuration tricks</title>
 
       <para>It's not only possible to control the way in which the
@@ -1573,8 +1566,18 @@
         exact <command>svnserve</command> command executed
         by <command>sshd</command>, as well as how to have multiple
         users share a single system account.</para>
+ at ENGLISH }}} -->
+      <title>Трюки конфигурирования SSH</title>
+
+      <para>Возможно не только управлять как клиент выполняет <command>ssh</command>,
+        но также управлять поведением <command>sshd</command> на машине вашего сервера.
+        В этом разделе, мы покажем как управлять точным исполнением команды  
+        <command>svnserve</command>, так же хорошо как иметь несколько
+        совместных 
+        ресурсов (share) пользователей под одной учетной записью.</para>
 
       <sect3 id="svn.serverconfig.svnserve.sshtricks.setup">
+<!-- @ENGLISH {{{
         <title>Initial setup</title>
 
         <para>To begin, locate the home directory of the account
@@ -1584,34 +1587,67 @@
           authentication.  Password authentication will not work,
           since all of the following SSH tricks revolve around using
           the SSH <filename>authorized_keys</filename> file.</para>
+ at ENGLISH }}} -->
+        <title>Начальная настройка</title>
+
+        <para>Для начала, перейдите в домашнюю папку учетной записи которую вы 
+          используете
+          для запуска <command>svnserve</command>. Убедитесь что учетная запись 
+          имеет 
+          установленную пару ключей SSH (публичную/приватную), и что 
+          пользователь может 
+          зайти через идентификацию с использованием публичного ключа. Парольная 
+          идентификация
+          не работает, так как все следующие SSH трюки  вращаются вокруг 
+          использования файла SSH <filename>authorized_keys</filename>.</para>
 
+<!-- @ENGLISH {{{
         <para>If it doesn't already exist, create the
           <filename>authorized_keys</filename> file (on Unix,
           typically <filename>~/.ssh/authorized_keys</filename>).
           Each line in this file describes a public key that is
           allowed to connect.  The lines are typically of the
           form:</para>
+ at ENGLISH }}} -->
+        <para>Если он не существует, создайте файл <filename>authorized_keys</filename>
+          (на Unix, обычно <filename>~/.ssh/authorized_keys</filename>). Каждая 
+          строка этого
+          файла описывает публичный ключ, который разрешен для соединения. 
+          Строки обычно в следующей форме:</para>
 
         <screen>
   ssh-dsa AAAABtce9euch… user at example.com
 </screen>
 
+<!-- @ENGLISH {{{
         <para>The first field describes the type of key, the second
           field is the uuencoded key itself, and the third field is a
           comment.  However, it's a lesser known fact that the entire
           line can be preceded by a <literal>command</literal>
           field:</para>
+ at ENGLISH }}} -->
+        <para>Первое поле описывает тип ключа, второе поле uu-кодированный (uuencoded)
+          ключ и третье поле это комментарий. Однако, менее известный факт 
+          что всей строке
+          может предшествовать поле <literal>command</literal>:</para>
 
         <screen>
   command="program" ssh-dsa AAAABtce9euch… user at example.com
 </screen>
 
+<!-- @ENGLISH {{{
         <para>When the <literal>command</literal> field is set, the
           SSH daemon will run the named program instead of the
           typical <command>svnserve -t</command> invocation that the
           Subversion client asks for.  This opens the door to a number
           of server-side tricks.  In the following examples, we
           abbreviate the lines of the file as:</para>
+ at ENGLISH }}} -->
+        <para>Когда поле <literal>command</literal> установлено, демон 
+          SSH будет выполнять указанную программу, вместо обычной 
+          <command>svnserve -t</command> моля что клиент знает об этом.  
+          Это открывает двери для многих трюков на стороне сервера.  В следующем
+          примерах мы сокращаем строки в файле так :</para>
 
         <screen>
   command="program" TYPE KEY COMMENT
@@ -1620,16 +1656,24 @@
       </sect3>
 
       <sect3 id="svn.serverconfig.svnserve.sshtricks.fixedcmd">
+<!-- @ENGLISH {{{
         <title>Controlling the invoked command</title>
 
         <para>Because we can specify the executed server-side command,
           it's easy to name a specific <command>svnserve</command>
           binary to run and to pass it extra arguments:</para>
+ at ENGLISH }}} -->
+        <title>Управление вовлекаемой командой</title>
+
+        <para>Так как мы можем указать выполняемую на сервере команду, проще назвать 
+          специфическую программу <command>svnserve</command> и передать дополнительные 
+          параметры:</para>
 
         <screen>
   command="/path/to/svnserve -t -r /virtual/root" TYPE KEY COMMENT
 </screen>
 
+<!-- @ENGLISH {{{
         <para>In this example, <filename>/path/to/svnserve</filename>
           might be a custom wrapper script
           around <command>svnserve</command> which sets the umask (see
@@ -1641,14 +1685,37 @@
           system, or simply to relieve the user of having to type an
           absolute path in the <literal>svn+ssh://</literal>
           URL.</para>
+ at ENGLISH }}} -->
+        <para>В этом примере, <filename>/path/to/svnserve</filename> может быть
+          пользовательским скриптом, оберткой вокруг 
+          <command>svnserve</command> которая устанавливает umask (маску????)
+          (смотри <xref linkend="svn.serverconfig.multimethod"/>).  Также 
+          показано
+          как привязать <command>svnserve</command> к виртуальному корневому 
+          каталогу, 
+          который часто делается когда запускается <command>svnserve</command> 
+          как 
+          процесс-демон. Это может быть сделано либо ограничением доступа к 
+          части системы,
+          или просто заставляя пользователя указывать абсолютный путь в           
+          <literal>svn+ssh://</literal> URL.</para>
 
+<!-- @ENGLISH {{{
         <para>It's also possible to have multiple users share a single
           account.  Instead of creating a separate system account for
           each user, generate a public/private keypair for each
           person.  Then place each public key into
           the <filename>authorized_users</filename> file, one per
-          line, and use the <option>--tunnel-user</option>
+          line, and use the <option>--><!--tunnel-user</option>
           option:</para>
+ at ENGLISH }}} -->
+        <para>Так же возможно иметь нескольких пользовательских разделяемых 
+          ресурсов под одной учетной записью. Вместо создания различных учетных 
+          записей для каждого пользователя, сгенерируйте пару публичный/частный 
+          ключ 
+          для каждого человека. Затем поместите каждый публичный ключ в файл
+          <filename>authorized_users</filename>, по одному ключу в строке, и 
+          используйте параметр <option>--tunnel-user</option>:</para>
 
         <screen>
   command="svnserve -t --tunnel-user=harry" TYPE1 KEY1 harry at example.com
@@ -1664,7 +1731,17 @@
           <option>--tunnel-user</option>, it would appear as though
           all commits were coming from the one shared system
           account.</para>
+ at ENGLISH }}} -->
+        <para>Этот пример позволяет обоим, Гарии (Harry) и Салли (Sally) 
+          соединяться к одной учетной записи через идентификацию через публичный
+          ключ. Каждый из них имеет собственную команду, которая будет выполняться,
+          параметр <option>--tunnel-user</option> говорит 
+          <command>svnserve -t</command>
+          какой из названных аргументов идентифицирует пользователя. Без 
+          <option>--tunnel-user</option> они будут появляться не смотря на все
+          фиксации которые сделаны из одной разделяемой учетной записи.</para>
 
+<!-- @ENGLISH {{{
         <para>A final word of caution: giving a user access to the
           server via public-key in a shared account might still allow
           other forms of SSH access, even if you've set
@@ -1676,6 +1753,20 @@
           want to specify a number of restrictive options immediately
           after the <literal>command</literal>:</para>
 
+ at ENGLISH }}} -->
+        <para>В заключение предостережение: предоставление доступа пользователям
+          к серверу через публичные ключи в разделяемой учетной записи
+          может оставлять доступным другие формы доступа через SSH, даже если
+          вы установили значение <literal>command</literal> в
+          <filename>authorized_keys</filename>.  Например, пользователи могут 
+          получить
+          доступ через SSH, или быть способны выполнять X11 или общий форвардинг 
+          портов 
+          (general port-forwarding) через ваш сервер. Для предоставления 
+          пользователям
+          как можно меньших привилегий, вы можете захотеть указать несколько 
+          ограничивающих
+          опций сразу же после <literal>command</literal>:</para>
         <screen>
   command="svnserve -t --tunnel-user=harry",no-port-forwarding,\
            no-agent-forwarding,no-X11-forwarding,no-pty \




More information about the svnbook-dev mailing list