三、CVSNT服務器端配置實現(xiàn)子目錄權限分配:
1. 實現(xiàn)方式:直接修改fileattr.xml文件實現(xiàn)
2. 達到的效果:
一個項目的CVS標準庫結構包括兩部分:開發(fā)庫和受控庫。每個人員在項目中擔當?shù)慕巧煌,從而在不同的子目錄中應當擁有不同的權限,F(xiàn)假定一個項目,項目名為PJ-XXXXX,項目經理為楊捷,配置管理員為王怡嵐,開發(fā)人員為胡曉玲和姜潔,確定項目經理擁有開發(fā)庫與受控庫中所有權限(即相當于管理員權限);配置管理員擁有受控庫中所有權限以及開發(fā)庫中項目管理子目錄的所有權限,開發(fā)庫中其它子目錄擁有只讀權限;開發(fā)人員擁有開發(fā)庫中所有權限,受控庫只有只讀權限。所以,可以確定完成的效果:
1) admin與yangjie能設置CVSNT服務器的配置,并且能對所有的Repository擁有全部權限,密碼與用戶名一致;
2) 普通用戶有3個:wangyilan,huxiaoling,jiangjie,密碼與用戶名一致;
3) 受控庫:yangjie,wangyilan可以對受控庫進行checkout,commit,add (read,write,create),huxiaoli,jiangjie只能進行checkout (read);
4) 開發(fā)庫中的項目管理子目錄:yangjie,wangyilan,huxiaoling,jiangjie均擁有該目錄的所有權限,可以進行checkout,commit,add (read,write,create);
5) 開發(fā)庫中其他子目錄:yangjie,huxiaoling,jiangjie可以進行checkout,commit,add (read,write,create),wangyilan只能進行checkout (read)
/*
說明:
權限參數(shù)有read,write,add,tag,control.這里只舉例說明常要的read,write,add(參見幫助文檔);control沒有應用成功。
*/
3. 開始配置:
1) 使用CVSNT在服務器端創(chuàng)建一個名為PJ-XXXXX的項目庫;
2) 在服務器端對CVSROOT進行設置,創(chuàng)建admin文件(無擴展名),添加管理員用戶:admin,yangjie;
3) 定義group組:
在cvsroot建立文件名為group的文件(注意,無擴展名),內容為:
#groupall:hava all permissions
Groupall: admin yangjie
#controlall:have all permissions of control repository
controlall: admin yangjie wangyilan
#controlreadonly: read only of control repository
controlreadonly: huxiaoling jiangjie
#developall:have all permissions of develop repository except DPM subdirectory
developall: admin yangjie huxiaoling jiangjie
#developreadonly: read only of develop repository except DPM subdirectory
developreadonly: wangyilan
#DPMall: have all permissions of DPM subdirectory in develop repository
DPMall: admin yangjie huxiaoling jiangjie wangyilan
/*
說明:
groupall有完全權限;
controlall對受控庫有完全權限;
controlreadonly受控庫只讀;
developall對開發(fā)庫中除項目管理子目錄外有完全權限;
developreadonly對開發(fā)庫中除項目管理子目錄外有只讀權限;
DPMall對開發(fā)庫項目管理子目錄有完全權限。
該文件不用注冊到checkoutlist。
*/