linux下svn(subversion)服务端添加工程及配置权限
转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html
此篇我只是将所做过的事情记录下来,原想搜一篇文章保存呢,结果发现事实上并没有一篇合适的博文供参考,遂,自给自足,以丰衣足食嘛。
首先,你需要有这些:
一台已经安装好了的SVN服务器
一台客户的电脑
由于我是在现有的svn服务器上安装的,遂就略去了SVN安装的过程,现在我整理下大致的思路:
=>svnadmin创建工程
=>配置所创建工程下的authz passwd svnserve.conf
=>杀进程,重启SVN服务
=>测试新建立的工程(包括权限认证,文件提交和更新)
先,需要进入工程目录使用,svnadmin命令创建一个工程:
创建命令: svnadmin create 工程名
工程已经创建成功了,(在这里我插入一句:即使不熟悉请不要用复制的方式去创建svn工程,切记!) 现在进入文件夹,可以看到一些默认的文件和文件夹:
这里我大致解释下这几个文件夹的作用:
conf:放置当前工程的配置文件,权限访问控制等等
db:记录用户提价的版本、缓存、db配置等,本身也是个sqlLite数据库
format:一个文件,默认为空,用途暂不明
hooks:放置自动提交和更细脚本,及相关配置
locks:顾名思义就是锁,代码被锁住了,可以在这里进行解锁操作
README.txt:工程的介绍文档,建议新建工程后都更新下
,因为我的目的是在拉取代码时就做一次权限认证,防止恶意用户窥测,遂,现在我们进入conf里面配置相关权限,conf目录目前有这些文件:
命令: vi passwd ,现在可以看到svn给了我们两个例子 harry和sally两个用户,现在我们需要添加我们的用户,大致格式是 :用户名 = 密码,#是注释,请不要以#开始命名用户
现在完成了一大半了,目前还需要配置两个,一个是文件读写权限和svn服务引用这两个,现在配置用户组及读写权限:
命令: vi authz
如图,用户组的配置需要在[group]标签下配置,你可以自定义一个用户组,比如这里的admin,用户组的用户均以逗号隔开,且用户必须在刚才的passwd文件中配置过的用户(不可使用中文作为用户名),用户组的命名方式为: 用户组名 = 用户1,用户2,用户3 ,用户组定义完成,现在需要对每一个用户组赋予不同的读写权限,大致格式是这样: @用户组名 = 读写权限 ,这个读写权限常用的有两个:rw->读写,r->只读。
用户组配置完成,现在需要配置svn服务引用,命令: vi svnserve.conf
额,主要操作就是把除了上面两个的其它配置参数全部用#注掉,对于保留的这两个参数,我解释下:
anon-access = none :将匿名用户的权限置为空
password-db = passwd :引用权限用户信息为passwd文件
好了,一切只缺重启了,现在需要找到重启的svn进程,请注意重启时需要在svn工程目录外侧执行命令
命令:
查找svn进程服务:ps -ef|grep svnserve
杀掉进程: kill -9 进程ID
启动svn: svnserve -d -r 目录名
可以看到,svn的启动命令已经在查找的进程中给出了,当然这里如果不是在svn工程列表目录外部操作,请一定注意启动命令后面的目录地址。
现在测试,由于家庭电脑没有装svn,公司电脑是测试成功的,这里我简要的给下一些基本命令供参考:
checkout工程(之后需要输入密码):
svn checkout svn://服务器IP或域名/工程目录(我这里是document) --username 用户名
添加文件:
svn add 文件名
提交文件(含备注):
svn commit -m "备注内容" 文件名
更新文件(需要制定版本):
svn update -r 修正版本 文件名
本节基本完成,我该发表了,等回公司了会把测试部分更新下,嘻嘻
现在是:2018-05-13 13:15:01 ,我的中饭时间(●・̆⍛・̆●)
funnyzpc@gmail.com