使用CVSNT进行权限控制

来源:互联网 发布:爱牙网络牙龈萎缩 编辑:程序博客网 时间:2024/05/17 05:16

 

通过CVS验证模式进行控制(假设系统以Administrator登陆)
1安装CVSNT
2设置CVSNTRepositories到一个具体的目录。
3Win2000 下设置系统环境变量,确定CVSNT的安装目录在path路径中。
4同时设置Win2000的环境变量CVSROOT到刚才指定的Repositories目录。保存退出。
5打开cmd窗口。输入 cvs init
6Respositories下的CVSROOT目录中新建一个passwd的文件,文件内容如下:administrator:
7安装WinCVS或者TortoiseCVSCVS的客户端工具。
8Administrator的身份和密码登陆CVS,取出CVSROOT模块。
9在取出的模块目录中新增admingroup两个文件。其中admin文件用来指明哪一个用户是管理员帐号。可以录入Administrator (如果指定其他帐号,一定要确定该帐号在Win2000中存在,同时,后面的部分操作需要以该帐号登陆,如果这里采用ADMIN,则比较简单)然后在新建的group文件中对用户进行分组,文件的格式如下:组名:用户1 用户2 用户3 (用户之间用空格分隔)
10.把新建的这两个文件添加到CVS服务器,并提交。
11.修改checkoutlist文件,加入一行admin ,以便CVS服务器能自动通过新建的文件知道管理员帐号。
12.修改config文件的SystemAuth=no,并去掉前面的注释符号#,在提交之前要确认一下你上面的修改是否正确,如果提交了这个文件,CVSNT验证模式就开始生效了。
 13.提交刚才修改的checkoutlistconfig文件。
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两个文件分别拷贝到各个目录下即可。说明:通过这两个文件来控制访问权限的方法,比较繁琐。下面介绍另外一种控制方法。
.通过Windows的目录访问权限进行控制
1安装CVSNT和客户端工具。
2新建Repositories目录和Lock目录。如CVSFileCVSLock
3在系统中建立用户test1test2,同时建立cvsReaderscvsWriters组,分别分配test1·test2用户到两个组中。
4执行cvs init,初始化cvsRepositories目录。
5利用CVS客户端工具下载CVSROOT目录下的内容到本地,修改config文件中的LockDir=e:/cvsLock,提交该文件。同时确保cvsReaderscvsWriters都有读写cvsLock目录的权限,默认是everyone,则不用修改。
6设置CVSFile的目录的权限。右键——>属性——>安全,删除everyone权限,然后添加cvsReaderscvsWritersadministrators组的完全控制权限给该目录。
7进入到CVSFile/CVSROOT目录下,对confighistory两个文件添加everyone权限。这样就可以显示历史和模块列表了。
8导入项目。cvs import –m “test” “test” “test”(注意,二进制文件导入可能会存在问题。)
9对导入的项目,在CVSFile目录下会生成一个相应的目录。再对这个目录进行权限控制。右键——>属性——>安全,取消所有继承来的权限,重新添加cvsReaders的读权限、cvsWritersadministrators的完全控制权限。好了,现在test1用户可以下载cvs中的文件,但是不能修改提交。test2用户可以下载,同时也可以修改提交增加文件等等。要添加用户,只需要在Windows中的用户管理中,为用户组添加用户就可以了。对于CVS的管理员,可以设置到Administrators组中,不过这样安全不太好。也可以单独建立一个管理员组,分配所有的权限就可以了。说明:这种控制方法简单,但是要为每一个项目建立两个用户组,同时Windows系统中会存在大量的用户。