Subversion ----> svnserve.conf / authz / passwd / hooks-env.tmpl <<翻译笔记>>

svnserve.conf
假如你使用这个文件去允许访问这个仓库,那么这个文件控制着svnserve后台进程的配置。(但是如果你只是允许通过http和/或者 file:URLs,则这个文件就不起作用了。)原文是irrelevant,中文是不相干,无关的意思,这里笔者将其意译为不起作用。
可以通过访问http://subversion.apache.org/获取更多信息。
[general]
anon-access和auth-access两个选项分别控制着访问仓库的未经身份验证的用户和已认证的用户。
它们的有效值是write,read和none。
把值设置成none,结果等价于禁止读和写两种操作。
对仓库的访问权限,read允许只读访问权限,write允许完整的读和写的访问权限。
下面的示例配置是默认的配置,指定匿名的用户对仓库只有读的访问权限,然而已经认证的用户对仓库拥有读和写的访问权限。
anon-access = read auth-access = write
password-db选项控制着密码数据库文件的位置。除非你以“/”开头指定一个新的路径,该文件的路径是相对于包含这个配置文件(笔者注:该配置文件是指svnserve.conf)的目录。
如果SASL被激活可用,那么该文件(笔者注:该文件是指passwd)将无效。注释掉下面的一行表示使用默认的密码文件。
password-db = passwd
auth-db选项控制着基于路径的访问控制的认证规则(文件)的位置。除非你以“/”开头指定一个新的路径,该文件的路径是相对于包含这个配置文件(笔者注:该配置文件是指svnserve.conf)的目录。指定的路径可能是仓库的相对路径URL(^/)或者Subversion 仓库的文本文件的绝对文件路径(file://)。如果你不指定一个authz-db的值,基于路径的访问控制将无效。注释掉下面的一行表示使用默认的认证文件。
authz-db = authz
groups-db选项使用组定义控制文件的位置,并允许分开维护组与授权规则。 groups-db文件的格式与authz-db文件的格式相同,并且应包含带有组定义的单个[groups]部分。 如果启用该选项,则authz-db文件不能包含[groups]部分。 除非指定以/开头的路径,否则文件的位置相对于包含此文件的目录。指定的路径可能是仓库的相对路径URL(^/)或者Subversion 仓库的文本文件的绝对文件路径(file://)。 默认情况下不使用此选项。
groups-db = groups
此选项指定仓库的身份验证领域。 如果两个仓库具有相同的身份验证领域,则它们应具有相同的密码数据库,反之亦然。 默认领域是仓库的uuid。
realm = My First Repository
force-username-case选项使svnserve对用户名进行大小写标准化,在与上面配置的authz-db文件中的授权规则进行比较之前。 有效值为“upper”(大写用户名),“lower”(小写用户名)和“none”(用于比较用户名,不进行大小写转换,这是默认行为)。
force-username-case = none
hooks-env选项指定钩子脚本环境配置文件的路径。 如果指定了绝对路径,则此选项将覆盖每个仓库的默认值,并可用于在单个文件中为多个仓库配置钩子脚本环境。 除非指定绝对路径,否则文件的位置相对于包含此文件的目录。
hooks-env = hooks-env
[sasl]
此选项指定是否要使用Cyrus SASL库进行身份验证。 默认值为false。 启用此选项需要使用Cyrus SASL支持构建svnserve; 运行'svnserve --version',检查并查找'Cyrus SASL身份验证可用'的字样。
use-sasl = true
这些选项指定希望SASL提供的安全层的所需强度。 0表示不加密,1表示仅完整性检查,大于1的值与加密的有效密钥长度相关(例如128表示128位加密)。 以下值是默认值。
min-encryption = 0 max-encryption = 256
passwd
此文件是svnserve的示例密码文件。 它的格式类似于svnserve.conf的格式。 如下面的示例所示,它包含一个标记为[users]的部分。 每个用户的名称和密码如下,每行一个帐户。
[user]
# harry = harryssecret # sally = sallyssecret
authz
此文件是svnserve的示例授权文件。 其格式与mod_authz_svn授权文件的格式相同。 如下所示,每个部分定义路径的授权和部分名称指定的(可选)仓库。
授权如下。 授权行可以参考:
- 单个用户,
- 在特殊[groups]部分中定义的一组用户,
- 在特殊[aliases]部分中定义的别名,
- 所有经过身份验证的用户,使用“$authenticated”令牌,
- 只有匿名用户,使用'$anonymous'令牌,
- 任何人,使用'*'通配符。
可以通过在规则前加上“〜”来反转匹配。 规则可以授予读('r')访问权限,读写('rw')访问权限,或者不授予访问权限(' ')。
[aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r
hooks-env.tmpl
此文件是示例钩子脚本环境配置文件。默认情况下,挂钩脚本在空环境中运行。 如下所示,每个部分定义特定钩子脚本的环境变量。 [default]部分定义了所有钩子脚本的环境变量,除非被特定于钩子的部分覆盖。
此示例为所有钩子脚本配置UTF-8语言环境,以便可以将特殊字符(如变音符号)打印到stderr。 如果UTF-8与mod_dav_svn服务器一起使用,则httpd.conf中的SVNUseUTF8选项也必须设置为“yes”。 使用svnserve,svnserve进程的LANG环境变量必须设置为此处给出的相同值。
[default] LANG = en_US.UTF-8
这为预提交钩子设置了PATH环境变量。
[pre-commit] PATH = /usr/local/bin:/usr/bin:/usr/sbin
笔记:
去掉svnserve.conf中anon-access的注释,把默认值设置成none,然后再checkout,会报错
--listen-port选项修改svnserve监听端口,例如,svnserve -d -r /opt/svn --listen-port 12050
对于-r的理解。
-r指明了一个虚拟的根目录,在客户端进行co时,指出的位置都是相对于这个根目录。
例如:svn://192.168.1.103:12050/myrepo中,12500后的“/”指的是:/opt/svn
拼起来就是:/opt/svn/myrepo!
如果有多个svnserve服务器,可以设置多个svn虚拟根目录,一个svnserve进程对应一个svn虚拟根目录,当然,每个进程监听的端口是不一样的。
svnserve.conf的anon-access和password-db结合使用实现用户名登录认证
修改conf/passwd文件实现添加svn账户:
[user]
用户名 = 密码
修改conf/authz文件设置用户对当前svn库拥有读写权限:
[/]
用户名 = rw
参考博客:
https://blog.csdn.net/test1280/article/details/70655251
idea 使用svn???
前提是开启svn 服务器,右击项目 -> Subversion -> share directory...
idea 使用git???
Subversion ----> svnserve.conf / authz / passwd / hooks-env.tmpl <<翻译笔记>>的更多相关文章
- 【转】SVN添加文件时的错误处理:...\conf\svnserve.conf:12: Option expected
转载地址:http://www.linuxidc.com/Linux/2014-09/106683.htm 安装完SVN服务器,添加完用户权限后,准备将本地的项目add到服务器上时,报"C: ...
- svnserve.conf - snvserve 的仓库配置文件
SYNOPSIS 总览 repository-path/conf/svnserve.conf DESCRIPTION 描述 每个代码仓库都有一个 svnserve.conf 文件来控制 svnserv ...
- SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法
① 在 CentOS 6.5 上安装配置了 SVN,在本地 Checkout 的时候报错: 显示:/www/svnroot/webfile/conf/svnserve.conf:12: Option ...
- svnserve.conf: Option expected的问题解决方法
经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这 ...
- svn错误 svnserve.conf:12: Option expected解决办法
经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这 ...
- svn服务器 vim 修改 authz passwd 添加用户
进入svn服务器 vim 修改 authz passwd 添加用户 SVN服务器之------2,配置PhpStorm连接SVN服务器(其他IDE大同小异) - 学到老死 - 博客园 https:// ...
- ubantu svn 安装、卸载、配置hooks
1.安装之前先看是否已经安装了 svn -version 若已经安装会有以下提示,若没有安装,进行下一步 若想卸载了执行命令 ( sudo apt-get remove --purge subvers ...
- centos7安装并配置svn(转)
一.安装 1. 通过 yum install subversion来安装 2. 查看svn版本 使用: svnserve –version 3. 创建svn版本库 使用命令: svnadmin cre ...
- CentOS搭建Nginx+Subversion环境(包括多个版本库的配置)
Apache Subversion(简称SVN,svn) 因为某种原因我们需要用Nginx作为Subversion的http前端,但目前没有现成的Nginx+Subversion搭配方式. 而Subv ...
随机推荐
- Epplus DataTable一次性导出
public void Export() { string fileName = ""; if (string.IsNullOrEmpty(fileName) == true) { ...
- 《linux就该这么学》第十七节课:第18,19,23章,mariadb数据库、PXE无人值守安装系统和openldap目录服务。
第23章 (借鉴请改动) openldap数据的特点:1.短小.2.读取次数较多 上述说明: openLDAP服务端配置: 1.yum install -y openldap openldap ...
- MongoDB 常用语句
use 数据库名 进入数据库 若数据库不存在,创建数据库 db 显示当前数据库 show dbs 显示内容非空的数据库 db.createCollection('表名') ...
- 2017 5 31 php面向过程 面向对象1
面向过程的语法定义变量:定义函数:使用变量(输出,赋值,等)调用函数:流程控制(if,switch,for,while等) 面向对象的语法1,定义类:定义类的语法中,只有这3种代码:1.1定义属性(变 ...
- 单点登录(SSO)详解
背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便.但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次 ...
- react中对于key值的理解
1.key是用来帮助react识别哪些内容被更改.添加或者删除.key需要写在用数组渲染出来的元素内部,并且需要赋予其一个稳定的值.如果key值发生了变更,react则会触发UI的重渲染. 2.在相邻 ...
- 2.3JAVA基础复习——JAVA语言的基础组成函数
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- Django多表查询
一.前言 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候, ...
- IDEA 初建Spring项目(Hello Spring)
新建项目 在文件夹中建立一个项目文件 打开项目 打开IDEA,点击Open,根据所建项目路径找到该项目 依赖注入 点击项目名右键,点击new,点击file,创建pom.xml 内容为: <pro ...
- Intellij IDEA 远程链接hive,执行hsql
https://note.youdao.com/share/?id=75d82d9c5fab1e00de41c504a54dfcde&type=note#/