使用CVSNT进行权限控制
来源:互联网 发布:java获取当前日期时间 编辑:程序博客网 时间:2024/05/16 14:57
今天看了下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
- 使用CVSNT进行权限控制
- 使用CVSNT进行权限控制
- Eclipse 使用 CVSNT进行版本控制。
- CVSNT 权限
- 使用Filter来进行权限的控制
- 使用Struts 拦截namespace进行权限控制
- 使用Struts 拦截namespace进行权限控制
- 使用拦截器进行权限的控制
- 使用Struts 拦截namespace进行权限控制
- 使用拦截器进行权限控制
- 使用二进制进行权限或状态控制
- Linux中用CVSNT进行目录、文件的权限设置
- git进行权限控制
- Shiro进行权限控制
- java编程中使用二进制进行权限或状态控制
- 使用CVSACL进行CVS权限访问控制(for Linux)
- elasticsearch使用jetty进行简单的权限控制
- 基于Kafka 0.9版本 使用ACL进行权限控制
- DB2的常用命令及与ORACLE的一些区别
- 利用maven快速配置appFuse
- 让QT/Embedded支持国际化
- 微软公司的三道面试题目
- Maven 2.2.0-Tapestry 5.1.0.5-MyEclipse 7.5
- 使用CVSNT进行权限控制
- JS框架[V 1.6.4](包含无限级下拉列表,轻松实现省市县下拉列表)
- 关于《101桶油能跑多远》
- ASP.NET配置文件Web.config 详细解释
- FLEX + TOMCAT + XFIRE 的helloWorldFromService.
- 六十星系之27七杀独坐寅申
- Lucene SandBox包中highlighter(高亮显示搜索结果包)存在的问题
- 部分回发,全部回发
- 远程控制pcanywhere