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

Maverick.Crank.GRey noreply at red-bean.com
Mon Mar 5 02:02:14 CST 2007


Author: Maverick.Crank.GRey
Date: Mon Mar  5 02:02:13 2007
New Revision: 2731

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 3]

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	Mon Mar  5 02:02:13 2007
@@ -687,7 +687,7 @@
 
         <listitem>
           <para>Просматривает область сервера в разделе 
-	    <filename>auth/</filename>
+           <filename>auth/</filename>
             на предмет были ли за кешированны данные пользователя.  Если 
             нет, или если закешированные данные пользователя не прошли 
             авторизацию, тогда</para>
@@ -747,7 +747,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.svnserve.invoking">
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <title>Invoking the Server</title>
 
       <para>There are a few different ways to invoke the
@@ -764,7 +764,7 @@
 ( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>When invoked with the <option>--><!--inetd</option> option,
         <command>svnserve</command> attempts to speak with a
         Subversion client via <emphasis>stdin</emphasis> and
@@ -781,7 +781,7 @@
         используя собственный протокол.
         Это стандартное поведение для программ, запускаемых через 
         <command>inetd</command>.  IANA зарезервировал порт  3690
-      	для протокола Subversion, поэтому на unix-подобных системах Вы можете добавить в 
+        для протокола Subversion, поэтому на unix-подобных системах Вы можете добавить в 
         <filename>/etc/services</filename> строки подобные этим (возможно, они 
         уже существуют):</para>
 
@@ -790,7 +790,7 @@
 svn           3690/udp   # Subversion
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>And if your system is using a classic Unix-like
         <command>inetd</command> daemon, you can add this line to
         <filename>/etc/inetd.conf</filename>:</para>
@@ -803,7 +803,7 @@
 svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>Make sure <quote>svnowner</quote> is a user which has
         appropriate permissions to access your repositories.  Now, when
         a client connection comes into your server on port 3690,
@@ -819,7 +819,7 @@
         <option>-d</option> option for this:</para>
 @ENGLISH }}} -->
       <para> Убедитесь, что <quote>svnowner</quote> это пользователь, который 
-         имеет достаточно прав на доступ к 
+        имеет достаточно прав на доступ к 
         хранилищу. Теперь, когда от клиента к серверу на порт 3690 приходит запрос 
         на соединение, <command>inetd</command>
         запустит процесс <command>svnserve</command> для обслуживания этого запроса.      
@@ -838,19 +838,19 @@
 $               # svnserve is now running, listening on port 3690
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>When running <command>svnserve</command> in daemon mode,
         you can use the <option>--><!--listen-port=</option> and
         <option>--><!--listen-host=</option> options to customize the exact
         port and hostname to <quote>bind</quote> to.</para>
 @ENGLISH }}} -->
       <para> Когда <command>svnserve</command> запускается в режиме демона, то
-         Вы можете использовать опции <option>--listen-port=</option> и
-         <option>--listen-host=</option>, чтобы назначить нужное значение порта и 
-         имени хоста, 
-         к которому <quote>привязан</quote> <command>svnserve</command>.</para>
+        Вы можете использовать опции <option>--listen-port=</option> и
+        <option>--listen-host=</option>, чтобы назначить нужное значение порта и 
+        имени хоста, 
+        к которому <quote>привязан</quote> <command>svnserve</command>.</para>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>There's still a third way to invoke
         <command>svnserve</command>, and that's in <quote>tunnel
         mode</quote>, with the <option>-t</option> option.  This mode
@@ -874,7 +874,7 @@
         так называемом <quote>туннельном режиме</quote>, с параметром
         <option>-t</option>. Этот режим допускает, что программы удаленного
         доступа такие как <command>RSH</command> и <command>SSH</command>
-	      успешно авторизируют пользователя и тогда от имени этого 
+        успешно авторизируют пользователя и тогда от имени этого 
         пользователя
         запускают частный процесс <command>svnserve</command> <emphasis>как
         пользователь</emphasis>. Программа <command>svnserve</command>
@@ -889,7 +889,7 @@
         URL, начинающийся с <literal>file:///</literal>. </para>
 
       <sidebar id="svn.serverconfig.svnserve.invoking.sb-1">
-<!-- @ENGLISH {{{            
+<!-- @ENGLISH {{{
         <title>Servers and Permissions:  A Word of Warning</title>
 
         <para>First, remember that a Subversion repository is a
@@ -900,18 +900,18 @@
           if you're using a Berkeley DB database rather than FSFS.  Be
           sure to read <xref linkend="svn.serverconfig.multimethod"/>.</para>
 @ENGLISH }}} -->
-       <title>Серверы и права: Предупреждение</title>
+        <title>Серверы и права: Предупреждение</title>
 
         <para>Во-первых, запомните, что хранилище Subversion - по сути
-           несколько файлов базы данных; любой процесс, который имеет
-	   прямой доступ к хранилищу, должен иметь соответствующие права
-	   на чтение и запись ко всему хранилищу. Если Вы не будете
-           осторожны, то это в будущем может привести к головной боли,
-           особенно если вы используете базу данных Berkeley DB по
-	   сравнению с FSFS. Не забудьте прочитать <xref 
-           linkend="svn.serverconfig.multimethod"/>.</para>
+          несколько файлов базы данных; любой процесс, который имеет
+          прямой доступ к хранилищу, должен иметь соответствующие права
+          на чтение и запись ко всему хранилищу. Если Вы не будете
+          осторожны, то это в будущем может привести к головной боли,
+          особенно если вы используете базу данных Berkeley DB по
+          сравнению с FSFS. Не забудьте прочитать <xref 
+          linkend="svn.serverconfig.multimethod"/>.</para>
   
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
         <para>Secondly, when configuring <command>svnserve</command>,
           Apache <command>httpd</command>, or any other server
           process, keep in mind that you might not want to launch the
@@ -925,22 +925,22 @@
           and rights to the exported Subversion repositories, and only
           run their server processes as that user.</para>
 @ENGLISH }}} -->  
-       <para> Во-вторых, когда настраиваете <command>svnserve</command>,
+        <para> Во-вторых, когда настраиваете <command>svnserve</command>,
           Apache <command>httpd</command> или любой другой серверный
           процесс, имейте в виду, что нет необходимости запускать
           серверный процесс от имени пользователя <literal>root</literal>
           (или любого другого пользователя с неограниченными правами). В
           зависимости от владельцев и разрешений на экспортируемые
           хранилища, часто предусмотрительнее использовать
-	  —другого— пользователя. На пример, многие администраторы
-	  создают нового пользователя <literal>svn</literal>, предоставляют
-	  исключительное владение и права на экспортируемые хранилища
-	  Subversion, и запускают серверные процессы только от имени этого
-	  пользователя. </para>
-      </sidebar>
+          —другого— пользователя. На пример, многие администраторы
+          создают нового пользователя <literal>svn</literal>, предоставляют
+          исключительное владение и права на экспортируемые хранилища
+          Subversion, и запускают серверные процессы только от имени этого
+          пользователя.</para>
+        </sidebar>
 
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>Once the <command>svnserve</command> program is running,
         it makes every repository on your system available to the
         network.  A client needs to specify an
@@ -969,7 +969,7 @@
 …
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>Using the <option>-r</option> option effectively
         modifies the location that the program treats as the root of
         the remote filesystem space.  Clients then use URLs that
@@ -991,7 +991,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.svnserve.auth">
-<!-- @ENGLISH {{{            
+<!-- @ENGLISH {{{
       <title>Built-in authentication and authorization</title>
 
       <para>When a client connects to an <command>svnserve</command>
@@ -1003,7 +1003,7 @@
         то происходит следующее:</para>
 
       <itemizedlist>
-<!-- @ENGLISH {{{            
+<!-- @ENGLISH {{{
         <listitem><para>The client selects a specific
         repository.</para></listitem>
 
@@ -1028,7 +1028,7 @@
               already externally authenticated.</para></listitem>
           </itemizedlist>
         </listitem>
- at ENGLISH }}} -->  	
+ at ENGLISH }}} -->
         <listitem><para>Клиент указывает
         конкретное хранилище.</para></listitem>
 
@@ -1047,14 +1047,14 @@
              <listitem><para>клиент может быть вызван на идентификацию
                 в любой момент, ИЛИ </para></listitem>
 
-	     <listitem><para>при обслуживании в <quote>туннельном режиме</quote>,
+           <listitem><para>при обслуживании в <quote>туннельном режиме</quote>,
                 клиент сам объявит, что уже был идентифицирован.</para></listitem>
            </itemizedlist>
         </listitem>
 
       </itemizedlist>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>At the time of writing, the server only knows how to send
         a CRAM-MD5 <footnote><para>See RFC 2195.</para></footnote>
         authentication challenge.  In essence, the server sends a
@@ -1065,7 +1065,7 @@
         password to verify that the result is identical.  <emphasis>At
         no point does the actual password travel over the
         network.</emphasis></para>
- at ENGLISH }}} -->  	
+ at ENGLISH }}} -->        
      <para>Во время написания данного материала сервер знал только об вызове
         авторизации через CRAM-MD5 <footnote><para>Смотри RFC 2195.</para></footnote>. В 
         сущности, сервер отправляет некоторые данные клиенту. Клиент, используя хэш 
@@ -1075,7 +1075,7 @@
         результатов. <emphasis>Таким образом пароль никогда не передается в открытую по 
         сети.</emphasis></para>     
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>It's also possible, of course, for the client to be
         externally authenticated via a tunnel agent, such as
         <command>SSH</command>.  In that case, the server simply
@@ -1084,13 +1084,13 @@
         linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
 @ENGLISH }}} -->
       <para> Также возможно, что клиент уже был идентифицирован через внешнего
-	 туннельного агента, такого как <command>SSH</command>. В таком
-	 случае, сервер просто проверяет запустившего его пользователя и
-	 в дальнейшем использует идентифицированное имя пользователя.
-	 Более подробно об этом смотри в <xref 
-         linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
+        туннельного агента, такого как <command>SSH</command>. В таком
+        случае, сервер просто проверяет запустившего его пользователя и
+        в дальнейшем использует идентифицированное имя пользователя.
+        Более подробно об этом смотри в <xref 
+        linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
       <para>As you've already guessed, a repository's
         <filename>svnserve.conf</filename> file is the central
         mechanism for controlling authentication and authorization
@@ -1112,7 +1112,7 @@
          посмотрим на этот файл и изучим как им пользоваться. </para>
 
       <sect3 id="svn.serverconfig.svnserve.auth.users">
-<!-- @ENGLISH {{{            
+<!-- @ENGLISH {{{
         <title>Create a 'users' file and realm</title>
 
         <para>For now, the <literal>[general]</literal> section of the
@@ -1132,7 +1132,7 @@
 realm = example realm
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
         <para>The <literal>realm</literal> is a name that you define.
           It tells clients which sort of <quote>authentication
           namespace</quote> they're connecting to; the Subversion
@@ -1144,16 +1144,16 @@
           file that contains a list of usernames and passwords, using
           the same familiar format.  For example:</para>
 @ENGLISH }}} -->
-      <para><literal>realm</literal> - это определяемое Вами имя. Она сообщает 
-         клиентам, к какой <quote>области 
-	идентификации</quote> они подсоединяются; клиенту Subversion она выводится 
-        в приглашении к аутентификации, 
-        и используется как ключ (вместе с именем сервера и портом) для кэширования 
-        клиентской идентификационной 
-	информации на диск (см. <xref linkend="svn.serverconfig.netmodel.credcache"/>). 
-        Переменная 	<literal>password-db</literal> указывает на отдельный файл, 
-        который содержит список пользователей и пароли в таком же простом формате. 
-        Например: </para>
+        <para><literal>realm</literal> - это определяемое Вами имя. Она сообщает 
+          клиентам, к какой <quote>области 
+          идентификации</quote> они подсоединяются; клиенту Subversion она выводится 
+          в приглашении к аутентификации, 
+          и используется как ключ (вместе с именем сервера и портом) для кэширования 
+          клиентской идентификационной 
+          информации на диск (см. <xref linkend="svn.serverconfig.netmodel.credcache"/>). 
+          Переменная <literal>password-db</literal> указывает на отдельный файл, 
+          который содержит список пользователей и пароли в таком же простом формате. 
+          Например: </para>
 
         <screen>
 [users]
@@ -1161,7 +1161,7 @@
 sally = barpassword
 </screen>
 
-<!-- @ENGLISH {{{      
+<!-- @ENGLISH {{{
         <para>The value of <literal>password-db</literal> can be an
           absolute or relative path to the users file.  For many
           admins, it's easy to keep the file right in the
@@ -1177,27 +1177,28 @@
           you know which user(s) <command>svnserve</command> will run
           as, restrict read access to the user file as necessary.</para>
 @ENGLISH }}} -->
-	<para>Значение <literal>password-db</literal> может быть абсолютным или 
-         относительным путем к файлу пользователей. Для большинства 
-         администраторов, его легче держать в <filename>conf/</filename> области 
-	 хранилища, рядом с <filename>svnserve.conf</filename>. С другой 
-         стороны, возможно, Вы захотите использовать
-	 (разделять) один и тот же файл пользователей для двух или более 
-         хранилищ, в этом случае этот файл стоит 
-	 поместить в более доступное место. Хранилища разделяющие файл 
-         пользователей, должны быть также
-	 сконфигурированы с одинаковыми областями, так как список пользователей 
-         по существу определяет область 
-	 аутентификации. Где бы в итоге файл не находился, убедитесь, что у него 
-         выставлены соответствующие 
-	 права на чтение/запись. Если Вы знаете от имени какого 
-         пользователя(-ей) будет запускаться 
-	 <command>svnserve</command>, то ограничьте доступ на чтение только
-	 тем пользователем, которым это нужно.</para>
+        <para>Значение <literal>password-db</literal> может быть абсолютным или 
+          относительным путем к файлу пользователей. Для большинства 
+          администраторов, его легче держать в <filename>conf/</filename> области 
+          хранилища, рядом с <filename>svnserve.conf</filename>. С другой 
+          стороны, возможно, Вы захотите использовать
+          (разделять) один и тот же файл пользователей для двух или более 
+          хранилищ, в этом случае этот файл стоит 
+          поместить в более доступное место. Хранилища разделяющие файл 
+          пользователей, должны быть также
+          сконфигурированы с одинаковыми областями, так как список пользователей 
+          по существу определяет область 
+          аутентификации. Где бы в итоге файл не находился, убедитесь, что у него 
+          выставлены соответствующие 
+          права на чтение/запись. Если Вы знаете от имени какого 
+          пользователя(-ей) будет запускаться 
+          <command>svnserve</command>, то ограничьте доступ на чтение только
+          тем пользователем, которым это нужно.</para>
 
       </sect3>
 
       <sect3 id="svn.serverconfig.svnserve.auth.general">
+<!-- @ENGLISH {{{
         <title>Set access controls</title>
 
         <para>There are two more variables to set in the
@@ -1211,6 +1212,21 @@
           <literal>read</literal> allows read-only access to the
           repository, and <literal>write</literal> allows complete
           read/write access to the repository.  For example:</para>
+ at ENGLISH }}} -->
+      <title>Установка контроля доступа</title>      
+
+        <para>Есть еще две дополнительных переменные в 
+          <filename>svnserve.conf</filename>: они определяют,
+          что будут допущены делать не идентифицированные (анонимные) и 
+          идентифицированные пользователи. Переменные 
+          <literal>anon-access</literal> и <literal>auth-access</literal> 
+          могут иметь значения:
+          <literal>none</literal>, <literal>read</literal>, или 
+          <literal>write</literal>. Установка значения в 
+          <literal>none</literal> запрещает доступ любого рода;
+          <literal>read</literal> - доступ к хранилищу только на чтение, 
+          а <literal>write</literal> -
+          позволяет полный доступ к хранилищу на чтение/запись. Например:</para>
 
         <screen>
 [general]
@@ -1224,10 +1240,16 @@
 auth-access = write
 </screen>
 
+<!-- @ENGLISH {{{
         <para>The example settings are, in fact, the default values of
           the variables, should you forget to define them.  If you
           want to be even more conservative, you can block anonymous
           access completely:</para>
+ at ENGLISH }}} -->
+        <para>Значения установленные в примере - фактически значения 
+          по умолчанию, они будут установлены если 
+          Вы не захотите определить их. Если Вы хотите быть более консервативным, 
+          то можете заблокировать полностью анонимный доступ:</para>
 
         <screen>
 [general]
@@ -1241,6 +1263,7 @@
 auth-access = write
 </screen>
 
+<!-- @ENGLISH {{{
         <para>Notice that <command>svnserve</command> only understands
           <quote>blanket</quote> access control.  A user either has
           universal read/write access, universal read access, or no
@@ -1257,6 +1280,25 @@
           <command>commit-access-control.pl</command> and the more
           sophisticated <command>svnperms.py</command> scripts for use
           in pre-commit scripts.</para>
+ at ENGLISH }}} -->
+        <para>Обратите внимание, что <command>svnserve</command> понимает только 
+          общие правила управления доступом. То есть пользователь может иметь либо 
+          универсальный доступ на чтение/запись, либо универсальный доступ на чтение, 
+          либо не иметь никакого доступа. И         нет более детального контроля 
+          доступа к определенным путям хранилища. Дял многих проектов этот уровень 
+          контроля является более чем
+          приемлемым. Однако если Вам потребуется выставить доступ к каждому 
+          каталогу, тогда Вам необходимо использовать 
+          Apache с <command>mod_authz_svn</command> (см. <xref 
+          linkend="svn.serverconfig.httpd.authz.perdir"/>) 
+          или использовать <command>pre-commit</command> хук скрипт (hook
+          script) для управления доступом на запись (см. <xref 
+          linkend="svn.reposadmin.create.hooks"/>).
+          в место <command>svnserve</command>, в качестве серверного процесса. 
+          Subversion распространяется  со скриптами 
+          <command>commit-access-control.pl</command> и более сложным 
+          <command>svnperms.py</command> которые могут быть использованы в
+          предфиксирующими скриптах.</para>
 
       </sect3>
     </sect2>




More information about the svnbook-dev mailing list