您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > CVSNT服务器端配置实现权限分配操作手册
Page1of9CVSNT服务器端配置实现权限分配一、CVSNT的用户验证方式:CVSNT的用户验证方式分两种:1.Windows系统用户与CVSNT用户共存的混合验证方式:即windows操作系统用户和CVSNT的passwd文件定义的用户都可以作为CVSNT的用户。1.1作为操作系统的用户登陆:输入操作系统的用户和密码;1.2作为CVSNT的用户登陆:输入passwd文件中定义的用户和密码。在这种方式,操作系统的管理员帐户同时也是CVSNT服务器的管理员帐户。2.CVSNT用户单一验证方式:只有CVSNTpasswd文件定义的用户作为CVSNT的用户。登陆:输入passwd文件中定义的用户和密码。默认工作模式是混合验证方式,但是使用单一验证方式对用户的管理比较方便一点,因此下面的介绍,基于CVSNT用户单一验证方式。二、CVSNT的主要配置文件:CVSNT服务器安装完成之后,要定义ROOTRepository,在该目录中,定义了服务器的各种配置,在这里可以定义管理选项参数。本文主要介绍以下几个文件:config,passwd,admin,group,checkoulist,fileattr.xml,cvswrappers。1.config文件:只关注文中第一、二行注释#Setthisto`noifpservershouldntchecksystemusers/passwords#SystemAuth=yesSystemAuth:定义验证方式,默认是SystemAuth=yes,即混合验证方式。这项设置默认是注释掉的,相当于SystemAuth=yes如果想要修改为CVSNT用户单一验证方式,修改为SystemAuth=no注意,如果修改为SystemAuth=no,操作系统用户就不能登陆CVSNT服务器了,所以要在定义好CVSNT服务器的管理员之后(即修改好passwd,admin,checkoutlist三个文件之后),再修改它。2.passwd文件:该文件中定义了CVSNT用户的用户名、密码、操作系统用户别名;默认该文件是不存在的,只有管理员有权限创建和修改它;该文件不能被checkout。格式:cvsadmin:fqr1fS4gDghrt:administrator用户名:密码:操作系统用户别名密码是CVS使用UNIX标准加密函数对密码进行加密后的结果;这个用户名和密码和操作系统用户没有关系,修改它们不会对操作系统产生任何影响;每个用户必须要有一个操作系统用户别名,这个别名必须在操作系统中真实存在,并且是管理员身份,否则该用户无法进行cvs操作。(为什么必须是管理员?)/*实际上,CVSNT服务器是以该操作系统用户的身份进行文件的读写操作的,如果该操作系统用户为guest,则不能checkout,ls等。Page2of9不知道为为什么CVSNT服务器没有把这项设置对使用者透明化,因为每个用户都要进行checkout,ls等基本的操作,如果连这些基本的操作都不能进行的话,这个用户就没有存在的必要了。按我的理解,格式就要用户名和密码,后面的操作系统别名默认为管理员,就像servu一样易于使用。(也可能有其他的原因)附:cvsntmanualThecvspasswdcommandcanbeusedtoaddordeletenewusers.Onlyanadministratorcandothis.Notethatdeletingauserdoesnotremovethemfromanyuserpermissions.*/3.admin文件:文件中定义了CVSNT服务器的管理员列表。格式:user1user2...该文件中的用户同样必须出现在passwd文件中;该文件中的用户,拥有CVSNT服务器管理员的所有权限;该文件默认是不存在的,需要手工建立;该文件要加入到checkoutlist文件中。实际上,cvsntserver把这个文件当作一个特殊的group来对待的。4.group文件:这个文件用来定义组,我们可以将同样性质的用户归入一个组,然后用给用户赋权限的方式给组赋权限,这样,一个组的用户就会具有同样的权限。格式:group1:user1user2user3group2:user4user5user6group3:user7user8user9组的名称+冒号+用户名+空格+用户名+空格...多个用户名之间用空格来进行分割;组中的用户,要在passwd文件中存在。5.checkoutlist文件:#Thecheckoutlistfileisusedtosupportadditionalversioncontrolled#administrativefilesin$CVSROOT/CVSROOT,suchastemplatefiles.##Fileformat:##[whitespace]filenamewhitespaceerrormessageend-of-line##commentlinesbeginwith'#'该文件用来支持附加的版本控制操作,在CVSROOT中添加的文件,要在此文件中声明。目前只知道,admin文件需要声明。(还没用到,不知道怎么用,有什么作用)格式举例:adminerrmsgbyApollo注意:不要忘记文件名称之前的空格。6.fileattr.xml文件:Page3of9在每一个Repository建立之后,都会在Repository的ROOT中建立一个名字叫做CVS目录,该目录中只有一个文件fileattr.xml;fileattr.xml文件中定义了访问该Repository的用户的权限;对于新建立的Repository,默认是所有人拥有所有权限(CVSNTROOT除外);CVSNTROOT的fileattr.xml:默认是只有管理员拥有其所有权限。7.cvswrappers文件:refersto:Addthefollowingfileextensionsinthecvswrappersfile,e.g.:*.cab-k'b'*.class-k'b’*.doc-k'b'*.dll-k'b'*.ear-k'b'*.exe-k'b'*.exp-k'b'*.fla-k'b'*.gif-k'b'*.gz-k'b'*.jar-k'b'*.jpg-k'b'*.jpeg-k'b'*.lib-k'b'*.msi-k'b'*.mso-k'b'*.pdf-k'b'*.pfw-k'b'*.png-k'b'*.ppt-k'b'*.sit-k'b'*.swf-k'b'*.tar-k'b'*.tlb-k'b'*.vsd-k'b'*.xls-k'b'*.war-k'b'*.wmz-k'b'*.zip-k'b'三、CVSNT服务器端配置实现子目录权限分配:1.实现方式:直接修改fileattr.xml文件实现Page4of92.达到的效果:一个项目的CVS标准库结构包括两部分:开发库和受控库。每个人员在项目中担当的角色不同,从而在不同的子目录中应当拥有不同的权限。现假定一个项目,项目名为PJ-XXXXX,项目经理为杨捷,配置管理员为王怡岚,开发人员为胡晓玲和姜洁,确定项目经理拥有开发库与受控库中所有权限(即相当于管理员权限);配置管理员拥有受控库中所有权限以及开发库中项目管理子目录的所有权限,开发库中其它子目录拥有只读权限;开发人员拥有开发库中所有权限,受控库只有只读权限。所以,可以确定完成的效果:1)admin与yangjie能设置CVSNT服务器的配置,并且能对所有的Repository拥有全部权限,密码与用户名一致;2)普通用户有3个:wangyilan,huxiaoling,jiangjie,密码与用户名一致;3)受控库:yangjie,wangyilan可以对受控库进行checkout,commit,add(read,write,create),huxiaoli,jiangjie只能进行checkout(read);4)开发库中的项目管理子目录:yangjie,wangyilan,huxiaoling,jiangjie均拥有该目录的所有权限,可以进行checkout,commit,add(read,write,create);5)开发库中其他子目录:yangjie,huxiaoling,jiangjie可以进行checkout,commit,add(read,write,create),wangyilan只能进行checkout(read)/*说明:权限参数有read,write,add,tag,control.这里只举例说明最常要的read,write,add(参见帮助文档);control没有应用成功。*/3.开始配置:1)使用CVSNT在服务器端创建一个名为PJ-XXXXX的项目库;2)在服务器端对CVSROOT进行设置,创建admin文件(无扩展名),添加管理员用户:admin,yangjie;3)定义group组:在cvsroot建立文件名为group的文件(注意,无扩展名),内容为:#groupall:havaallpermissionsGroupall:adminyangjie#controlall:haveallpermissionsofcontrolrepositorycontrolall:adminyangjiewangyilan#controlreadonly:readonlyofcontrolrepositorycontrolreadonly:huxiaolingjiangjie#developall:haveallpermissionsofdeveloprepositoryexceptDPMsubdirectorydevelopall:adminyangjiehuxiaolingjiangjie#developreadonly:readonlyofdeveloprepositoryexceptDPMsubdirectorydevelopreadonly:wangyilan#DPMall:haveallpermissionsofDPMsubdirectoryindeveloprepositoryDPMall:adminyangjiehuxiaolingjiangjiewangyilan/*说明:groupall有完全权限;Page5of9controlall对受控库有完全权限;controlreadonly受控库只读;developall对开发库中除项目管理子目录外有完全权限;developreadonly对开发库中除项目管理子目录外有只读权限;DPMall对开发库项目管理子目录有完全权限。该文件不用注册到checkoutlist。*/4)在CVSROOT中创建passwd文件(无扩展名),设置所有用户的初始密码为空;5)在本地登录CVSNTServer/*说明:pserver为登陆协议,是一种明文协议,用户名和密码可以被监测到。本次实验用这种协议,其他的协议以后再总结;localhost为登陆的机器地址,可以用IP;/cvsrootcvsroot是安装CVSNTserver的时候,指定CVSROOT的别名。*/6)使用管理员用户从本地导入项目的CVS标准库结构(开发库和受控库);7)使用管理员用户检出PJ-XXXXX的项目库至本地与存放此项目的文件夹中;8)修
本文标题:CVSNT服务器端配置实现权限分配操作手册
链接地址:https://www.777doc.com/doc-2907269 .html