因为我当初创建repository时是这样:
svnadmin create /Users/andy/svn/news
所以我的svn配置文件在这里:
/Users/andy/svn/news/
我们去看下:
Last login: Fri Jul 25 16:06:56 on ttys001
AndyMacBookPro:~ andy$ cd /Users/andy/svn/news/
AndyMacBookPro:news andy$ ll
total 16
drwxr-xr-x 8 andy staff 272 7 25 16:49 ./
drwxr-xr-x 3 andy staff 102 7 25 16:49 ../
-rw-r--r-- 1 andy staff 229 7 25 16:49 README.txt
drwxr-xr-x 5 andy staff 170 7 25 16:49 conf/
drwxr-sr-x 16 andy staff 544 7 25 17:29 db/
-r--r--r-- 1 andy staff 2 7 25 16:49 format
drwxr-xr-x 11 andy staff 374 7 25 16:49 hooks/
drwxr-xr-x 4 andy staff 136 7 25 16:49 locks/
AndyMacBookPro:news andy$ cd conf/
AndyMacBookPro:conf andy$ ll
total 24
drwxr-xr-x 5 andy staff 170 7 25 16:49 ./
drwxr-xr-x 8 andy staff 272 7 25 16:49 ../
-rw-r--r-- 1 andy staff 1105 7 25 17:28 authz
-rw-r--r-- 1 andy staff 320 7 25 17:25 passwd
-rw-r--r-- 1 andy staff 3082 7 25 17:25 svnserve.conf
AndyMacBookPro:conf andy$
我们首先需要编辑下svnserve.conf,将下面四项的前面注释去掉,并且去掉这一行前面的空格,将配置顶行写:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
这边字面上也能明白 anon是匿名访问时的权限,auth是授权访问时的权限。
然后我们配置下passwd:
[users]
# harry = harryssecret
# sally = sallyssecret
andy=andy
这里添加的是用户名=密码,我这里依照上面的例子添加就可以了。
然后我们去authz中配置组和组权限:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
andy=andy
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
@andy=rw
这里其实也很简单,先在groups中添加一个andy组,并且后面添加组员andy,这里碰巧组员和组的名字相同,大家不要误会,后面的andy是组员。
然后下面是设置每个组在相应目录下的权限,这里设置的是[/]的意思,就是在根目录下,然后西面组名前面加@,意思是andy组在根目录下的权限为rw,即读和写都有。