前文提到过,CVSNT ROOT 默认是只有管理员拥有其所有权限,它是靠 fileattr.xml 文件这一句
<all deny="1" />
来实现的,具体的详细解释见下文。
*/
12 *** 至此,对 CVSRT Server 的 CVSROOT 的修改已经完成,为了安全起见,删除临时 checkout 出来的 CVSROOT
d:/00/rd cvsroot /s
dos 命令,删除根目录下面的所有文件及文件夹。
/*
dos 命令
1. help # 列出所有命令
2. help xxx #列出 xxx 的帮助
*/
13 *** 以 test1 用户身份 import 一个 testa 工程,做如下权限限制:
只有 cvsadmin,test1,test2 能看见 testa,;
test1 只能对 teata 进行 checkout(read);
cvsadmin,test2 能对 testa 进行 checkout,commit,add (read,write,create).
关闭窗口,建立临时目录 d:/00/test/,在 test 中放入几个文件,准备 import 到 CVSNT Server 上面去。
重新以 test1 用户登陆:
d:/00/test/set cvsroot=:pserver:test1:test1@129.9.200.253/CVSNTROOT
把 d:/00/test/目录中的所有文件 import 进入 CVSNT Server,并且命名为 testa:
d:/00/test/cvs import -m "Imported sources test1 " testa start
-m 为导入时的日志信息
cvs --help import 可以查看 import 参数
设置权限:
必须导出来才可以定制权限;
只有 CVSNT Server 的管理员才可以设置权限,项目的建立者(owner)也不能更改权限(是这样吗,麻烦!);
新建立的项目:默认是所有人拥有所有权限;
cvs lsacl :查看当前 Repository 权限。
/*
关于权限的说明:
CVSNT 2.5 对 Repository 的访问控制设置,是使用命令 chacl,chown 来进行的;
当新建立一个 Repository 之后,会在其中建立一个 cvs 文件夹,里面有一个 fileattr.xml 文件,该文件定义了其所在 Repository 的访问控制权限,实际上 chacl,chown 命令是对该文件的操作;
chacl,chown 命令,只有管理员能够执行,是 Repository 的创建者(owner)也不能执行!(管理员累死了!怎么会有这种管理方法!)
执行 chacl 命令,必须先把 Repository 导出来,以下执行命令,都是导出来之后执行的。
*/
13.1 一个新的 Repository 创建之后,默认是对所有人开放所有权限的。一个新建立的 Repository 的 fileattr.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
<owner>test1</owner>
</directory>
</fileattr>