SVN用户权限管理
/***********************************************************/
//SVNSubversion 用户权限管理
//资料来源:网络、总结
//2010年7月20日
/***********************************************************/
基本的操作:
以我创建的Svn工程为例子来讲解SVN权限管理的配置
仓库创建路径:D:\SVNLibrary
>>>取消匿名登陆:
打开文件D:\SVNLibrary\conf\svnserve.conf
找到:###anon-access = read
将前面的注释去掉,并将read 改为:none
即使:anoe-access=none 表示匿名登陆下的用户权限为空。即:系统不支持匿名登陆
说明:
auth-access = write #通过验证的用户可以读和写
auno-access = read #匿名登陆下可以只读文件,即:文件修改后无法提交到服务器
password-db =password #用户保存文件的名称
authz-db =authz #权限管理文件 这个是非常重要的,如果我们要对整个工程的文件进行权限分配的时候,就必须将这个行文件前面注释掉,否咋即使我们在权限配置文件里面进行再多的配置都是无效的。这点我已经犯错了。
然后我们在authz 文件下面进行权限的分配
在权限分配的时候要注意的问题:
>>>权限分配时,应遵守从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限。提示:目录的访问权限既可以分配给组,也可以分配指定用户。
>>>对某个用户,如果只赋给他某个目录的权限,但对上级目录没有赋给,则他不能有上级目录的任何权限
例如某个用户有:/repository/project1的r权,而没有/repository的r权
>>>对于所有的目录,都优先处理设置在这个目录上的权限设置。
例如sai用户:
[/repository]
sai = rw
对于repository目录,他有rw的权限。
[/repository/project1]
sai = r
对于repository下的project1目录,他只有r权限。
则,这个saiy用户只有project1的r权。而repository下其他目录有rw权。
>>>权限分配,只可以分配到某个目录,而不能到某个文件
>>>如果某个目录上没有对某个用户设置权限,则一直向上级目录查找,看是否有权限
例如sai用户
[/repository]
sai=rw
[/repository/project1]
saiya=rw
则sai用户一样拥有/repository/project1的读写权限
>>>分配权限时,= 的左边为用户,不能想当然的以,号分开加入多个用户
>>>如果想设置某用户都没有rw的权限,只要 = 号的右边这空即可
User1 =
>>>如果某一个文件夹,对于人任何用户都没有权限
* =
其中*代表所有的人
SVN深入的部分
本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。
这 里首先要注意一点,任何配置文件的有效配置行,都不允许存在前置空格,否则程序会无法识别。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行 过去,需要手动将前置的4个空格全部删除。当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许 UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助呢。
1 svnserve.conf
arm\conf\svnserve.conf 文件,是 svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。
首先,我们告诉 svnserve.exe,用户名与密码放在 passwd.conf 文件下。当然,你可以改成任意的有效文件名,比如默认的就是 passwd:
password-db = passwd.conf
接 下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。 那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在 passwd.conf 文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许 read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件:
anon-access = none
auth-access = write
接下来就是最关键的一句呢,它告诉 svnserve.exe,项目目录访问权限的相关配置是放在 authz.conf 文件里:
authz-db = authz.conf
当 然,svn 1.3.2 引入本功能的时候,系统默认使用 authz 而不是 authz.conf 作为配置文件。不过由于鄙人是处女座的,有着强烈的完美主
相关新闻>>
- 发表评论
-
- 最新评论 更多>>