`
laotu5i0
  • 浏览: 141005 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Subversion权限配置的一些参考(纯svn和基于apache)

    博客分类:
  • svn
阅读更多

安全和权限

-          对于以svnserve -d启动的服务器,修改代码库目录/conf/svnserve.conf,主要步骤:(在配置文件中,变量前不要有空格。)

1)        对于svnserve.conf,注意[general]段,其中4项的主要含义:

Ø         anon-access 定义匿名用户的权限(writereadnone)。

Ø         auth-access 定义认证过用户的权限(writereadnone

Ø         password-db 定义用户密码列表文件名

Ø         realm 一般是版本库的uuid。如果有2个版本库的这个属性一样,那么password-db的值也必须一样。反之亦然。

2)        定义用户密码列表文件内容,格式:

[users]

    用户名=密码,注意这个是大小写敏感的。

3)        启动服务器,在提示用户输入安全信息时,缺省是用户的OS的登录名,此时直接提示输入密码。如果密码不对,则会提示输入用户名,然后是密码。

例子:

svnserve.conf

[general]

### 禁止匿名用户访问

 

anon-access = none

### 验证过的用户具有读写权限

 

auth-access = write

### 定义用户密码列表文件名文件名为

userlist.txt

 

 

password-db = userlist.txt

### 定义

realm

 

 

realm = My First Repository

用户密码列表文件名

userlist.txt

[users]

foxgem1=foxgem1

对于这种方式,无法定义对于代码库下具体目录的权限。如果有这个需要,那么可以采用与Apache2集成的方式解决。

-          对于与Apache2集成的服务器,修改httpd.conf,主要步骤:(需要在Apache2中配置mod_authz_svn,建议先安装Apache2,再安装Subversion。此处主要是利用Apache2对于目录的访问控制,可以从Apache2的手册中获得更多的信息。)

1)        使用htpasswd建立userlist。如果文件不存在,那么使用htpasswd -cm;文件存在,则使用htpasswd -m。其中c代表createm代表使用MD5加密口令。如:

   $ ### First time: use -c to create the file

   $ ### Use -m to use MD5 encryption of the password, which is more secure

   $ htpasswd -cm /etc/svn-auth-file harry

    New password: *****

    Re-type new password: *****

    Adding password for user harry

   $ htpasswd /etc/svn-auth-file -m sally

    New password: *******

    Re-type new password: *******

    Adding password for user sally

 

 

 

2)        httpd.conf中的<location>2种使用方式:

Ø         只允许指定用户

    <Location /svn>

       DAV svn

       SVNParentPath /usr/local/svn

      

AuthType Basic

 

 

       AuthName "Subversion repository"

 

 

 

       AuthUserFile /etc/svn-auth-file

 

 

 

       Require valid-user

 

 

 

    </Location>

Ø         对于指定操作之外的用户,应用权限认证

    <Location /svn>

       DAV svn

       SVNParentPath /usr/local/svn

      

AuthType Basic

 

 

       AuthName "Subversion repository"

 

 

 

       AuthUserFile /path/to/users/file

 

 

 

       # 对于get操作之外,需要验证。

 

       <LimitExcept GET PROPFIND OPTIONS REPORT>

 

 

 

          Require valid-user

 

 

 

       </LimitExcept>

    </Location>

3)        以上2步建立了和svnserve -d相同的访问控制。如果要应用目录控制,那么:

a)         建立目录访问策略文件,文件格式与svnserve.conf的语法类似。对于每个要控制的路径:

[repos-name:path][path]

username= r,rw

如果没有提及用户,那么就没权限;如果指明用户,但是等号右边什么也不写,即是显式的拒绝。如果左边使用*,则表示所有的用户。对于使用了SVNParentPath,需要指明repos-name。否则,可以省略。在文件中还可以使用[groups]建立组,例子:

[groups]

calc-developers = harry, sally, joe

paint-developers = frank, sally, jane

everyone = harry, sally, joe, frank, sally, jane

 

 

[calc:/projects/calc]

###使用时注意,组名前有@

@calc-developers = rw

[paint:/projects/paint]

@paint-developers = rw

jane = r

 

 

 

b)        <location>中使用AuthzSVNAccessFile,典型的3种配置方式:

方式一:允许匿名存取

<Location /repos>

       DAV svn

       SVNParentPath /usr/local/svn

      

AuthzSVNAccessFile /path/to/access/file

 

 

    </Location>

方式二:不允许匿名存储

 

    <Location /repos>

       DAV svn

       SVNParentPath /usr/local/svn

      

AuthzSVNAccessFile /path/to/access/file

 

 

       # 只有认证用户可以存取

 

       Require valid-user

 

 

 

       # 认证方式

 

       AuthType Basic

 

 

 

       AuthName "Subversion repository"

 

 

 

       AuthUserFile /path/to/users/file

 

 

 

    </Location>

方式三:方式12的混合模式

 

<Location /repos>

       DAV svn

       SVNParentPath /usr/local/svn

      

AuthzSVNAccessFile /path/to/access/file

 

 

       # 先尝试匿名,如果不行再尝试认证用户

 

       Satisfy Any

 

 

 

       Require valid-user

 

 

 

       # 认证方式

 

       AuthType Basic

 

 

 

       AuthName "Subversion repository"

 

 

 

       AuthUserFile /path/to/users/file

 

 

 

    </Location>

例子:

httpd.conf

 

 

 

<Location /repo>

    DAV svn

    svnpath D:/studycases/subversion/repository

    AuthzSVNAccessFile D:/studycases/subversion/pathright.txt

    Satisfy Any

    Require valid-user

    AuthType Basic

    AuthName "Subversion repository"

    AuthUserFile D:/studycases/subversion/svnuser.txt

</Location>

用户密码列表文件名

svnuser.txt

foxgem:$apr1$kY/…..$rXDeLPlm9b0uacF7zM.dl.

(注意这是使用htpasswd产生的)

 

目录访问策略文件

pathright.txt

 

[/project]

foxgem= r

[/test]

foxgem=rw

分享到:
评论

相关推荐

    apache配置SVN,Subversion权限控制,win2008 FTP配置权限访问

    详细的apache配置SVN Subversion win2008 FTP服务器配置及多用户权限访问的配置过程。本人都配置过。完全没问题

    Apache-Subversion-1.14.2

    Apache Subversion(简称 SVN)是一个开源的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,共享和追踪项目代码的不同版本。下面是一些关于 Apache Subversion 的要点: 版本控制:SVN ...

    SVN-Apache2.2.8安装配置说明

    4.4 配置用户和权限 11 4.4.1 版本库配置文件布局 11 4.4.2 配置文件说明 12 4.4.3 修改配置文件 14 4.5 运行独立服务器 16 4.5.1 守护模式 16 4.5.2 将svnserve安装为系统服务 16 5 Apache服务器安装配置 17 5.1 ...

    svn + apacha 的安装文档

    完整的svn + apache配置文档 第一步,先检查是否安装了下面软件包 #rpm -q subversion httpd mod_dav_svn 如果没有请安装他们! 第二步,建立一个用户,用于管理SVN版本库 useradd -m -s /bin/bash svn 第...

    svn-1.4.3-setup.exe.7z

    mod_authz_svn 模块可以根据用户名和路径实现细粒度的权限控制,它对 Apache 服务器有效,在 Subversion 1.3 以上版本的 svnserve 中也实现了基于路径的授权。 一个可能的例子: [groups] admin = john, kate ...

    svn1.8.3所有安装文件及安装配置说明

    服务器官网下载:http://subversion.apache.org/packages.html 客户端官网下载:http://tortoisesvn.net/downloads.html 1. 安装服务器Setup-Subversion-1.8.3.msi,安装路径D:/Program Files/TortoiseSVN 2. 安装...

    SVN软件(服务器端+客户端+说明文档)

    VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理。 如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要...

    SVN与CVSpdf格式详细说明书

    配置步骤:安装完毕之后就开始了APACHE与SVN的整合配置。 (1),将SVN的bin目录下的扩展名为*.so的文件复制到apache的modoles文件夹下 (2),将SVN的bin 目录下的扩展名为*.dll的文件复制到apache的bin文件夹下 ...

    【精华】 VisualSVN-Server

    因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置...

    一步一步教你构建SVN服务器.rar

    包括APACHE、SVN和客户端的安装及配置。 step1、安装apache服务器。 版本:httpd-2.2.15-win32-x86-no_ssl.msi 目录:E:\Apache2.2 验证安装结果:IE中输入:http://localhost,显示:"It works!" ok. step2、安装...

    CollabNetSubversionEdge-5.2.3_linux-x86_64.tar.gz

    首先说CSVN,其实可以简单理解为SVN+Apache的集成版本,当然CSVN还有其他的一些特性(角色的用户管理,灵活的角色和权限配置以及LDAP认证,基于角色的多仓库管理,自动备份、恢复,以及模板和Rest APIs管理),可以...

    Apache+Svn展示版本库文件-上线WordPress项目

    获取svn软件工具,可参考官网链接 ... 需要注意的是 上传httpd的subversion.conf子配置文件到/etc/httpd/conf.d/ 安装apahce、svn和必要dav模块 ...创建svn权限管理文件和访问认证文件 su - svn mkdir /home/svn

    svnadmin-3.0.5-官方源版.zip

    多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:...

    VisualSVN_Server的配置和使用方法.docx

    因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置...

    svnadmin-SNV

    4.进入Subversion安装目录\Subversion\bin\ 把 mod_authz_svn.so和mod_dav_svn.so 拷贝到 JspStudy\Apache\modules 目录下 5.进入Subversion安装目录\Subversion\bin\ 把 libsvn_delta-1.dll libsvn_fs-1.dll libsvn...

    TortoiseSVN客户端程序

    五、配置用户和权限 用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf: 将: # password-db = passwd 改为: password-db = passwd 即去掉前面的 # 注释符,注意前面不能有空格。 然后修改同目录的...

    VisualSVN 5.1.3 破解版

    VisualSVN Serve集成了Subversion和Apache,简化了手工配置Subversion的繁琐步骤...VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理。

    VisualSVN_Server安装_配置_使用图文教程.doc

    因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置...

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    笔者有幸接触过以下几种常用的配置管理工具:VSS、SVN、Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,不一定准确,只是希望通过这些总结对自己和初学者有所帮助。如果想进一步了解这些工具...

    VisualSVN Server 4.0以上.rar

    VisualSVN Server集成了Subversion和Apache,安装的时候Svn Server已经封装为windows service(如果改变VisualSVN Server的URL的时候,VisualSVN Server会自动重启服务,非常方便),Apache服务器的配置也只是在图像...

Global site tag (gtag.js) - Google Analytics