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 ...
随机推荐
- Haproxy小酌
1.Haproxy简介 负载均衡: 基于软件:HAProxy(四层+七层),Nginx(七层) 基于操作系统:LVS(四层) 作用:实现高可用,负载均衡,基于TCP(第四层)和HTTP(第七层)的应用 ...
- WPF中使用DataGrid时操作列按钮问题
在使用DataGrid的过程中,我们有时候需要对选取的某一行数据进行多个操作,这个时候操作列只有一个按钮显然无法满足我们的要求,我们需要多个按钮才能达到我们的目的. UI页面代码: <Grid& ...
- Redis详解与常见问题解决方案
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...
- bochs模拟器创建映像文件 、写入文件并启动
安装 bochs,dd for windows,nasm,并将安装目录加入到环境变量中. 我用的bochs版本是2.6.8 1.用 bochs 中 bximage.exe 创建新的 img 文件 2. ...
- Dapper 批量插入
环境 Mssql 自带的Dapper.Net 批量插入 是一条条循环插入 这里改成了单条 Ps:主要此方法要控制字符串长度哦,每个数据库对单条sql字符长度的限制是不一样的. /// <summ ...
- Web应用启动时,后台自动启动一个线程(转)
原文:http://blog.sina.com.cn/s/blog_6810dfc20101ipzq.html Web应用启动时,后台自动启动一个线程 (1)前言 前几天,manager问道一个问题: ...
- sql where 里面判定要加 ' '
WHERE year>=2010 and year<=2017 and indicator_code = 'SE.XPD.TOTL.GD.ZS'
- Lamda Expression
Expression<Func<Student, bool>> filter=s=>s.Name.Contains("a") && s ...
- MMIO和PIO
1.概念 内存映射I/O(MMIO)[统一编址]和端口映射I/O(PMIO)[独立/单独编址]是两种互为补充的I/O方法,用于设备驱动程序和设备通信,即在CPU和外部设备之间. (1)在MMIO中,内 ...
- python学习之文本文件上传
最近用python的flask框架完成了一个最基本的文本文件上传,然后读取. 前端用的Angular的ng2-file-upload完成文件上传,后端用flask接收上传的文件,接着做处理. 在交互的 ...