[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