惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
爱范儿
爱范儿
罗磊的独立博客
美团技术团队
Jina AI
Jina AI
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
IT之家
IT之家
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
月光博客
月光博客
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)

博客园 - OldHawk

android:themes.xml android:style.xml How to merge two images into one using Actionscript Fms3中client端与server端交互方式汇总 Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常) - OldHawk - 博客园 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写) - OldHawk flex4中list与itemRenderer项目渲染器中子对象之间访问 install flashpolicyd Linux环境如何升级Python linux运行级别查看并更改研究 Flash builder 4 (Flex builder 4) 正式版序列号生成器 Linux下SVN安装配置记录 (转)谈linux安全设置 Linux安全配置步骤简述 对linux安全设置中需要注意和掌握的地方 Linux操作系统下SSH默认22端口修改方法 图片与二进制及字符相互换化(转) MSDN帮助文档 "无法显示该网页" 的问题解决方案(转) - OldHawk 修改flex应用默认的装载界面
(转)基于svnserve的服务器,权限文件authz配置的常见问题及...
OldHawk · 2010-06-13 · via 博客园 - OldHawk

Posted on 2010-06-13 12:39  OldHawk  阅读(1399)  评论()    收藏  举报

最近在我用Subversion论坛(http://www.iUseSVN.com/bbs)经常有人提到这样的问题:
为什么我的客户端没有写权限
为什么我的权限没有起作用?

总结他们的配置,发现
都是用svnserve作为服务器
都在svnserve.conf中使用了authz-db选项

原因可能如下:

1,配置authz时,没有注意svnserve启动参数-r所指定的目录
这里有两种情况:
A:-r直接指定到版本库(称之为单库svnserve方式)
比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve

  1. svnserve -d -r D:\svn\project1

复制代码

在这种情况下,一个svnserve只能为一个版本库工作
authz文件如果配置成下面这样就是错的,
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [project1:/]
  5. @admin=rw
  6. @doc=r

复制代码

应该配置成
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [/]
  5. @admin=rw
  6. @doc=r

复制代码

因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1

B:-r指定到版本库的上级目录(称之为多库svnserve方式)
同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve

  1. svnserve -d -r D:\svn

复制代码

这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [project1:/]
  5. @admin=rw
  6. @doc=r

复制代码

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2

2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。

svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8,
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM

更多参考文档
(配置权限控制文件)http://bbs.iusesvn.com/thread-6-1-1.html
(中文目录权限控制)http://bbs.iusesvn.com/thread-41-1-1.html

(Apache的单库多库问题)http://bbs.iusesvn.com/thread-158-1-1.html