本人默认CVSNT服务器安装用户为administrator,使用权限为域用户登录模式,采取CVS帐户校验用户对不同文件夹的读取权限。
安装CVSNT服务器就不说了,一路NEXT。
在安装了CVSNT服务器之后,默认的用户就是建立Repository的Windows系统的登陆帐户。
所以,在安装CVSNT服务器时,强烈建议使用本地管理员登录,而不是用域用户。以下就以administrator为例。
在服务器上给Repository目录设置NTFS权限,给域的everyone添加读写权限。
使用administrator获取CVSROOT到某个临时文件夹,CVSROOT目录下新添一个名为admin的文件。在里面将每一个想要升为管理员的CVS帐户的帐户名写到文件中,每行一个帐户名。当然admin文件只有放到服务器,cvsadmin的升迁才能生效。但是,仅仅是这么将admin文件提交上去是不能起作用的。在提交它之前,必须将admin的信息添加到checkoutlist文件中。checkoutlist的格式在文件中有介绍,是“空格 文件名 空格 出错信息 回车符”。我们在里面添加一条记录:
administrator errmessage
特别注意administrator 前面一定要留一个空格。
当新的CVS管理员和帐户信息都准备好后,设置帐户校验模式为“操作系统集成校验模式”。这个设置的地方在CVSROOT目录中的config文件。打开客户端的config文件,将里面的#SystemAuth=yes删除#
SystemAuth=no(“仅使用CVS帐户校验”模式)。修改后保存并提交config文件。
在客户端的CVSROOT目录下添加一个叫group的文件。此文件的格式是:
组名1:用户名1,用户名2,用户名3,……
组名2:用户名4,用户名4,……
dev:linn,linn.cnblogs.com
修改完group文件后commit它,然后通过chacl命令可以实现组权限的修改。注意,组权限和个人权限时“或”的关系,如果你给dev组设置了NONE权限,但是有给linn.cnblogs.com这个用户设置了读取权限,该用户仍然能够读取。
Tips:如果你的权限特别复杂,每个小组人员权限都差别很大,建议你不要使用组权限,直接设置到个人吧。
CVS的权限是要求read->write->create->tag->control
read权限是其它权限的基础,如果你要给某个用户(user)开control权限,你给它加的权限应该是
cvs chacl -a read,control -u user
对一些保密要求比较高的项目,在服务器上给Repository目录设置NTFS权限,不能给域的everyone添加读写权限,而要一个一个域用户来加,确保安全。然后再在客户端Repository目录设置默认权限为None
cvs chacl -a none
查看某个目录下的用户权限:
cvs lsacl