用xshell登陆服务器,cd切换到服务器中svn的项目仓库目录中,然后切换到conf文件中(也可使用xftp),会看到3个文件,分别是
authz、passwd、svnserve.conf
首先编辑svnserve.conf主配置文件,主要是对以下几项修改
如果后面大家要用到组权限的话,大家看authz-db = authz 前面应该会有 # 号键,记得去掉,这样才能在下面分配组权限的时候,才能起作用。
建立svn用户以及密码:
配置组:
配置各个组权限:
保存修改后的svnserve.conf ,passwd,authz 三个文件
然后用下面的命令重启一下svn
查看svn进程:ps -ef | grep svn 或者 ps aux | grep svn
强制杀死进程:kill -9 进程号
重启svn(/home/svn为自己的目录地址):svnserve -d -r /home/svn
最后看看是不是成功了,可以在本地测试一下,看看账户是否可用,对应的权限是不是已经有了,不是该组的用户应该不能访问没有赋予权限的目录的
helloword仓库:
现在对于def项目中,我不想让产品部的人看到开发部和数据部的目录下面的数据怎么办?可以通过 = 来设置,没有设置权限的人统统不能访问, = 这一句的目的,就是割断权限继承性,使得管理员可以定制某个目录及其子目录的权限,从而完全避开其父目录权限设置的影响
Linux 下可以直接通过如下命令直接获取svn server:(我使用的服务器系统为Debian 7.5 稳定版)
apt-get install subversion
安装完成后,可通过svnserve --version 查看安装的版本,我所使用的svn server 版本为1.6.17:
二、创建代码库
创建库(以test库为例):
sudo svnadmin create /home/user/svn/test
这样,一个简单的代码仓库就创建完成了。
接下来启动svn服务:
svnserve -d -r /home/user/svn/test
然后client端就可以通过“svn://ip.ip.ip.ip/test”来访问svn了。
一、为了保障高安全系数,必须设置匿名用户无任何权限,取消匿名登录 找到: SVN安装目录\conf\svnserve.conf 找到:###anon-access = read 将前面的注释去掉,并将read改为:none 即使:anon-access=none表示匿名登陆下的用户权限为空。即:系统不支持匿名登陆说明: anon-access = read匿名登陆下可以只读文件,即:文件修改后无法提交到服务器,一般不想让匿名用户访问,所以设置成none。 auth-access = write通过验证的用户可以读和写 password-db =password用户保存文件的名称 authz-db =authz权限管理文件 这个是非常重要的,如果我们要对整个工程的文件进行权限分配的时候,就必须将这个行文件前面注释掉,否则即使我们在权限配置文件里面进行再多的配置都是无效的。 二、权限分配 然后我们在authz文件下面进行权限的分配 找到: SVN安装目录\conf\authz 权限文件中有两个重要的概念分别是groups组的创建(红色部分)与文件夹权限的划分(绿色部分) 注:书写要领 等于号两侧必须有空格权限说明: r = read读 w = write写(写即包含读的权限) * =代表上述人物以外的人物权限什么都不能做 /代表根目录 1.描述组的权限时,在组名前加@ 2.组内人数大于2人时,最后一人账户名称前不用加&(我曾经加过且无法登陆) 3.根目录下有多个文件夹,且分别对每个文件夹进行权限设定时,不要忘记根目录至少设定r权限,否则会因为权限冲突导致无法登陆 当变更该配置文件后,若未出现登录对话框,直接出现下图,则意味着权限配置有冲突,需要调整欢迎分享,转载请注明来源:内存溢出
评论列表(0条)