命令格式:
cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]
-a access Set access(設(shè)置權(quán)限)
-d Delete ACL(刪除目錄的控制權(quán)限)
-j branch Apply when merging from branch(合并分支時(shí)應(yīng)用)
-m message Custom error message(定制錯(cuò)誤消息)
-n Do not inherit ACL
-p priority Override ACL priority(不受目錄權(quán)限管理)
-r branch Apply to single branch(在單個(gè)分支上應(yīng)用)
-R Recursively change subdirectories(嵌套設(shè)置權(quán)限,對(duì)目錄下每個(gè)子目錄也進(jìn)行相同的目錄權(quán)限設(shè)置)
-u user Apply to single user(應(yīng)用在單個(gè)用戶)
例如 cvs chacl -r –a none //取消所有用戶的默認(rèn)權(quán)限,禁止一切訪問(wèn)。
cvs chacl -R -u user -a read //設(shè)置用戶user有讀的權(quán)限。
通過(guò)下面的代碼更改目錄所有者:
cvs chown dirowner //dirowner為要設(shè)定的管理員
通過(guò)下面的代碼顯示目錄的信息:
cvs lsacl
這兩種方法中,第二種方法比較簡(jiǎn)單,不容易出錯(cuò)。但在第二種方法沒(méi)有效果的時(shí)候可以用第一種方法進(jìn)行設(shè)置。第一種方法中的命令和以前的版本略有不同。具體見(jiàn)它的格式。
以上可以完成對(duì)目錄的權(quán)限設(shè)置。在模塊(module)下的每一個(gè)目錄下都會(huì)自動(dòng)產(chǎn)生一個(gè)名為CVS的文件夾,里面都有一個(gè)fileattr.xml文件用來(lái)控制目錄的訪問(wèn)權(quán)限。方法同上。
(3)關(guān)于分組(group)的應(yīng)用
分組:將權(quán)限相同的用戶劃分到一組,這樣可以方便維護(hù)。是角色的意思,分組使用在對(duì)模塊訪問(wèn)權(quán)限的劃分的方法如下:
a.在服務(wù)器端 CVSROOT目錄下新建文件 group。
b.在文件中建立分組,group文件內(nèi)容如下:
group1:user1 user2 user3
group2:user5 user6 user7
c.之后對(duì)組進(jìn)行權(quán)限劃分,和對(duì)單個(gè)用戶方式一樣,可以使組內(nèi)用戶和組具有相
同的權(quán)限,如 選中模塊,執(zhí)行如下命令可以使用戶 user1 user2 user3 同時(shí)具有對(duì)該模塊的讀權(quán)限了。
cvs chacl -R -u group1 -a write
在fileattr.xml文件中加入如下代碼也可以使用戶 user1 user2 user3 同時(shí)具有對(duì)該模塊的讀寫(xiě):
<acl user=guoup1>
<create />
<read />
<tag />
<write />
</acl>
注意這里的group不用" " 。