使用CVSNT进行权限控制

今天看了下CVSNT的东西,它呢是一个windows平台上的一个CVS程序,使用它的时候很基本的东西就是一些权限的设置,不同人员具有不同的权限,在网上看了一下,作下记录,以备日后深入学习:

前一段时间要把公司所有的项目源代码统一进行管理和控制,需要建立一个CVS服务器,如何进行权限的划分成了一个问题。不是所有的人都能取各个项目代码,也不是所有能取出代码的人都能进行代码的提交。如何控制权限呢?网上找了一大堆资料,可是很多都实践通不过。

所有文档中的方法都在CVSNT上的测试通过。环境是Win2000 AD Server + sp4,磁盘分区是NTFS,登陆用户是Administrator,CVSNT的版本是2.0.12a,客户端采用TortoiseCVS version 1.4.0.

1.通过CVS验证模式进行控制

(假设系统以Administrator登陆)

1.  安装CVSNT。
2.  设置CVSNT的Repositories到一个具体的目录。
3.  在Win2000 下设置系统环境变量,确定CVSNT的安装目录在path路径中。
4.  同时设置Win2000的环境变量CVSROOT到刚才指定的Repositories目录。保存退出。
5.  打开cmd窗口。输入 cvs init
6.  在Respositories下的CVSROOT目录中新建一个passwd的文件,文件内容如下:administrator:
7.  安装WinCVS或者TortoiseCVS等CVS的客户端工具。
8.  以Administrator的身份和密码登陆CVS,取出CVSROOT模块。
9.  在取出的模块目录中新增admin和group两个文件。其中admin文件用来指明哪一个用户是管理员帐号。可以录入Administrator    (如果指定其他帐号,一定要确定该帐号在Win2000中存在,同时,后面的部分操作需要以该帐号登陆,如果这里采用ADMIN,则比较简单)然后在新建的group文件中对用户进行分组,文件的格式如下:

组名:用户1 用户2 用户3 (用户之间用空格分隔)

10.把新建的这两个文件添加到CVS服务器,并提交。|
11.修改checkoutlist文件,加入一行admin ,以便CVS服务器能自动通过新建的文件知道管理员帐号。
12.修改config文件的SystemAuth=no,并去掉前面的注释符号#,在提交之前要确认一下你上面的修改是否正确,如果提交了这个文件,CVSNT验证模式就开始生效了。
13.提交刚才修改的checkoutlist和config文件。
14.打开CMD窗口,进入取出的CVSROOT目录。修改CVSROOT的默认权限。

cvs chacl default:n            取消所有用户的默认权限(针对相应的目录)

cvs chacl administrator:rcw        设置管理员拥有所有权限(针对相应的目录)

15.为所有的用户建立passwd的内容。具体的命令需要打开CMD窗口,输入

cvs passwd –a username   (确定这时候的登陆帐号是刚才admin中配置的帐号,否则会提示只有管理员才有权限修改其他帐号的密码。)

16.导入具体项目。打开cmd窗口,进入到项目源代码目录,输入

cvs import –m “模块名字” “描述” “版本信息”  (注意,二进制文件导入可能会存在问题。最好不要通过这种方式导入二进制文件。)

17.为该项目的人员设定group文件。如果需要进行读和写的单独控制,可以在group中为该项目建立两个用户组,一个组是只能读的用户列表,一个是可读写的用户列表。
18.提交修改后的group文件。
19.找到Repositories目录下生成的项目目录。在根目录下,默认只有一个.owner的文件来控制用户,可以在这里添加一个.perms文件来控制读写。.owner文件控制那些用户可以访问这个项目。而.perms文件控制用户的权限,用户的权限是rcwn中的一个。其中r表示读取权限、c表示创建和删除权限、w表示写入权限、n表示无任何权限。默认情况下是default:rcw,可以在.perms文件中添加group的名字,冒号,后面跟具体的权限。如

default:n

group1:rcw

group2:r

20.如果只是简单的控制有没有权限读,则只需要在根目录下添加.perms文件就可以了,如果要控制有读取权限的用户写入,则需要每个目录单独控制,可以把.owner和.perms两个文件分别拷贝到各个目录下即可。

说明:通过这两个文件来控制访问权限的方法,比较繁琐。下面介绍另外一种控制方法。

2.通过Windows的目录访问权限进行控制

1.  安装CVSNT和客户端工具。
2.  新建Repositories目录和Lock目录。如CVSFile和CVSLock。
3.  在系统中建立用户test1和test2,同时建立cvsReaders和cvsWriters组,分别分配test1·和test2用户到两个组中。
4.  执行cvs init,初始化cvs的Repositories目录。
5.  利用CVS客户端工具下载CVSROOT目录下的内容到本地,修改config文件中的LockDir=e:/cvsLock,提交该文件。同时确保cvsReaders和cvsWriters都有读写cvsLock目录的权限,默认是everyone,则不用修改。
6.  设置CVSFile的目录的权限。右键——>属性——>安全,删除everyone权限,然后添加cvsReaders、cvsWriters、administrators组的完全控制权限给该目录。
7.  进入到CVSFile/CVSROOT目录下,对config和history两个文件添加everyone权限。这样就可以显示历史和模块列表了。
8.  导入项目。cvs import –m “test” “test” “test”。(注意,二进制文件导入可能会存在问题。)
9.  对导入的项目,在CVSFile目录下会生成一个相应的目录。再对这个目录进行权限控制。右键——>属性——>安全,取消所有继承来的权限,重新添加cvsReaders的读权限、cvsWriters和administrators的完全控制权限。 

好了,现在test1用户可以下载cvs中的文件,但是不能修改提交。test2用户可以下载,同时也可以修改提交增加文件等等。要添加用户,只需要在Windows中的用户管理中,为用户组添加用户就可以了。对于CVS的管理员,可以设置到Administrators组中,不过这样安全不太好。也可以单独建立一个管理员组,分配所有的权限就可以了。

说明:这种控制方法简单,但是要为每一个项目建立两个用户组,同时Windows系统中会存在大量的用户。

转自:http://www.javayou.com/diary/547

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CVSNT配置 系统环境: CVSNT 2.5.02 window 2003 服务器配置: 1.安装cvsnt.一路next就行了。安装完毕后可以在服务控制器中发现多了2个服务:cvsntcvslocking 或是1. 双击Service Control Panel快捷方式,在Service Status页面,会看见cvs server 和 cvs lock server2个服务正常和稳定运行 2.选择Repository页面,点按Add按钮,选择已经准备好的C:\CVS这个目录,确认,OK,Yes,这时会在 C:\CVS下面建立一个CVSRoot目录,这是CVS默认的管理目录(默认模块)。如果报错,那是系统Path路 径未设置正确。 3.打开CVSNT验证:打开C:/CVS/CVSROOT/config文件,把SystemAuth=yes改成SystemAuth=no 4.增加CVS用户:打开C:/CVS/CVSROOT/passwd文件(这个文件安装是并没有建立,请自己建立一个 passwd文件,这个文件没有扩展名),添加 qab: 5.在Windows下建立一个用户cvsuser,供CVS的用户使用. 在CVSNT的Server Settings页面设置: Run as 刚才新建的用户cvsuser, 并设置改用户对目录C:/CVS/CVSROOT/passwd文件有读写权限。 设置Temporary默认的目录C:\WINDOWS\TEMP为其它盘任意目录:如:d:\temp 6.设置环境变量set CVSROOT=C:/CVS 7.在客户端cmd窗口,输入命令 set cvsroot=:pserver:qab@server/CVS(qab是刚才建立的用户名,server是安装的计算机名称,/CVS 是刚才建立的文件夹别名) cvs login 密码为空 这时会登录成功 改密码 cvs passwd 这时会看到passwd文件中的内容已经变成了qab:MAGvtI7IcD8ic,后面的这串字符是加密码后的密码,我们 将他改成qab:MAGvtI7IcD8ic:cvsuser,重复以上步骤,加入更多的用户. 8.这样你的服务器就设置成功了。不过因为我用的window xp它本身有防火墙。网络中的其它用户要想连 接server这个服务器必须把window xp的2401这个端口打开。打开后网络中的其它用户就可以登陆到 server这个计算机中进行配制管理了。 我在这里只是简单的介绍一下CVSNT配置。它的一些具体设置大家就上网上找吧。我在这里就不提了。 注: CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方 式,及CVSNT用户 单一验证方式,默认工作在混合验证方式下,当然使用单一验证方式对用户的管理肯 定比较方便一点,因此下面的配置就是围绕该方式进行的。各个资源库所使用的验证方式及用户配置由 其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件。 1、config文件 控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行: #Set this to `no" if pserver shouldn"t check system users/passwords #SystemAuth=yes 第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no: yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统 用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。 no:只使用CVSNT用户来进行验证。该文件可以在客户端进行修改,因此我们可以将其checkout出来将第 二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原 来的Windows系统用户将变为无效,因此要注意执行该步骤的时机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值