svn精细配置各个目录的权限

首先给大家看下目录结构,再多级的目录也是一样的方法

先简要介绍下结构,IT管理只能项目管理员来看,常用资料就是管理员能上传,其他用户只能读,研发管理,所以用户都能写。

我这里是直接在根下创建/svn总的大目录,进入/svn,再用svnadmin创建一个project的版本库,如果你要创建多个也可以,这个命令太简单了,我不详细介绍了,不知道的自行百度。

svnadmin create project

配置好3个配置文件:svnserver authz passwd

[[email protected] ~]# ll /svn/project/conf/
total 12
-rw-r–r– 1 root root 1328 May 30 23:12 authz
-rw-r–r– 1 root root 371 May 30 22:54 passwd
-rw-r–r– 1 root root 3079 May 30 22:35 svnserve.conf

其中svnserver.conf配置的是版本库本身的信息,如果这个配置文件又改动,需要重启svn服务。authz配置的是文件夹的权限,passwd存放的是用户的用户名和密码,这2个配置文件改动之后,不需要重启svn服务。

首先看svnserve.conf这个配置文件,要写明全局的权限,以及auth和passwd的路径,这个路径是从conf/这一级目录开始算的,你换成其他路径也可以

[[email protected] ~]# egrep -v “^#|^$” /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = Hi,baby,what`s up?
[sasl]
[[email protected] ~]#

passwd,创建几个用户,我就随便乱写几个了,注意所有的配置都必须顶格写,等号两边规范的写法应该用空格

[users] 
admin = admin 
management = management 
zhangsan = zhangsan

auth,配置每个文件夹的详细权限

注意,[groups]里面可以创建权限组,左边是组名,右边是用户名,我只是恰好用户名和组名一样。下面就是各个文件夹的详细权限。 [/IT管理]代表的是project项目下面的 IT管理 文件夹。

注意,这里有个大坑,目录结构应该是使用admin用户,把项目checkout之后,去项目里面创建的文件夹结构,然后再去提交,不是在服务端用mkdir的方法去创建文件夹。由于第一次使用svn,我研究了半天才明白,百度上也没搜到,希望其他初学者不要犯我的错误了。

# admin=rw表示admin有读写的权限

# *=r表示其他人只能读

# *= 表示其他人什么权限都没有

[[email protected] ~]# egrep -v “^#|^$” /svn/project/conf/authz
[aliases]
[groups]
admin = admin
management = management
user = zhangsan
[/]
* = r
@admin = rw
[/IT管理]
@admin = rw
@management = rw
* =
[/常用资料]
@admin = rw
@management = rw
@user = r
* =
[/研发管理]
@admin = rw
@management = rw
@user = rw
* =

完成之后,使用svnserve -d -r /svn 启动版本库

检查端口号

[[email protected] ~]# ps -aux | grep svnserve
root 1317 0.0 0.0 186880 1088 ? Ss 01:14 0:00 svnserve -d -r /svn/
root 4516 0.0 0.0 112660 972 pts/2 R+ 02:38 0:00 grep –color=auto svnserve

可以看到,服务已经起来了

剩下的就是去使用了

 

 

 

此条目发表在svn分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注