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 <<翻译笔记>>的更多相关文章

  1. 【转】SVN添加文件时的错误处理:...\conf\svnserve.conf:12: Option expected

    转载地址:http://www.linuxidc.com/Linux/2014-09/106683.htm 安装完SVN服务器,添加完用户权限后,准备将本地的项目add到服务器上时,报"C: ...

  2. svnserve.conf - snvserve 的仓库配置文件

    SYNOPSIS 总览 repository-path/conf/svnserve.conf DESCRIPTION 描述 每个代码仓库都有一个 svnserve.conf 文件来控制 svnserv ...

  3. SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法

    ① 在 CentOS 6.5 上安装配置了 SVN,在本地 Checkout 的时候报错: 显示:/www/svnroot/webfile/conf/svnserve.conf:12: Option ...

  4. svnserve.conf: Option expected的问题解决方法

    经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这 ...

  5. svn错误 svnserve.conf:12: Option expected解决办法

    经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这 ...

  6. svn服务器 vim 修改 authz passwd 添加用户

    进入svn服务器 vim 修改 authz passwd 添加用户 SVN服务器之------2,配置PhpStorm连接SVN服务器(其他IDE大同小异) - 学到老死 - 博客园 https:// ...

  7. ubantu svn 安装、卸载、配置hooks

    1.安装之前先看是否已经安装了 svn -version 若已经安装会有以下提示,若没有安装,进行下一步 若想卸载了执行命令 ( sudo apt-get remove --purge subvers ...

  8. centos7安装并配置svn(转)

    一.安装 1. 通过 yum install subversion来安装 2. 查看svn版本 使用: svnserve –version 3. 创建svn版本库 使用命令: svnadmin cre ...

  9. CentOS搭建Nginx+Subversion环境(包括多个版本库的配置)

    Apache Subversion(简称SVN,svn) 因为某种原因我们需要用Nginx作为Subversion的http前端,但目前没有现成的Nginx+Subversion搭配方式. 而Subv ...

随机推荐

  1. 解决:启用多线程调用webBrowsers函数报错:指定的转换无效

    这里就需要委托. 定义一个 委托.加载之后给他绑定一个方法Callback,也就是所说的回掉函数. 然后写一个线程,线程需要一个object 的参数.将你定义的委托当作参数传进线程中的方法. 在线程中 ...

  2. oracle - 查询某些表是空白,需要提升权限后,才可查询出数据

    begin fnd_global.apps_initialize(user_id => 1150 ,resp_id => 50738 ,resp_appl_id => 660 ); ...

  3. 再谈javascriptjs原型与原型链及继承相关问题

    什么是原型语言 只有对象,没有类;对象继承对象,而不是类继承类. “原型对象”是核心概念.原型对象是新对象的模板,它将自身的属性共享给新对象.一个对象不但可以享有自己创建时和运行时定义的属性,而且可以 ...

  4. CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门

    最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...

  5. 集合 set

    集合 集合属于可变数据类型,但它的内容必须是不可变数据类型. 特点:无序   ,  不重复 有两种创建方式: set({1,2,3})和 {1,2,3} set1 = set({1,2,3,4}) s ...

  6. PHP提交失败保留填写后的信息

    index.html: <html> <head> <title>jQuery Ajax 实例演示</title> </head> < ...

  7. html5 渐变按钮练习

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  8. window xshell 连接本地ubuntu虚拟机

    先设置VMware 虚拟机的连接属性 1.桥接,利用真实网卡  设置和window 同一个网段就可以直接通信 2.hostnoly是通过vm8(查看你的所有网络连接) 只能和主机联系 设置和vm8同一 ...

  9. HTML5新增常用属性

    一. 代码名称语义化的好处 1.能让搜索引擎更好的收录 2.对于特殊设备如盲人设备好解析 二.article和section的区别 article(文章):独立且能被外部引用 section(章节.段 ...

  10. 信步漫谈之Redis—Linux下环境搭建

    一.环境 Linux 系统:Suse11(SLES-11-SP3-DVD-x86_64-GM-DVD1)Redis 安装包:redis-4.0.11.tar.gz      下载地址:http://d ...