[svnbook] r5820 committed - branches/1.8/zh/book/ ch06-server-configuration.xml

wuzhouhui at users.sourceforge.net wuzhouhui at users.sourceforge.net
Sat Nov 3 20:35:28 CDT 2018


Revision: 5820
          http://sourceforge.net/p/svnbook/source/5820
Author:   wuzhouhui
Date:     2018-11-04 01:35:19 +0000 (Sun, 04 Nov 2018)
Log Message:
-----------
1.8/zh: translation of chapter 6 in progress

Modified Paths:
--------------
    branches/1.8/zh/book/ch06-server-configuration.xml

Modified: branches/1.8/zh/book/ch06-server-configuration.xml
===================================================================
--- branches/1.8/zh/book/ch06-server-configuration.xml	2018-11-03 01:56:45 UTC (rev 5819)
+++ branches/1.8/zh/book/ch06-server-configuration.xml	2018-11-04 01:35:19 UTC (rev 5820)
@@ -7296,8 +7296,8 @@
         <command>mod_dav_svn</command> 相同. 为了让仓库能够使用这个模块,
         在配置文件 <filename>httpd.conf</filename> 内用配置指令
         <literal>AuthzSVNAccessFile</literal> 或
-        <literal>AuthzSVNReposRelativeAccessFile</literal> 指定访问规则文件.
-        (详细的解决见 <xref
+        <literal>AuthzSVNReposRelativeAccessFile</literal> 指定访问权限配置
+        文件. (详细的解决见 <xref
           linkend="svn.serverconfig.httpd.authz.perdir"/>.)</para>
 
       <!--
@@ -7309,13 +7309,13 @@
       -->
       <para>为了给 <command>svnserve</command> 配置基于路径的访问控制,
         只需要把 <filename>svnserve.conf</filename> 内的配置变量
-        <literal>authz-db</literal> 的值指定成你的访问规则文件.</para>
+        <literal>authz-db</literal> 的值指定成你的访问权限配置文件.</para>
 
       <!--
       <para>Once your server knows where to look for your access
         rules, it's time to define those rules.</para>
       -->
-      <para>一旦服务器知道了去哪儿查找你的访问规则文件, 接下来需要做的就是
+      <para>一旦服务器知道了去哪儿查找你的访问权限配置文件, 接下来需要做的就是
         定义访问规则.</para>
 
       <!--
@@ -7338,7 +7338,7 @@
         (read/write).  If the user is not mentioned at all, no access is
         allowed.</para>
       -->
-      <para>Subversion 访问规则文件的语法与 <filename>svnserve.conf</filename>
+      <para>Subversion 访问权限配置文件的语法与 <filename>svnserve.conf</filename>
         和运行时配置文件的语法相同. 忽略以 <literal>#</literal> 开始的行,
         在最简单的形式中, 文件的每一节的名字都指定了一个被版本控制的路径,
         可能还指定了包含该路径的仓库. 换句话说, 除了少数几个被保留的节外,
@@ -7346,7 +7346,7 @@
         <literal>AuthzSVNAccessFile</literal>, 则要么是
         <literal>[repos-name:path]</literal>, 要么是 <literal>[path]</literal>.
         如果使用了配置指令 <literal>AuthzSVNReposRelativeAccessFile</literal>
-        指定了每个仓库的访问规则文件, 则只能使用 <literal>[path]</literal>
+        指定了每个仓库的访问权限配置文件, 则只能使用 <literal>[path]</literal>
         这种形式. 已认证的用户名是每一节的选项的名字, 选项的值描述了用户对该
         路径的访问权限: 只读 (<literal>r</literal>) 或读写
         (<literal>rw</literal>). 如果用户名未出现在节中, 则不具有该路径的
@@ -7365,7 +7365,7 @@
           (<literal>[repos-name:path with spaces]</literal>,
           e.g.)</para>
       -->
-        <para>出现在访问规则文件中的路径必须使用 Subversion 的
+        <para>出现在访问权限配置文件中的路径必须使用 Subversion 的
           <quote>内部风格</quote> 编写, 在大部分情况下, 这意味着路径使用
           UTF-8 编码, 使用斜杠 (<literal>/</literal>) 作为路径中各个分量
           的分隔符 (即使是 Windows 系统, 也要使用斜杠). 还要注意这些路径
@@ -7382,7 +7382,7 @@
         path <filename>/branches/calc/bug-142</filename> (and all its
         children) in the repository <literal>calc</literal>:</para>
       -->
-      <para>下面是访问规则文件的一个例子, 文件把仓库 <literal>calc</literal>
+      <para>下面是访问权限配置文件的一个例子, 文件把仓库 <literal>calc</literal>
         的路径 <filename>/branches/calc/bug-142</filename> (及其子目录) 的
         读权限授予 Sally, 把读取权限授予 Harry:</para>
 
@@ -7405,9 +7405,9 @@
           review your access files for case correctness.</para>
       -->
         <para>Subversion 1.7 之前的版本会把仓库名和路径都转化成小写形式后,
-          再与访问规则文件进行匹配, 因此是不区分大小写的. 但从 Subversion 1.7
+          再与访问权限配置文件进行匹配, 因此是不区分大小写的. 但从 Subversion 1.7
           开始不再如此. 因此, 如果你需要从较旧的版本升级到 1.7, 你应该重新
-          检查访问规则文件中的大小写是否正确.</para>
+          检查访问权限配置文件中的大小写是否正确.</para>
       </warning>
 
       <!--
@@ -7433,7 +7433,7 @@
         最后一个分量 <footnote><para>通过配置指令
             <literal>SVNReposName</literal>, 在 <filename>httpd.conf</filename>
             里配置的任意一个人类可读懂的仓库名, 都将被授权模块忽略. 前面已经
-            说过, 访问规则文件里的节名必须引用到对服务器敏感的仓库路径.
+            说过, 访问权限配置文件里的节名必须引用到对服务器敏感的仓库路径.
         </para></footnote>, 而 <command>svnserve</command> 则使用完整的, 相对
         于服务器根目录 (由选项 <option>--root</option> (<option>-r</option>))
         的仓库路径.</para>
@@ -7459,13 +7459,13 @@
         <para>如果同时通过 Apache 服务器与 <command>svnserve</command> 为
           同一个仓库服务, 那么 <command>mod_dav_svn</command> 与
           <command>svnserve</command> 决定仓库名的不同之外将会带来问题.
-          通常情况下, 管理员更喜欢为两种服务器配置同一个访问规则文件, 然而,
-          为了能让访问规则文件正常工作, 管理员必须确保访问规则文件里的仓库
+          通常情况下, 管理员更喜欢为两种服务器配置同一个访问权限配置文件, 然而,
+          为了能让访问权限配置文件正常工作, 管理员必须确保访问文件里的仓库
           名对于两种服务器而言都是兼容的—例如把
           <command>svnserve</command> 的根目录配置成和
           <command>mod_dav_svn</command> 的配置指令
           <literal>SVNParentPath</literal> 相同的值, 或者为每个仓库指定一个
-          单独的访问规则文件, 这样就不用在文件里提到仓库名.</para>
+          单独的访问权限配置文件, 这样就不用在文件里提到仓库名.</para>
       </warning>
 
       <!--
@@ -7557,7 +7557,7 @@
       -->
         <para>需要记住的是最明确的路径最明确的路径总是最先被匹配. 服务器总
           是试图匹配路径本身, 然后是路径的父路径, 然后再是父路径的父路径,
-          以此类推. 这样做的影响是如果我们在访问规则文件里添加一个特定的
+          以此类推. 这样做的影响是如果我们在访问权限配置文件里添加一个特定的
           路径, 那么它的权限配置就会覆盖从父目录继承而来的权限配置.</para>
 
       <!--
@@ -7568,7 +7568,7 @@
           and the latter ignored for <literal>calc</literal>.</para>
       -->
         <para>类似的, 指定了仓库名的节的权限配置将覆盖那些没有指定仓库名的节,
-          比如说访问规则文件里同时出现了 <literal>[calc:/some/path]</literal>
+          比如说访问权限配置文件里同时出现了 <literal>[calc:/some/path]</literal>
           和 <literal>[/some/path]</literal>, 那么对于仓库
           <literal>calc</literal>, 将会使用第一种配置, 而忽略第二种.</para>
       </tip>
@@ -7582,7 +7582,7 @@
         users</quote>:</para>
       -->
     <para>在默认情况下, 任何用户对任意一个仓库都不具体访问权限, 这意味着
-      如果从头开始写访问规则文件, 你可能希望所有用户至少对仓库的根目录具有
+      如果从头开始写访问权限配置文件, 你可能希望所有用户至少对仓库的根目录具有
       只读权限. 可以通过把用户名设置成通配符 (<literal>*</literal>) 实现这
       种配置, 此时通配符 <literal>*</literal> 表示 <quote>所有用户</quote>:
     </para>
@@ -7643,8 +7643,8 @@
         and its value is a comma-delimited list of usernames which
         are part of that group.</para>
       -->
-      <para>访问规则文件还允许管理员定义用户组, 就像 Unix 里的
-        <filename>/etc/group</filename>. 为了定义用户组, 在访问规则文件里
+      <para>访问权限配置文件还允许管理员定义用户组, 就像 Unix 里的
+        <filename>/etc/group</filename>. 为了定义用户组, 在访问权限配置文件里
         创建一个名为 <literal>groups</literal> 的节, 然后在节内描述每一个
         用户组: 变量名定义了用户组的名字, 而变量的值则是逗号分隔的, 属于该
         用户组的用户名.</para>
@@ -7741,7 +7741,7 @@
         却支持更复杂的用户名, 例如在一个使用了 LDAP 的认证系统中, Harry 的
         用户名可以是
         <literal>CN=Harold Hacker,OU=Engineers,DC=red-bean,DC=com</literal>.
-        如果在访问规则文件里出现这些用户名, 文件将变得非常臃肿, 这些又长又
+        如果在访问权限配置文件里出现这些用户名, 文件将变得非常臃肿, 这些又长又
         晦涩的用户名还很容易写错.</para>
 
       <!--
@@ -7750,7 +7750,7 @@
         type the correct complex username only once, in a statement
         which assigns to it a more easily digestable alias.</para>
       -->
-      <para>幸运的是, Subversion 1.5 为访问规则文件添加了对用户别名的支持.
+      <para>幸运的是, Subversion 1.5 为访问权限配置文件添加了对用户别名的支持.
         有了用户别名, 对于复杂的用户名, 管理员只需要在赋予别名的地方写一次
         就够了.</para>
 
@@ -7761,7 +7761,7 @@
         the value of those variables carrying the real Subversion
         username which is being aliased.</para>
       -->
-      <para>用户别名定义在访问规则文件的一个特殊的节—
+      <para>用户别名定义在访问权限配置文件的一个特殊的节—
         <literal>aliases</literal>, 节内的每一个变量名都定义了一个别名, 而
         变量值则是真实的用户名.</para>
 
@@ -7782,7 +7782,7 @@
         Simply prepend an ampersand to the alias to distinguish it from
         a regular username:</para>
       -->
-      <para>用户别名定义完成后, 在访问规则文件内, 只要是能出现真实用户名的
+      <para>用户别名定义完成后, 在访问权限配置文件内, 只要是能出现真实用户名的
         地方都能用别名替代, 唯一的区别是要在别名前添加符号
         <literal>&</literal>, 以便与真实的用户名进行区分.</para>
 
@@ -7811,8 +7811,12 @@
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.pathbasedauthz.authclass-tokens">
 
+      <!--
       <title>Advanced Access Control Features</title>
+      -->
+      <title>访问权限控制的高级特性</title>
 
+      <!--
       <para>Beginning with Subversion 1.5, the access file syntax also
         supports some <quote>magic</quote> tokens for helping you to
         make rule assignments based on the user's authentication
@@ -7824,6 +7828,13 @@
         all.  Similarly employed is the <literal>$anonymous</literal>
         token, except that it matches everyone who has
         <emphasis>not</emphasis> authenticated with a username.</para>
+      -->
+      <para>从 Subversion 1.5 开始, 访问权限配置文件还支持一些
+        <quote>魔力</quote> 符号, 这些符号可以帮助管理员基于用户的认证类别来
+        制定访问规则. 其中一个符号是 <literal>$authenticated</literal>,
+        用于将权限授予给所有已认证的用户. 类似的还有
+        <literal>$anonymous</literal>, 它表示所有 <emphasis>未认证</emphasis>
+        的用户.</para>
 
       <informalexample>
         <programlisting>
@@ -7833,6 +7844,7 @@
 </programlisting>
       </informalexample>
 
+      <!--
       <para>Another handy bit of access file syntax magic is the use
         of the tilde (<literal>~</literal>) character as an exclusion
         marker.  In your authorization rules, prefixing a username,
@@ -7841,6 +7853,12 @@
         do <emphasis>not</emphasis> match the rule.  Though somewhat
         unnecessarily obfuscated, the following block is equivalent to
         the one in the previous example:</para>
+      -->
+      <para>访问权限配置文件语法的另一个很有用的魔力符号是波浪号
+        (<literal>~</literal>), 用于排除某些用户. 在访问权限配置文件中, 如果
+        在用户名, 用户别名, 用户组或认证类别前加上波浪号, 就表示将访问权限
+        授予给与规则 <emphasis>不匹配</emphasis> 的用户. 虽然下面的配置容易
+        让人产生不必要的困惑, 但它和上面的例子是等效的:</para>
 
       <informalexample>
         <programlisting>
@@ -7850,7 +7868,10 @@
 </programlisting>
       </informalexample>
 
+      <!--
       <para>A less obvious example might be as follows:</para>
+      -->
+      <para>下面是一个更恰当的, 使用 <literal>~</literal> 的例子:</para>
 
       <informalexample>
         <programlisting>
@@ -7874,7 +7895,10 @@
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.pathbasedauthz.gotchas">
 
+      <!--
       <title>Some Gotchas with Access Control</title>
+      -->
+      <title>访问权限控制的一些陷阱</title>
 
       <para>If you're using Apache as your Subversion server and have
         made certain subdirectories of your repository unreadable to




More information about the svnbook-dev mailing list