Subversion 基于 Apache 使用时用户权限的管理
2005-04-05 11:24
531 查看
Subversion 项目和用户权限配置指南:
一、Subversion 的两种使用方式:
1、Apache 站点方式;
2、本地命令行方式。
当然,我们也可以通过客户端来进行访问,但那也必须先建立上述
两种访问接口。
二、Apache 方式的配置
第一种方式我们需要安装 Apache 服务器程序,同时需要安装两个模
块:
mod_dav_svn 以及 mod_authz_svn
他们可以在 Subversion 的站点上找到,请在附录中查找链接。
将所有需要的模块安装之后,我们必须编辑 Apache 的配置文档,让
其将我们要用的模块装载。一般来说,Apache 的配置文件是 httpd.conf
。位置一般在 Apache 安装目录下的 conf 子目录中。而模块我们一般放
在 modules 子目录中。我们在配置文件 httpd.conf 中加入:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
这样,Apache 就可以访问 Subversion 的仓库了。
三、Apache 方式中项目的发布
首先还是要先建立 Subversion 的项目,例如:
svnadmin create /home/svn/projectA
之后,在 httpd.conf 文件中加入:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
</Location>
如果是想建立多个项目的话,可以使用另一种写法:
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
这样,凡是在 /home/svn 目录下的子目录, Apache 都交给 Subversion
DAV 去处理。用户即可以通过浏览器或者URL访问 Subversion 管理的项
目了。
四、Apache 方式下的权限管理
首先,我们来创建一个用户 robert。
由于是第一次创建用户,我们必须同时创建一个用户口令文件:
htpasswd -c authfile robert
这时,会提示输入用户密码以及确认用户密码。htpasswd 程序会将
用户密码进行散列运算后保存在 authfile 中。创建第二个用户时,我们
就不必输入 -c 开关了。
htpasswd authfile harry
如果想要删除某个用户,我们可以使用下列指令:
htpasswd -D authfile harry
这样,harry 就被从 authfile 中删除了。
这时,Subversion 的权限管理问题就转化为了 Apache 的权限管理问
题了。我们将前述的目录配置做一下修改:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
这样,对 projectA 访问就必须提供 authfile 中记录的用户和正确密码
才可以进行了。
五、Apache 方式下的分组管理
有时,我们希望能够将多个开发人员编为一组,使用组的方式来为
项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取
。下面我们来介绍其配置方法。
这里,我们就要用到 mod_authz_svn 提供的功能了。我们对
httpd.conf 中的目录配置再做一次修改:
<Location /projectA>
DAV svn
SVNParentPath /home/svn/
AuthzSVNAccessFile /home/svn/authz.conf
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
大家可以注意到,这里使用了另一个配置文件:authz.conf
他的大致结构如下:
[groups]
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
groupA = robert, zhangq
groupB = orcus, tommy
[projectA:/]
@groupA = rw
@everyone = r
[projectB:/]
@everyone = r
@groupB = rw
Ok, 我想大家应该已经明白了基于组和项目的管理方法了。:)
附录:
1、获取最新安装包:
http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/
一、Subversion 的两种使用方式:
1、Apache 站点方式;
2、本地命令行方式。
当然,我们也可以通过客户端来进行访问,但那也必须先建立上述
两种访问接口。
二、Apache 方式的配置
第一种方式我们需要安装 Apache 服务器程序,同时需要安装两个模
块:
mod_dav_svn 以及 mod_authz_svn
他们可以在 Subversion 的站点上找到,请在附录中查找链接。
将所有需要的模块安装之后,我们必须编辑 Apache 的配置文档,让
其将我们要用的模块装载。一般来说,Apache 的配置文件是 httpd.conf
。位置一般在 Apache 安装目录下的 conf 子目录中。而模块我们一般放
在 modules 子目录中。我们在配置文件 httpd.conf 中加入:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
这样,Apache 就可以访问 Subversion 的仓库了。
三、Apache 方式中项目的发布
首先还是要先建立 Subversion 的项目,例如:
svnadmin create /home/svn/projectA
之后,在 httpd.conf 文件中加入:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
</Location>
如果是想建立多个项目的话,可以使用另一种写法:
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
这样,凡是在 /home/svn 目录下的子目录, Apache 都交给 Subversion
DAV 去处理。用户即可以通过浏览器或者URL访问 Subversion 管理的项
目了。
四、Apache 方式下的权限管理
首先,我们来创建一个用户 robert。
由于是第一次创建用户,我们必须同时创建一个用户口令文件:
htpasswd -c authfile robert
这时,会提示输入用户密码以及确认用户密码。htpasswd 程序会将
用户密码进行散列运算后保存在 authfile 中。创建第二个用户时,我们
就不必输入 -c 开关了。
htpasswd authfile harry
如果想要删除某个用户,我们可以使用下列指令:
htpasswd -D authfile harry
这样,harry 就被从 authfile 中删除了。
这时,Subversion 的权限管理问题就转化为了 Apache 的权限管理问
题了。我们将前述的目录配置做一下修改:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
这样,对 projectA 访问就必须提供 authfile 中记录的用户和正确密码
才可以进行了。
五、Apache 方式下的分组管理
有时,我们希望能够将多个开发人员编为一组,使用组的方式来为
项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取
。下面我们来介绍其配置方法。
这里,我们就要用到 mod_authz_svn 提供的功能了。我们对
httpd.conf 中的目录配置再做一次修改:
<Location /projectA>
DAV svn
SVNParentPath /home/svn/
AuthzSVNAccessFile /home/svn/authz.conf
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
大家可以注意到,这里使用了另一个配置文件:authz.conf
他的大致结构如下:
[groups]
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
groupA = robert, zhangq
groupB = orcus, tommy
[projectA:/]
@groupA = rw
@everyone = r
[projectB:/]
@everyone = r
@groupB = rw
Ok, 我想大家应该已经明白了基于组和项目的管理方法了。:)
附录:
1、获取最新安装包:
http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/
相关文章推荐
- Subversion 基于 Apache 使用时用户权限的管理
- msyql用户权限管理使用
- Django权限系统auth模块详解 转自:原文出处 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。 auth可以和admin模块配合使用, 快速建
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)基于SpringMVC+Shiro的用户登录权限验证
- 基于Apache的Subversion权限配置
- vsftpd+mysql+apache实现给虚拟用户分配不同目录及权限并实现远程管理
- ASP.NET MVC4 SimpleMembership 基于角色的权限管理机制(一)--基本配置与使用
- django 基于proxy实现用户权限管理
- 02.Apache FtpServer使用数据库管理用户
- LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用
- 框架 day54 BOS项目练习(权限/角色/用户管理(CRUD),基于数据库实现动态授权,ehcache缓存权限,shiro标签,菜单权限展示)
- AngularJS内置服务$http的使用——用户权限管理实例
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限
- 运维笔记4(用户信息涉及到的文件,用户管理命令,用户权限的下放,更新:关于useradd -b -d -m -k的一些理解和使用)
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)基于SpringMVC+Shiro的用户登录权限验证
- Spring Security教程(6)---- 使用数据库管理用户及权限
- Jenkins使用教程之用户权限管理(包含插件的安装)
- MySql用户角色管理及权限分配(使用MySQLMembershipProvider和MySqlRoleProvider)
- 【Jenkins教程四】基于【Role-based Authorization Strategy】的用户权限管理
- 【Jenkins教程四】基于Role-based Authorization Strategy的用户权限管理