`
biekwo
  • 浏览: 36876 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
1.绿色安装,可以使用cvsservice.exe和cvslock.exe
2.${INSTALLDIR},表示,CVSNT的安装路径
3.${REPOSITORY},表示,CNSNT的REPOSITORY路径
4.本次不使用WINDOW验证,使用CVSNT自身验证,同时建立WINDOW用户CVS
5.以下提到的文件,如果不存在,请自行创建

权限配置:

1.打开CVSNT验证
    [${REPOSITORY}/CVSROOT/config]
    改成:SystemAuth=no

2.增加管理员
    [${REPOSITORY}/CVSROOT/admin]
    格式:用户名+[回车]
    添加:trydofor

3.增加CVS用户
    [${INSTALLDIR}/]
    cvs passwd -r cvs -a guest
    [${REPOSITORY}/CVSROOT/passwd]
    格式:用户名:加密后的登陆密码:系统实际用户+[回车]
    该文件会增加一行记录

4.增加权限
    [${REPOSITORY}/CVSROOT/readers]
    [${REPOSITORY}/CVSROOT/writers]
    格式:用户名+[回车]

5.控制${REPOSITORY}/CVSROOT访问
    [${REPOSITORY}/CVSROOT/CVS/fileattr.xml]
    
     <fileattr>
      <directory>
        <acl>
          <create deny="1" />
          <read deny="1" />
          <tag deny="1" />
          <write deny="1" />
        </acl>
        <acl user="trydofor">
          <create />
          <read />
          <tag />
          <write />
        </acl>
        <owner>trydofor</owner>
      </directory>
    </fileattr>


问题与思考:

1.好多文章提到了,cvs chacl default:n 但最新版本中该命令有了变化。
  实际上cvs chacl命令更改的就是CVS/fileattr.xml。

2.修改过程有的修养checkout除来,该好后再checkin回去。
  实际上没那么麻烦,因为都在你本机上,怎么改方便就怎么改。

3.passwd不必非得用cvs passwd -r cvs -a guest添加。
  网上有一个perl脚本,可以代替它生成加密的密码部分。

4.fileattr.xml好像是cvsnt特有的,cvs中有个fileattr,格式不大一样。

5.admin中一定要添加window等前登陆用户,否则
  运行cvs passwd -r cvs -a guest,会报告没有权限。

先说下CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方式,及CVSNT用户 单一验证方式,默认工作在混合验证方式下,当然使用单一验证方式对用户的管理肯定比较方便一点,因此下面的配置就是围绕该方式进行的。各个资源库所使用的验证方式及用户配置由其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件。

1config文件

控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行:

#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes

第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yesno

yespserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统用户来进行验证),默认为yesCVSNT用户在后面将要介绍的passwd文件中定义。

no:只使用CVSNT用户来进行验证。

该文件可以在客户端进行修改,因此我们可以将其checkout出来将第二行改为SystemAuth=no,并commitCVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。

2 admin文件

该文件保存CVSNT管理员用户列表,内容很简单,形式如下:
User1
User2
User3
每 一行定义一个管理 员用户,默认时没有该文件,但你可以在客户端自己添加并add上去,再commitCVSNT上,但是光有这个文件还是不会生效的,还要将其添加到 checklist文件中,使CVSNT能够读取该文件的内容,在checklist中添加文件列表的格式为:

 [空格]文件名 出错信息

其中文件名前的空格必须要有的,不然会出错。
我们可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。

3passwd文件

服 务器工作在CVSNT用户单一验证方式下的时候,这个文件定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。

添加用户的命令的示例:

cvs passwd –r administrator –a cvsadmin

之后系统提示输入密码,输入后服务器会新建一个passwd文件。

该文件的内容很简单,形式如下:

cvsadmin:fqr1fS4gDghrt:administrator
kid:aTXRfS31Bm6JA
mystique:Yna4QcXz9dEqd

以第一行为例:cvsadmin为用户名,fqr1fS4gDghrtCVS使用UNIX标准加密函数对密码进行加密后的结果,administrator为该用户的别名,当使用混合验证方式时对应Windows系统用户名。

注意:这个文件是不能在客户端进行修改的,不能checkout出来。

4group文件

该文件定义CVSNT中组信息,同组里的用户拥有一样的权限,对组权限的修改和对用户权限的修改一样。

group文件的内容为

administrators:cvsadmin kid mystique
users:User1 User2 User3

可以看到该文件的内容也很简单,组名:用户名,多个用户名之间用空格隔开。

Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。

作为组里面的特定成员可以赋给特定的权限。

了解了以上内容,下面我说一下我自己的配置步骤,我没有使用WinCVS进行操作,是直接使用命令行进行修改的,觉得这样思路比较清晰:

1、添加系统变量CVSROOT=E:/CVSNT/Repository,并把E:\CVSNT加入到系统Path路径。

2、进入命令提示符,因为此时为混合验证模式,可以不用不用登陆直接进行checkout。可以建立一个工作目录,在该目录下进行操作,我这里为E:/CVSNT/Works

 检出CVSROOT目录:
 
 cvs co CVSROOT

3、添加CVSNT系统管理员用户,此时会提示设置用户密码:

 cvs passwd –r administrator –a cvsadmin

4、修改CVSROOT访问权限:

 cd CVSROOT
 cvs chown cvsadmin   //
更改所有者为
cvsadmin
 cvs chacl default:n   //
默认权限为
n
 cvs chacl cvsadmin:rwc  //
添加cvsadmin

5、修改config文件,按上面的方法修改后commit

 cvs ci

6、 此时单一验证方式已经启用了,也就是只能使用刚才添加的cvsadmin进行登录,此时可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users关掉。登录前还要改一下系统变量CVSROOT,关闭命令提示符窗口,修改CVSROOT为:

 :pserver:cvsadmin@192.168.0.1:4021/CVSNT/Repository

这里的192.168.0.1是服务器的IP地址,/CVSNT/Repository就是前面设置Repository时设置的Name,可以改为你机器上的配置。修改系统变量之后以下的步骤在任何与服务器相连的机器上进行,当然该机器上应该有CVSNT的可执行文件。

7、如果为了避免出现错误,先重启一下CVSNT服务器,再启动命令提示符来到E:/CVSNT/Works,因为已经启用单一验证方式,先要进行登录。

 cvs login
 
 
输入密码,此时就是以cvsadmin登录了。

 
8
、添加admin文件,首先将CVSROOT检出,在CVSROOT下新建admin文件,内容为
 
 cvsadmin
 
 
执行命令:
 
 cvs add admin
 cvs ci
 
9
、修改checklist文件,在该文件末尾添加一行:

 [空格]admin  error message
 
 
注意:admin前的空格不能少。

 
 
执行命令: 
 cvs ci 
经过以上步骤,可以说用户配置已经基本完成了,CVSNT可以很好的工作在单一验证方式下。进一步的管理可使用以下命令:

添加用户: cvs passwd -a username,使用时不必理会需要添加别名的提示。

修改用户权限:cvs chacl username:r|w|c|n,(rRead wwrite ccontrol nnone

要添加组管理,只需同添加admin步骤一样,按照格式要求新建group文件即可。

如果还有不清楚的可以看看自带的文档,说得还是比较详细的。

ok,差不多就是这些,有错还请各位帮忙指出,还在学习ING

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics