本节接着上节继续介绍Apache+SVN设置,上节我们讲到了建立权限中的svnserve.conf文件结构分析,下面我们继续介绍,看完本文Apache+SVN设置你肯定有不少收获,希望本文能教会你更多东西。
2)存放户名与密码的passwd.文件结构
文件结构为
用户名=密码
例如:文件内容为
[users]
wangyl=w
liwb=liwb
有两个用户,用户名:wangyl密码:w,以及用户名:liwb密码:liwb
3)目录访问权限authz.文件结构
我们再来看一下Apache+SVN设置中关于权限设置第三部分,目录访问权限authz.文件结构。此文件结构比较复杂一些,对权限分配越细,配置越复杂;目录访问权限配置文件可以分为两配置段:
[group]是一类,里面放置着所有用户分组信息。
其余以[projectname:/]开头的是另外一类,每一段就是对应着项目的一个目录,其目录相关权限,就在此段内设置。
[group]我们将人员分组管理,以便以后由于人员变动而需要重新设置权限时候,尽量少改动东西。比如,我们将所有人员分三个组:设计组、编码组、测试组,则设计组可以修改设计文档,而编码组只能查看设计文档,而不能进行修改;同样,编码组可以修改程序代码,而测试组只能读取相关代码,而不能进行修改。
实例如下:
[group]
designer=xiaodong
programmer=wangyl,liwb
test=xiaoxi,wangyl
注:一个组可以包括多个人,同时一个也可以在多个组中
[项目:目录]进行目录权限细分
同个版本库,包括许多的文件和目录,可能是几十人共享,如何细分权限呢?采用目录权限细分,可以控制每个目录的什么有权限进行什么操作。
[groups]
programmer=wangyl,liwb
[YJ_LCD2000:/]
@programmer=rw
*=r
@programmer前带@表示这是个群的意思,如果要指定单位用户的权限,则真接用用户名:wanyl=rw
rw表示前面的用户和群对上面的目录[YJ_LCD2000:/]所拥有的权限,r表示读,w表示写,””表示没有权限*表示以上列举以外的用户,*=r表示其它用户只有读的权利
同样,可以设置版本库YJ_LCD2000中,任一子目录的权限,这样,就十分精确的描述了,对版本库的权限访问。
注意:如果我们没有进行任何权限设置,则系统默认没有任何权限。所以必须显式设置对目录的访问权限。
3.对中文目录的支持
Apache+SVN设置中对中文目录的支持介绍。使用UltraEdit将authz.conf文件转换成不带BOM的UTF-8格式
将配置文件转换成UTF-8格式之后,Subversion就能够正确识别中文字符了。但是这里需要注意一点,即必须保证UTF-8文件不包含BOM。BOM是ByteOrderMark的缩写,指UNICODE文件头部用于指明高低字节排列顺序的几个字符,通常是``FFFE``,而将之用UTF-8编码之后,就是``EFBBBF``。由于UTF-8文件本身不存在字节序问题,所以对UTF-16等编码方式有重大意义的BOM,对于UTF-8来说,只有一个作用——表明这个文件是UTF-8格式。由于BOM会给文本处理带来很多难题,所以现在很多软件都要求使用不带BOM的UTF-8文件,特别是一些处理文本的软件,如PHP、UNIX脚本文件等,svn也是如此。
目前常用的一些文本编辑工具中,MSWindows自带的“记事本”里面,“另存为”菜单保存出来的UTF-8格式文件,会自动带上BOM。新版本UltraEdit提供了选项,允许用户选择是否需要BOM,而老版本的不会添加BOM。请各位查看一下自己常用的编辑器的说明文件,看看它是否支持这个功能。
利用UltraEdit,我们可以将BOM去掉。方法是,首先利用“UTF-8TOASCII”菜单将文件转换成本地编码,通常是GB2312码,然后再使用“ASCIITOUTF-8(UNICODEEditing)”来转换到UTF-8即可。本节介绍Apache+SVN设置完毕,请关注本节其他报道。
【编辑推荐】