SVN搭建与权限配置
svn的权限管理与设置
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSVN Server后,运行VisualSVN Server Manger,打开服务器的 VisualSVN 界面:2、创建仓库(repository)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“empty repostory”,则在代码库只创建空的代码库StartKit,选下面的“single-project”则在代码库StartKit下面会创建trunk、branches、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subversion users…所有svn用户都可以Customize permissions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点create创建)这里有个Repository URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的branches,tags,trunk服务器版本我们现在右击整个仓库,就是MyBlog项目,我们现在来创建一个admin管理员,用户名admin,密码admin,你可以在Users查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。
svn服务器端配置库创建及配置办法
S V N服务器端配置库创建(E x p r e s s版)1创建SVN配置库目录在某一路径下,点击鼠标右键-新建-文件夹,创建一个文件夹,并修改目录名(如MySVN,在本文档中称之为SVN配置库)。
右键点击该目录,选择TortoiseSVN-Create repository here。
(备注:“repository”是英文“储藏室”的意思)1-1Create repository创建SVN配置库2对SVN authz、passwd即为配置每一2.12.2passwd user,密码为pwd的用户,则可以使用如下方法实现:[users]user = pwd //定义用户user,其密码为pwd2.3authz文件配置authz文件主要用于设置用户所属群组,配置用户权限及群组权限。
群组信息在[groups] 标签下配置;某个目录的读写权限则在[某路径]标签下配置,r表示可读权限,w表示可写权限,rw表示可读可写权限。
假设passwd文件中定义了A、B、C、D四个用户,下面将进行一些配置并对这些配置的含义进行说明。
[groups]groupA = A,B //定义群组groupA,它具有两个用户A、BgroupB = C,D //定义群组groupB,它具有两个用户C、D[/]* = r //在根目录所有用户有只读权限A = rw //在根目录用户A具有读写权限@groupB = rw //在根目录群组groupB具有读写权限[/目录A]C = w3一个SVN配置库1)2)目录下存3)SVN 过程中对SVN配置进行过修改(如添加一个新用户),则需要重启该SVN服务,即点击停止再点击开始。
3-1mySwapper配置界面4进行Check-out下面在客户端建立一个文件夹,进行SVN Checkout后,即可进行文件的上传、下载了。
相信下面的工作大家都很熟悉拉。
4-1进行Check-out4-2输入Svn配置库的url。
Linux下SVN部署安全及权限配置,实现web同步更新
[examPro:/]
@g_vip=rw
@g_fronter=r
@g_doc=r
[examPro:/protected/modules]
@g_vip=rw
@g_fronter=
*=
[examPro:/protected]
@g_doc=
对于以上代码的配置的详细说明,可以参考本文的参考文章[1]SVN权限配置,里面介绍的比较详细,这里就不多说,有疑问的请留言或mail;
Linux下SVN部署/安全及权限配置,实现web同步更新:
本文包含以下内容:
SVN服务器安装
SVN权限管理
SVN使用SASL加密
SVN上传时同步其它目录
需求
在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;
#export LANG=zh_CN.UTF-8
export LANG=en_US.UTF-8
2.设置SVN更新时需要同步更新的目录
svn update /alidata/www/examplePro --username yoursname --password yourpwd
以上这行表明,当svn服务器版本有更新时,则同步更新到/alidata/www/examPro目录下的对应文件;yoursname 和yourpwd是你在sasl中设置的用户名和密码;(这里还是涉及到了明文存放,对此,你可以分配一个用户对svn版本库只有全局的读权限)
现在,SVN就实现了版本管理的功能,同时,同步更新的目录有利于测试人员集成测试;
开发人员需要保证的是,任何时候签入到svn库中的版本是可运行的代码。
SVN安装配置教程
SVN安装配置教程SVN(Subversion)是一种版本控制系统,它能够管理并跟踪文件和目录的变更。
本文将介绍如何安装和配置SVN。
2.安装SVN3.创建SVN仓库SVN使用仓库(repository)来存储文件和目录的版本信息。
在安装完SVN后,你需要创建一个SVN仓库。
打开命令行终端,执行以下命令来创建一个空的SVN仓库:```svnadmin create /path/to/repository```注意,`/path/to/repository`是你想要创建的仓库的路径。
4.配置SVN仓库权限```# anon-access = none# auth-access = write```将`anon-access`的值改为`none`,将`auth-access`的值改为`write`。
这样只有认证用户才能访问仓库,并且具备写权限。
5.配置SVN用户认证```# password-db = passwd```然后创建一个名为`passwd`的文件,用于存储用户认证信息。
在`passwd`文件中添加用户名和密码,每行一个用户,格式为`username = password`。
6.启动SVN服务执行以下命令来启动SVN服务:```svnserve -d -r /path/to/repository```注意,`/path/to/repository`是你创建的SVN仓库的路径。
7.测试SVN连接在另一台机器上,使用SVN客户端工具连接到SVN服务器并检查是否能够正常访问仓库。
```svn co svn://hostname/path/to/repository```其中,`hostname`是SVN服务器的主机名,`/path/to/repository`是仓库的路径。
8.配置SVN客户端在SVN客户端上,你需要配置SVN用户认证信息,以便能够访问SVN 服务器。
在命令行终端中执行以下命令:```svn co svn://hostname/path/to/repository```该命令将提示你输入用户名和密码,以供认证使用。
svn的权限管理与设置
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSV N Server后,运行VisualSVN Server Manger,打开服务器的Visual SVN 界面:2、创建仓库(reposi tory)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“e mptyrepost ory”,则在代码库只创建空的代码库Sta rtKit,选下面的“singl e-projec t”则在代码库S t artK it下面会创建tru nk、branch es、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subver sionusers…所有svn用户都可以Custom ize permis sions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点cre ate创建)这里有个Re posit ory URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的b ranc hes,tags,trunk服务器版本我们现在右击整个仓库,就是MyBl og项目,我们现在来创建一个ad min管理员,用户名adm in,密码admi n,你可以在Us ers查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Us ers上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
svn:权限设置(创建用户和用户组、权限设置)
修改后相应的组或用户,就获得了对仓库的相应的权限 3、权限设置(项目) (1)鼠标右键查看项目的权限:
默认是跟仓库的权限保持一致的。 (2)修改项目的权限: 测试组只拥有read权限,开发组具有read和write权限,既可以查看又可以修改代码,保证了开发的安全有序。
请求出错错误代码400请尝试刷新页面重试
1、创建用户和组 (1)创建用户
svn: 权 限 设 置 ( 创 建 用 户 和 用 户 组 、 权 限 设 置 )
(2)创建组(输入组名称并添加用户)、
组限(也可以是分支和主干):
(2)点击ADD: (3)选择用户或组:
SVN安装配置, 权限, 目录访问
关键词:s version, 安装配置, 权限, 目录访问1 前言2 基本概念2.1 什么是版本控制2.2 什么是 S version2.3 版本库(repository)3 安装配置3.1 安装独立服务器 SVNServer3.2 安装 ApacheSVN 服务器4 FAQ5 参考资料1、前言花了72小时,终于把 S version 初步掌握了。
从一个连―什么是版本控制‖都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间。
其中费了许多气力,摸索实验了多次,还差点放弃了,但是收获是巨大的。
现把我的配置和学习过程写下来,供大家参考,也让初学者少走弯路。
以下仅以 Windows 平台为例讲解,Unix/Linux 平台请参考相关资料。
如其中有谬误的地方,包括错别字,请联系我修订。
技术在分享中进步!2、基本概念2.1、什么是版本控制简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。
这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。
2.2、什么是 S versionS version是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。
一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。
从这个方面看,许多人把版本控制系统当作一种―时间机器‖。
S version可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。
一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。
进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。
一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。
svn的权限管理与设置
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSVN Server后,运行VisualSVN Server Manger,打开服务器的 VisualSVN 界面:2、创建仓库(repository)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“empty repostory”,则在代码库只创建空的代码库StartKit,选下面的“single-project”则在代码库StartKit下面会创建trunk、branches、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subversion users…所有svn用户都可以Customize permissions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点create创建)这里有个Repository URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的branches,tags,trunk服务器版本我们现在右击整个仓库,就是MyBlog项目,我们现在来创建一个admin管理员,用户名admin,密码admin,你可以在Users查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。
svn服务器端配置库创建及配置方法
SVN服务器端配置库创建(Express版)1创建SVN配置库目录在某一路径下,点击鼠标右键-新建-文件夹,创建一个文件夹,并修改目录名(如MySVN,在本文档中称之为SVN配置库)。
右键点击该目录,选择TortoiseSVN-Create repository here。
(备注:“repository”是英文“储藏室”的意思)1-1Create repository创建SVN配置库2对SVN配置文件进行配置SVN配置库目录建立后,需要对配置文件进行配置。
进入配置库目录下的conf目录,其中有authz、passwd、svnserve三个文件,anthz配置用户权限、passwd配置用户名与密码、svnserve即为配置文件的配置文件。
在这三种文件中“#”为注释行起始符号。
另外需要注意的是,配置语句的每一行不能有多余的空格。
2.1svnserve文件的配置将整个文件中的内容替换为以下内容即可。
[general]anon-access = readauth-access = writepassword-db = passwd //定义passwd文件为用户名-密码数据库authz-db = authz //定义authz文件为权限管理数据库2.2passwd文件配置passwd文件主要用于设置用户名与密码,其语法格式为“用户名= 密码”。
如添加用户名为user,密码为pwd的用户,则可以使用如下方法实现:[users]user = pwd //定义用户user,其密码为pwd2.3authz文件配置authz文件主要用于设置用户所属群组,配置用户权限及群组权限。
群组信息在[groups] 标签下配置;某个目录的读写权限则在[某路径]标签下配置,r表示可读权限,w表示可写权限,rw表示可读可写权限。
假设passwd文件中定义了A、B、C、D四个用户,下面将进行一些配置并对这些配置的含义进行说明。
[groups]groupA = A,B //定义群组groupA,它具有两个用户A、BgroupB = C,D //定义群组groupB,它具有两个用户C、D[/]* = r //在根目录所有用户有只读权限A = rw //在根目录用户A具有读写权限@groupB = rw //在根目录群组groupB具有读写权限[/目录A]@ groupA = rw //在目录A群组groupA具有读写权限C = w //在目录A用户C具有写权限3开启SVN服务程序一个SVN配置库的配置过程至此就结束了,下面需要开启一个SVN服务,并以刚建立的SVN配置库MySVN作为配置库,才能使用。
svn安装及权限配置
svn安装及权限配置SVN安装及权限配置安装(svn://…访问方式的安装部署)1.安装svn-1.4.5-setup.exe2.将SVNService.exe拷贝到\Subversion\bin下,双击安装。
启动服务。
部署1.创建SVN仓库现在svn的目的位置上,创建相应文件夹,例如:E:/svnroot,然后开始→运行→cmd→输入命令:svnservice -install -d -r E:/svnroot2.启动svnservice服务3.创建项目仓库在svn仓库下创建项目的相应文件夹,例如:E:/svnroot/project1,然后开始→运行→cmd→输入命令:svnadmin create E:/svnroot/project1。
这时,在E:/svnroot/project1会出现conf、dav 等文件夹和文件。
4.有多个项目时,重复步骤3。
权限配置1.修改每个项目中的conf文件夹下的svnserve.conf文件:anon-access = noneauth-access = writepassword-db = ../../passwdauthz-db = ../../authz添加以上项目。
其中,../../passwd表示,向上两级文件夹下的passwd文件。
这样做的目的是,将所有项目的权限放在一个文件中控制。
2.设置加密和权限文件位置将其中一个文件夹下的passwd文件和authz文件拷贝到svnroot下,与每个项目的文件夹平行。
3.设置svn密码,修改passwd文件在【users】下添加用户名及密码,格式如下:用户名= 密码,例如:harry = harrysecret每个用户单独占一行,密码后不用添加任何分隔符号。
4.设置svn权限,修改authz文件:设置【groups】:按照一种规则,将所有人员分组,例如可以按照对每个项目、每个项目的不同权限进行分组,人员之间用逗号分隔,每个组单独占一行,结尾不需要任何分隔符号。
visualSVN_server权限配置使用说明
VisualSVN server使用配置说明一、VisualSVN server的配置简介VisualSVN Server适用于你的团队在Windows平台上使用,可以用来安装、配置和管理Subversion Server,其中包括了Subversion和一个管理控制台。
你可以使用Subversion client 连接到VisualSVN Server ,也可以用浏览器来快速浏览内容. 而且它可以帮助你将Subversion整合进Visual Studio.其官网下载地址:/server二、VisualSVN server的安装1、双击下载好的安装软件,出现下图点击上图Next,进入下图所示:点击复选框,点击Next,进入下图:设置如上图所示,进入下图:这里要求你填入VisualSVN Server的安装位置,以及选择服务器端口和连接协议,,在大多数情况下可以使用默认值。
点击Next完成VisualSVN server的安装。
三、V isualSVN server的使用3.1 管理控制台VisualSVN Server 提供了一个简单和直观的标准MMC snap-in管理控制台。
你可以通过“开始菜单→所有程序”或者通过标准MMC来访问它。
通过管理控制台,你可以很方便地创建新版本库或浏览已经存在的库。
同样,你可以管理对版本库的访问权限。
3.2 创建版本库可通过右键Repositories→Create New Repositories来创建,当创建一个新的版本库时,VisualSVN Server可以自动地创建默认的版本库结构(如:trunk、branches、tags文件夹)在创建之后,你需要设置版本库的访问权限,使版本库可以通过web浏览器(网址在下图右上部的灰色工具栏获取)或者各种Subversion客户端访问(访问方式参考各客户端的使用方法)。
3.3 创建用户选中Users,选择Create User右键菜单命令。
WINDOWS下搭建SVN服务器端的步骤
WINDOWS下搭建SVN服务器端的步骤在Windows操作系统下搭建SVN服务器端的步骤如下所示:2. 安装Subversion软件3.创建版本库打开命令行窗口,切换到合适的目录下,使用以下命令创建版本库:```svnadmin create <版本库路径>```其中,`<版本库路径>`是新创建版本库的存放路径,可以根据自己的需要选择合适的路径。
4.配置访问权限在`svnserve.conf`文件中,可以设置一些SVN服务器的配置选项。
例如,可以设置允许匿名访问,设置是否允许修改提交日志等。
在`passwd`文件中,可以设置SVN服务器的用户和密码。
每行代表一个用户的信息,格式为`用户名=密码`。
5.启动SVN服务器在命令行窗口中,使用以下命令启动SVN服务器:```svnserve -d -r <版本库路径>```其中,`<版本库路径>`是上述步骤创建版本库时指定的路径。
6.验证SVN服务器的运行状态在浏览器中输入`svn://localhost`,如果能够正常显示SVN服务器的验证信息,则说明SVN服务器已经成功运行。
至此,SVN服务器已经搭建完成。
根据需要,可以对版本库进行权限设置、添加用户、创建项目等操作。
可以使用SVN客户端工具进行后续的版本控制操作。
注意事项:- 确保安装的Subversion软件和操作系统的位数相匹配,即32位系统安装32位软件,64位系统安装64位软件。
- 在Windows系统中,可以将SVN服务器作为服务来启动,这样可以实现开机自动启动,并且在后台运行。
可以使用`sc`命令将SVN服务器注册为服务,具体操作可以参考官方文档或者相关教程。
-在配置访问权限时,可以根据需要设置不同的访问级别,包括读取权限、写入权限、修改权限等。
可以根据项目需求进行灵活配置。
SVN服务器搭建和配置
SVN服务器搭建和配置一、SVN服务器搭建1、安装Subversion(2)安装Subversion将subversion-1.2.3.tar.gz和zlib-1.2.3.tar.gz文件上传至服务器,在命令行窗口执行以下命令:# tar zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3# ./configure# make# make install# tar zxvf subversion-1.2.3.tar.gz# cd subversion-1.2.3# ./configure --with-zlib=/usr/local/zlib-1.2.3# make# make install上述步骤完成后,Subversion已经成功安装到服务器上。
2、搭建Subversion服务器(1)创建版本库创建一个名为repos的版本库,使用以下命令:# svnadmin create /data/svn/repos上述命令会生成以下文件夹:/data/svn/repos/ archivesconf db hooks locks README.txt(2)配置svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdrealm = My First Repository(3)配置passwd文件vi /data/svn/repos/conf/passwd,输入以下内容:[users]username = password(4)启动svnserve使用以下命令启动svnserve:# svnserve -d -r /data/svn/repos此时,Subversion服务器已经搭建完成,可以使用它进行版本控制了。
二、SVN服务器配置1、Apache + SVN(1)配置ApacheApache的安装及配置不在本文讨论范围内,读者可以参照我们其他文章。
Visual SVN权限配置
Visual SVN的权限配置是在SVN_ROOT根目录下面的三个文件内1)authz:Visual SVN账户权限配置;2)authz-windows:如果使用Windows域账户,权限配置在此文件配置;3)htpasswd:账户名及密码;注:SVN正常是在每个版本库内都有单独的权限配置文件,如project、office、public等目录内都会有单独的权限配置文件,而VisualSVN将所有版本库的权限配置集中到了根目录下面。
相对配置更加简单。
我们目前使用以下两种方式进行权限的设置:1、Visual SVN图形化控制界面在该界面可以实现如下功能:1)新建用户user;2)新建组Group并添加用户user;3)配置用户user或组group对产品库如Project、Office、Public的访问权限;2、手动修改authz文件进行权限配置,但是需要注意以下几点:1)authz文件为“UTF-8 无BOM”格式,在使用记事本打开修改保存之后需要注意避免修改格式。
建议使用UltraEdit进行修改并且保存为“UTF-8 无BOM”格式。
2)authz文件目前测试发现将其中Windows2008中Copy到XP系统内本身就会发生变化,如38k大小的文件会变成48k,在将xp内的authz不做任何修改copy会SVN_ROOT 中时,VisualSVN打开时依然会提示“……\authz:1: Section header expected”错误。
由此可见在Copy到XP时文件已经发生了修改。
具体原因不详,目前直接在windows2008 server当中进行修订并保存为“UTF-8无BOM”格式,验证OK。
验证Copy到windows7 64bits中没有文件大小无变化。
王新2014年5月4日。
svn权限设置总结
因为刚来一个新公司,公司里面svn用的不熟练,对权限这块管理的不是很严密,现在又要做配置库迁移,所以就做个权限测试总结,之前在网上看到很多重复的svn权限配置的文章,都感觉千篇一律,刚开始接触svn的人看着还有点绕,其实自己懂了svn权限的关键点,然后逐步尝试,这样的话效果会更好,下面就是我的实际操作,分享给大家,也给自己做个总结。
备注:本次测试的服务器是用的CollabNet Subversion Edge,客户端用的TortoiseSVN;测试过程分析:一.测试单独用户权限,不存在组的信息:测试一:svn_auth_file--用户文件配置内容:admin:$apr1$ExUVYcIZ$6HFRPa9ZFwrmj5krzW.ip0zhangshan:$apr1$N1nt8KdS$HAm0io/5OTIHKxI.D47NP1zhaoliu: zhaoliu说明:admin是登录http://192.168.0.240:3343/csvn/,系统自动生成的默认用户;zhangshan是在界面“用户--用户列表”中创建的;zhaoliu是在服务器端直接编辑svn_auth_file文件添加的;svn_access_file--权限文件配置内容:[/]* =admin = rw[LTest:/]zhaoliu = rw权限文件解析:[/]代表对所有仓库的权限也是根目录的意思;*= 代表所有人无任何权利,等后面再一步一步对人逐个设置权限;admin=rw 表示admin用户具备根目录下的读写权限;[LTest:/]表示仓库"LTest" 的访问权限;zhaoliu = rw 表示zhaoliu这个用户对LTest库下所有的内容有读写权限;测试结果:用admin和zhaoliu的账号可以检出LTest库,zhangshan不可以;用admin和zhaoliu的账号可以只检出LTest/document目录,zhangshan不可以;测试二:svn_auth_file--用户文件不变svn_access_file--权限文件修改为配置内容:[/]* =admin = rw[LTest:/]zhaoliu = rw[LTest:/document]zhaoliu = rzhangshan = rw测试结果:前一次的结果admin和zhaoliu的账号权限仍然有效;用zhangshan的账号不能检出LTest库,可以直接检出LTest/document目录,且可以对文件进行读写操作;测试三:svn_auth_file--用户文件不变svn_access_file--权限文件修改为配置内容:[/]* =admin = rw[LTest:/]liting = rw[LTest:/document]liting = rzhangshan = rw[LTest:/old]zhangshan = rw* =测试结果:1)前一次的结果admin和zhaoliu,zhangshan的账号权限仍然有效;2)用zhangshan的账号不能检出LTest库,可以直接检出LTest/old目录,且可以对文件进行读写操作;3)用zhaoliu的账号不能直接检出LTest/old目录,但是由于在[LTest:/]下zhaoliu是有读写权限的,所以在直接检出LTest时,只能检出document,在此继承[LTest:/document]的权限只能读不能修改文件;二.测试用户组权限:测试一:svn_auth_file--用户文件配置内容:admin:$apr1$ExUVYcIZ$6HFRPa9ZFwrmj5krzW.ip0zhangshan:$apr1$N1nt8KdS$HAm0io/5OTIHKxI.D47NP1zhaoliu: zhaoliuwangwu:wangwulishi:lishi说明:admin是登录http://localhost:3343/csvn/,系统自动生成的默认用户;zhangshan是在界面“用户--用户列表”中创建的;zhaoliu,wangwu,lishi是在服务器端直接编辑svn_auth_file 文件添加的;svn_access_file--权限文件配置内容:[groups]admin = admin, zhaoliudevelopers = zhangshan,wangwumanager = lishi[/]* =@admin = rw[LTest:/]@developers = r@manager = rw测试结果:用户组@admin,@manager可以检出LTest库且可以修改文件,@develop只能检出文件浏览,不能进行操作;测试二:增加内容:[LTest:/document]@developers = rwzhaoliu = r* =测试结果:1)用户组@developers可以检出整个LTest库,对document目录可读写,对old目录只读;2)用户zhaoliu,首先继承@admin用户组对根目录[/]下所有配置库的读写权限,其次遵守对LTest/document目录的只读权限,所以最后是可以检出整个LTest库,对document目录可读,对old 目录可读写;三.测试含有中文的文件夹权限设置svn_access_file--权限文件新增[TestChinaNameFolder:/]@manager = r@developers = r[TestChinaNameFolder:/00项目管理]@manager = rw* =[TestChinaNameFolder:/01用户需求]@developers = rw* =测试结果:1)用户组@admin继承根目录的读写权限,且TestChinaNameFolder库下的00和01两个子目录都设置了除某固定组外其他无法访问,@admin最终只能看到或checkout出除00和01以外的目录;2)用户组@manager继承[TestChinaNameFolder:/]库的只读权限,且在子目录00下拥有读写权限,且01设置固定组外其他无法访问,@manager最终对TestChinaNameFolder库下00子目录有读权限,无法看到01子目录;3)用户组@developers继承[TestChinaNameFolder:/]库的只读权限,且在子目录01下拥有读写权限,且00设置固定组外其他无法访问,@developers最终对TestChinaNameFolder库下01子目录有读权限,无法看到00子目录;svn权限设置总结:总的规则:svn权限是以文件夹作为区分的,svn权限有继承性,但是只以当前位置的权限为使用权限(可以在测试中看出);详细分析:1)[/]配置库根目录允许只有管理员有读写权限;2)[Repository:/]配置库目录的权限会影响用户对此配置库下所有子文件夹的权限;但是某个子文件夹的权限,只对具体设置的某个组或用户有效,若有* = ,则其他用户无法看到此文件夹,若无* = ,则其他用户的权限会继承上层权限,若上层权限没有则此处也没有;比如:在“单个用户权限测试”测试三中,用户liting对LTest整个库有读写权限,但是对库下面的doucument 文件夹只有只读权限,那就只能浏览文件,不能对文件进行修改删除;她对库下面的old文件夹没有权限,在执行检出命令时,也就不会检出old文件夹;3)* = 在子文件夹中谨慎使用,如果在子文件夹中设置了此权限,就表示设置权限的这个目录除了已有用户对此有对应权限外,其他用户是看不到此目录的,像隐藏起来了;比如:在“用户组权限测试”测试二中,用户组@manager和@admin继承测试一中的群组权限,对LTest 配置库有读写权限,但是对于在测试二中的设置,除了用户组@developer能直接检出document且可进行读写外,其他用户组,不能直接检出该目录,且在LTest根目录下检出的内容只有old目录,没有document;4)在设置权限时候,一般[/]根目录给svn管理员开放读写权限,其他设置无权限;对于具体的配置库,针对于相关的用户组设置读写,对于配置库的子目录不需要看到的用户组使用* = 控制;5)在具体配置库下面拥有只读或者读写权限的用户或组,若某子目录中设置* = 且未给此用户或组设置只读或读写权限,则在浏览或checkout配置库时该用户或组看不到此子目录;6)在配置svn权限的时候,需要考虑到子目录对上层目录权限的继承性,这样才能精确的配置好权限;7)如果svn配置库结构有涉及到中文的,必须把权限文件的字符编码转换成UTF-8,权限才会生效:具体方法:用UE打开权限文件,选择“文件--另存为--格式--UTF-8 无BOM”,就可以了;。
linux环境svn使用方法
linux环境svn使用方法摘要:1.SVN简介与安装2.配置SVN客户端3.创建与克隆仓库4.提交与更新代码5.合并与解决冲突6.团队协作与权限管理7.常见问题与解决方法8.实战案例分享正文:一、SVN简介与安装1.SVN(Subversion)是一个开源的版本控制系统,用于管理分布式团队之间的源代码。
2.安装SVN:在Linux环境下,可以通过软件包管理器(如apt、yum 等)安装SVN。
二、配置SVN客户端1.设置SVN代理:在客户端机器上配置SVN代理,以便访问远程仓库。
2.配置SVN用户名和密码:在客户端机器上设置SVN用户名和密码,以备后续使用。
三、创建与克隆仓库1.创建本地仓库:在本地机器上创建一个新的SVN仓库。
2.克隆远程仓库:通过SVN客户端克隆远程仓库到本地机器。
四、提交与更新代码1.提交代码:将本地仓库的修改提交到远程仓库。
2.更新代码:从远程仓库拉取最新代码到本地仓库。
五、合并与解决冲突1.合并代码:将不同团队成员的修改合并到同一个分支。
2.解决冲突:在合并过程中遇到冲突时,学会使用SVN的冲突解决机制。
六、团队协作与权限管理1.创建分支:为不同团队成员创建单独的分支,以便并行开发。
2.权限管理:通过SVN对仓库和分支进行权限控制,保障团队协作的安全性。
七、常见问题与解决方法1.无法连接远程仓库:检查网络连接、SVN服务器配置等问题。
2.代码冲突:使用SVN的冲突解决机制,或切换到其他分支进行开发。
八、实战案例分享1.以实际项目为例,分享SVN在团队协作中的具体应用。
2.介绍SVN在不同场景下的优势和劣势。
通过以上步骤,您可以更好地在Linux环境下使用SVN进行版本控制和团队协作。
配置管理之SVN使用
配置管理之SVN使用配置管理是软件开发过程中不可或缺的一环,它涉及到版本控制、配置项的管理、更改控制和发布管理等多个方面。
在配置管理中,版本控制是最基础的一个环节。
而在版本控制工具中,SVN(Subversion)是一种被广泛使用的开源版本控制系统,本文将介绍SVN的基本使用方法。
一、SVN的安装和配置2. 创建仓库:SVN的核心概念是仓库(repository),开发者将项目的所有版本和相关的文件都存储在仓库中。
在命令行中进入合适的目录,执行以下命令创建一个新的仓库:svnadmin create <repository_name>二、SVN的基本操作svn checkout <repository_url> <local_directory>2. 添加(Add)文件:在检出项目后,你可能需要添加新的文件到项目中。
使用以下命令可以将文件添加到SVN中:svn add <file_name>3. 更新(Update)项目:当其他开发者对项目进行了修改并提交到仓库中后,你可以使用以下命令将这些修改同步到你的本地工作环境中:svn update5. 查看日志(Log):使用以下命令可以查看项目的提交记录和详细信息:svn log6. 比较文件(Diff):使用以下命令可以比较两个或多个文件的差异:svn diff <file_name>7. 回滚版本(Revert):如果你对文件进行了错误的修改或不满意的修改,可以使用以下命令将文件回滚到之前的版本:svn revert <file_name>8. 分支和合并(Branching and Merging):SVN还支持分支和合并功能,这使得不同版本可以同时进行开发。
使用以下命令可以创建和合并分支:svn copy <source> <destination>svn merge <source> <destination>三、SVN的高级用法svn copy <source> <tag>2.锁定:在一些情况下,你可能需要锁定一些文件以防止其他人进行修改。
CentOS6.5搭建SVN服务(目录权限设置)
centOs6.5 SVN服务器搭建搭建后根据权限需求不同可以设定不同目录的访问权限。
第一步,安装SVN1.yum install subversion第二步,创建SVN版本库的目录1.mkdir -p /var/svn/svntest第三步,创建版本库1.svnadmin create /var/svn/svntest执行完上面命令后会生成如下文件,说明版本库创建成功:第四步,进入conf目录配置该版本库的文件:authz文件是权限控制文件passwd是帐号密码文件svnserve.conf SVN服务配置文件第五步,配置passwd,语法:用户名= 密码,我的配置如下:1.[users]2.czj = mmt.20153.xhb = xu85686827第六步,配置authz用户权限文件,rw是有读写权限,w只有读权限:1.[groups]2.admin_group = czjer_group = xhb4.5.[/userfile]6.@user_group = rw7.@admin|_group = rw8.[/adminfile]9.@admin_group = rw第七步,配置svnserve.conf文件,基本上一进去就看到都是被注释掉的,所以要打开下面几个注释:anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /var/svn/svntest # 认证空间名,版本库所在目录第八步,启动SVN版本库,大功告成:1.启动SVN svnserve -d -r /var/svn/svntest2.关闭SVN ps aux | grep -i svnkill 2603最后你可以在电脑上做测试了,建立一个对应的adminfile文件夹,Checkout一下你配置的版本库,输入你刚刚配置的admin_group对应的文件路径:这样用admin_group组对应的用户登陆就可以访问adminfile目录建立一个对应的userfile文件夹,Checkout一下你配置的版本库,输入你刚刚配置的user_group对应的文件路径:这样用user_group组对应的用户登陆就可以访问userfile目录,同时authz文件设置了admin_group组对userfile目录也有访问权限,所以admin_group对应的组员亦可访问此目录。
svn的权限管理与设置知识讲解
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSVN Server后,运行VisualSVN Server Manger,打开服务器的 VisualSVN 界面:2、创建仓库(repository)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“empty repostory”,则在代码库只创建空的代码库StartKit,选下面的“single-project”则在代码库StartKit下面会创建trunk、branches、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subversion users…所有svn用户都可以Customize permissions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点create创建)这里有个Repository URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的branches,tags,trunk服务器版本我们现在右击整个仓库,就是MyBlog项目,我们现在来创建一个admin管理员,用户名admin,密码admin,你可以在Users查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### section, or to anyone using the '*' wildcard. Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
authz-db = ..\..\authz
以此类推。
在实战过程中,处于安全的考虑,我们往往要限制对匿名用户的访问权限,所以我们可以将anon-access = read前面的“#”去掉,并将read参数修改为none,表明禁止匿名用户对版本控制库的访问。
### This file controls the configuration of the svnserve daemon, if you
[groups]
# harry_and_sally = harry,sally
dev_group = nicholas,friend
test_group = stranger
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# [/foo/bar]
# [repository:/baz/fuz]
下面,我们介绍一下用户组的概念。所谓用户组,顾名思义,就是一个成员组,一般情况下,在同一个成员组的人员享有同样的权力,比如读,写权。Subversion为我们提供了一个很好的用户组应用。
在之前,我们一共建立三个用户,nicholas,friend和stranger,我们现在设想一下我们的组情况,假设我们希望nicholas和friend在开发组中,这两个用户具有读和写的权力,而用户stranger在测试组中,只具备读的权力。那么我们该如何来控制这个权限呢?看看下面的代码:
# harry = harryssecret
# sally = sallyssecret
样的样板代码,意思就是有两个用户,其中一个的用户名叫“harry”,密码为“harryssecret”,而另一个用户名为“sally”,密码为“sallyssecret”。我们接下来为我们的测试下面添加一些用户,这样方便我们下面的说明。比如,我要添加三个用户,一个叫做“nicholas”,密码为“nicholas”,第二个用户名为“friend”,密码为“friend”,第三个为“stranger”,密码为“strangers”。
我们使用如下代码:
@dev_group = rw
@test_group = r
这就定义了,对TestSVNProj项目,dev_group用户组可以进行读,写操作,而test_group用户组则只具备读的权限。
为了阻止其他用户组对这个文件有读的权力,我们可以再添加的权力为空,也就是没有权力。
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
nicholas = nicholas
friend = friend
stranger = stranger
下面,我们来介绍authz这个文件,这个文件是控制权限的关键。
同样打开这个文件,你会看到一些注释掉的语句,
# [groups]
记录额外的信息来追踪混合修订版本,并且也需要能容忍这种混合,当目录本身也是版本化的时候情况更加复杂。
③:
三.本地目录笔记:
①: D:\SVN_SERVER_FODLER\ SVN本地服务目录
②:
四.创建版本库命令行记录:
①: svnadmin create D:\SVN_SERVER_FODLER 创建档案库
为了让我们刚刚配置的两个文件(passwd和authz)起作用,我们需要去掉password-db = passwd和authz-db = authz前面的注释符“#”,让Subversion知道要从上面两个文件中读取相关信息。
当然,你也可以指定其他的认证文件,写法如下:
password-db = ..\..\passwd
group权限设定:
我们会在目录结构中找到一个叫做conf的文件夹,打开这个文件夹,你会看到三个文件,分别叫做authz,passwd,svnserve.conf。
下面我们就来介绍一下这三个文件的作用格式什么。
首先,我们介绍passwd这个文件。
用你习惯的文本编辑器打开这个文件,你会看到一些使用“#”注释掉的说明,其中关键的就是在[users]下面,有
# @harry_and_sally = rw
# * = r
[/TestSVNProj]
@dev_group = rw
@test_group = r
* =
最后,我们在来说说这个svnserve.conf文件,打开这个文件,我们就可以看出这个是Subversion权限配置的主文件,类似于读取相关信息的枢纽。
下面,我们为两个组来分配权限。
首先我们要为这两个组所能访问的工程做一个规定,正如在之前的文章《Eclipse中使用Subversion进行版本控制》中,曾经向版本参考提交了一个名为“TestSVNProj”的项目,下面我就假设刚刚建立的两个用户组都需要最这个工程进行操作。
我们在authz文件中,写下[TestSVNProj],这个是指定我们下面将对TestSVNProj项目进行定义。
②: D:\SVN_SERVER_FODLER\conf 目录下设置权限
D:\SVN_SERVER_FODLER\conf\svnserve.conf 设置存取权限
D:\SVN_SERVER_FODLER\conf\passwd 设置用户及密码
D:\SVN_SERVER_FODLER\conf\authz 设置用户组 及用户对应的目录权限
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = none
# auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
②:Subversion 有一个基本原则就是一个“推”动作不会导致“拉”,反之亦然,因为你准备好了提交你的修改并不意味着你已经准备好了从其他人那里接受修改。
如果你的新的修改还在进行,svnupdate将会优雅的合并版本库的修改到你的工作副本,而不会强迫将修改发布。这个规则的主要副作用就是,工作副本需要
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory. If you don't specify an authz-db, no path-based access
我们先在[groups]标记下面,输入组的名称:
dev_group = nicholas, friend
test_group = stranger
到目前为止,我们已经为三个用户分好了用户组,其中nicholas和friend在dev_group中,而stranger则在test_group中。
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a