一、CVSNT的用户验证方式:
CVSNT的用户验证方式分两种:
1. Windows系统用户与CVSNT用户共存的混合验证方式:即windows操作系统用户和CVSNT的passwd文件定义的用户都可以作为CVSNT的用户。
1.1作为操作系统的用户登陆:输入操作系统的用户和密码;
1.2作为CVSNT的用户登陆:输入passwd文件中定义的用户和密码。在这种方式,操作系统的管理员帐户同时也是CVSNT服务器的管理员帐户。
2. CVSNT用户单一验证方式:只有CVSNT passwd文件定义的用户作为CVSNT的用户。
登陆:输入passwd文件中定义的用户和密码。
默认工作模式是混合验证方式,但是使用单一验证方式对用户的管理比较方便一点,因此下面的介绍,基于CVSNT用户单一验证方式。
二、CVSNT的主要配置文件:
CVSNT服务器安装完成之后,要定义ROOT Repository,在该目录中,定义了服务器的各种配置,在这里可以定义管理选项参数。
本文主要介绍以下几个文件:config,passwd,admin,group,checkoulist,fileattr.xml,cvswrappers。
1. config文件:
只关注文中第一、二行注释
#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes
SystemAuth:定义验证方式,默认是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等。
不知道为为什么CVSNT服务器没有把这项设置对使用者透明化,因为每个用户都要进行 checkout ,ls等基本的操作,如果连这些基本的操作都不能进行的话,这个用户没有存在的必要了。
按我的理解,格式要用户名和密码,后面的操作系统别名默认为管理员,像servu一样易于使用。(也可能有其他的原因)
附:cvsnt manual
The cvs passwd command can be used to add or delete new users. Only an administrator can do this.
Note that deleting a user does not remove them from any user permissions.
*/