作者:张元一
这篇文章的基础是:为CVS建立只读用户,如果你对CVS不太了解,我建议你在这篇文章之前先读一下那篇文章或者其他的介绍CVS的文章以对CVS有一个大致的了解。
在上一篇文章中我们讲到了如何为CVS建立只读用户,但是在有些应用中,可能一个CVS服务器上存在有多个项目,也就是多个仓库,那么如何对这些项目进行权限管理呢?能不能让一个用户对这个项目具有写权限,而对其他项目只具有读取权限呢?答案是可以的,下面我们通过一个例子来介绍具体的实现方法:
假设你的CVS服务器上有两个项目:proj(一个正在开发的项目)和prac(一个用户公司实习人员练习的项目),而你打算建立4个用户:admin,projdev,pratice,anonymous,这4个用户分别如下:
admin----管理员,对两个项目都拥有读写权限
projdev----proj开发人员,你希望它只对proj拥有写权限,对于test拥有读权限
practice----公司新来的实习生,你希望他只对prac具有写权限,但是又不希望他看到proj中的东西
anonymous----匿名用户,对于他们,你希望他们只能读取prac项目。
下面就来讲解实现的步骤:
第一步,创建用户和群组,
groupadd cvsgroup
groupadd project
groupadd practice
adduser cvsroot -d /home/cvsroot
adduser project -d /home/cvsroot
adduser practice -d /home/cvsroot
adduser cvspub -d /home/cvsroot
-d的作用是为用户指定主目录,这里只为cvsroot用户创建主目录,然后编辑/etc/group文件,是用户和组的关系如下:
cvsgroup:cvsroot,project,practice,cvspub
project:project,cvsroot
practice:practice
然后进入/home/cvsroot目录,输入如下命令:
chmod 770 proj
chown -c cvsroot:project proj
chmod 775 prac
chown -c cvsroot:practice prac
其中第一、二句指定proj文件夹只有同组的用户才对其拥有读写权限,并且它属于cvsroot用户和project组。第三、四句指定prac文件夹只有同组的用户对其具有读写权限,其他用户具有读取和执行权限。
假设你已经按照我上一篇文章说的,将CVS的LockDir设成了/var/lock/cvs,那么你应该在这个目录下建立两个文件夹:
mkdir proj
chmod 771 proj
chown -c cvsroot:cvsgroup proj
mkdir prac
chmod 771 prac
chown -c cvsroot:cvsgroup prac
之所以要将这两个文件夹的组设为cvsgroup是为了保证所有的用户都可以正确访问它。
接下来,你需要编辑$CVSROOT/CVSROOT/目录下的passwd文件,为这四个用户设置相应的密码和对应的系统帐户:
admin:密码:cvsroot
projdev:密码:project
practice:密码:practice
anonymous::cvspub
然后编辑writers文件:
admin
projdev
practice
编辑readers文件:
anonymous
这样就已经实现了你所需要的权限控制了。当然你也可以将这个例子再扩展到更复杂的情况,但是应该注意下面几点:
1.让所有的用户对应的系统用户都属于cvsgroup组,并且LockDir目录下的所有目录都属于cvsgroup组,这样可以确保每个用户都可以正确的读取项目文件。
2.为每个项目都建立一个单独的用户和组,让这个项目所在的文件夹属于cvsroot用户和这个项目的组,这样可以保证cvsroot用户对所有的项目都有权访问。
3.将所有对项目x具有写权限的用户加入这个项目对应的组。
4.对于只读用户,不要让它们加入任何组(除了cvsgroup)
5.由于CVS默认一个用户拥有读取权限,因此如果要禁止一个用户访问一个项目,那个不要将这个用户加入这个项目的组,并将这个项目的访问权限设为770,否则设为775。
其实对CVS的权限控制就是对项目文件夹访问权限和用户以及readers,writers文件设定的权限的组合,只要运用得当就可以组合出任意复杂的权限控制来。
分享到:
相关推荐
教你如何分配cvs的用户权限
CVS权限控制图文教程 包括:帐户设定、group应用
cvs 版本控制 软件项目管理 cvs 版本控制 软件项目管理
CVS实现小组同步开发
CVS项目版本控制工具
CVS版本控制简明使用手册 CVS版本控制简明使用手册
CVS版本控制CVS版本控制CVS版本控制CVS版本控制 资料已经很全啦!
CVS版本控制系统 CVS版本控制系统 CVS版本控制系统 CVS版本控制系统
本文将详细介绍如何使用 CVSNT 和 TortoiseCVS 搭建版本控制系统,并结合 Eclipse 和 IntelliJ IDEA 等开发工具,展示如何在实际开发中应用 CVS。 第一部分:CVS 平台的搭建 1. 环境:Windows XP/2003, CVSNT ...
CVS 管理 权限 设置 CVS 管理 权限 设置 设置开发人员的不同权限
CVS版本控制心得 给项目管理的童鞋提供了很好的参考
搭建CVS,配置CVS, 权限设置的官方手册
cvs 使用 说明cvs 使用说明cvs 使用说明
CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS环境初始化 环境设置:指定CVS库的路径CVSROOT tcsh setenv CVSROOT /path/to/cvsroot bash CVSROOT=/...
版本控制器CVS~~
CVS是优秀的开源版本控制软件,Eclipse本身就内置了对CVS的支持,只需简单配置,即可使用CVS。 MyEclipse中CVS版本控制的使用 MyEclipse中CVS版本控制的使用 MyEclipse中CVS版本控制的使用 MyEclipse中CVS版本控制的...
详细介绍了版本控制插件cvs的使用方法;
通过操作手册使用户能对CVS设置工具的功能和使用方法做一个了解,能够通过手册掌握CVS设置工具的基本操作,如用户分组、权限设定等。 1.2 适用范围 CVS设置工具。 1.3 预期读者 本操作手册的主要阅读对象为软件开发...
里面可以告诉你怎样用CVS整合项目,及CVS的安装与Myeclipse的集成使用
删除CVS版本控制 使用方法 拷贝到 版本控制目录 运行