==使用CVSACL進(jìn)行CVS權(quán)限訪問控制(for Linux)==
CVS是一個(gè)很成熟的版本控制系統(tǒng),CVSACL就是實(shí)現(xiàn)訪問控制的CVS補(bǔ)丁。它本身也是一個(gè)開源的項(xiàng)目,項(xiàng)目主頁是http://cvsacl.sourceforge.net/index.html 。它提供了對(duì)CVS的模塊、目錄和文件以及分支和tag的高級(jí)訪問控制。CVSACL定義了8級(jí)不同的訪問權(quán)限,分別是:
權(quán)限 |
關(guān)鍵字 |
說明 |
沒有權(quán)限 |
n |
用戶不能做任何cvs操作 |
讀權(quán)限 |
r |
可以執(zhí)行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令 |
寫權(quán)限 |
w |
可以執(zhí)行commit/checkin命令 |
tag |
t |
可以執(zhí)行tag/rtag命令,依賴讀權(quán)限 |
創(chuàng)建 |
c |
可以執(zhí)行add import 命令 |
刪除 |
d |
可以執(zhí)行rm命令 |
全部權(quán)限 |
a |
可以執(zhí)行所有cvs命令處理cvsacl管理命令 |
管理權(quán)限 |
p |
可以執(zhí)行所有命令 |
1. 下載CVSACL:
通過如下網(wǎng)址可以下載到CVSACL相關(guān)程序,目前最新版本是cvsacl-
https://sourceforge.net/project/showfiles.php?group_id=75057&package_id=77484&release_id=423655
cvsacl-
cvs-
2. 安裝CVSACL:
安裝方法:cvs-
[root@localhost setup_cvs]# tar -zxvf cvs-
[root@localhost setup_cvs]# mv cvs-
[root@localhost setup_cvs]# cd cvs-
[root@localhost cvs-
[root@localhost cvs-
[root@localhost cvs-
[root@localhost setup_cvs]# cvs –version // 查看cvs版本
Concurrent Versions System (CVS)
with CVSACL Patch
注:不需要特意刪除舊版本的CVS。
3. 修改aclconfig配置文件
[newcvsroot@localhost CVSROOT]$ vi aclconfig // 該配置文件在cvs根目錄的CVSROOT下,如/data/cvs/CVSROOT/
UseCVSACL=yes // 行首去除“#”,啟用該配置項(xiàng)。
UseSystemGroups=yes // 行首添加“#”,注釋該配置項(xiàng)。
UseCVSGroup=yes // 行首去除“#”,啟用該配置項(xiàng)。
3. 創(chuàng)建用戶和組進(jìn)行賦權(quán)
[newcvsroot@localhost CVSROOT]$ pwd
/datanew/cvs/CVSROOT // 創(chuàng)建用戶和組要在CVSROOT下進(jìn)行,并且執(zhí)行用戶必須是CVSROOT對(duì)應(yīng)的屬主用戶,即newcvsroot,該用戶在搭建cvs服務(wù)器時(shí)配置。
[newcvsroot@localhost CVSROOT]$ htpasswd -b passwd username passwd // 新增用戶并設(shè)定密碼,已有用戶的密碼更新也可用該命令。
[newcvsroot@localhost CVSROOT]$ vi passwd
kevins:*******:newcvsroot // 將passwd文件中的所有cvs用戶映射到同一個(gè)系統(tǒng)用戶newcvsroot上。
[newcvsroot@localhost CVSROOT]$ vi group
文件格式:
group1:x:10:ii,kevins,ava // 用戶之間用 “,”分隔,“ii”為無效的首個(gè)用戶。
注:cvsacl有個(gè)bug,必須在組用戶最前邊添加一個(gè)不存在的cvs用戶,group文件才會(huì)生效,原因不明,但此方法確實(shí)管用。
4. 使用cvsacl細(xì)化權(quán)限:
[cvsroot@localhost CVSROOT]$ cvs -d /data/cvs racl ccp:wtcd -R CODE/03.PRODUCT/12.CCP
說明:
/data/cvs:cvs服務(wù)器的根目錄
ccp:用戶或用戶組
wtcd:一般賦“讀寫”權(quán)限時(shí)用這個(gè)組合,詳細(xì)說明見本文“CVSACL定義了8級(jí)不同的訪問權(quán)限”表格
CODE/03.PRODUCT/12.CCP:配置庫中的Module(模塊)路徑
格式:cvs –d 配置庫位置 racl [用戶||組:權(quán)限] [-Rl] [-r tag] [模塊…] [文件…]
- R 進(jìn)行目錄遞歸
- r rev 設(shè)定版本/標(biāo)簽
- l 列出已定義的ACLs權(quán)限
備注:該賦權(quán)命令要在CVSROOT目錄中執(zhí)行,執(zhí)行完后vi access進(jìn)行查看是否已寫入權(quán)限文件中。
posted on 2011-07-25 15:12 XuFeng 閱讀(613) 評(píng)論(0) 編輯 收藏 所屬分類: Work Experience