1.簡介
CVS的權(quán)限控制,依賴于操作系統(tǒng)的權(quán)限控制機(jī)制。因此,正確理解了*nix的用戶/組的權(quán)限管理,能靈活的配置CVS的權(quán)限。本文通過一個實(shí)踐后的例子,簡要說明了一種對cvs管理員和cvs用戶分別配置權(quán)限的方案。以下內(nèi)容是我個人的學(xué)習(xí)筆記,僅供初學(xué)者參考。如有錯誤,懇請?jiān)谡搲刚?/p>
2.假設(shè)
假設(shè) cvs倉庫目錄結(jié)構(gòu)為:
/data/cvsRep/--
|
|-CVSROOT
|
|-project1/module1
|
|-project2/module2
|
|-...
其中,/data/cvsRep是CVS倉庫(repository)。 project1/module1,project2/module2是一個個工程項(xiàng)目的源代碼存放文件夾(注:cvs稱其為一個個module,可能初學(xué)者有點(diǎn)兒不習(xí)慣。暫時理解為project方便些)。
3. 對倉庫所在路徑的上級目錄權(quán)限
根據(jù)unix/linux本身的權(quán)限管理特征:
對一個目錄的讀或?qū)憴?quán)限,必須包括對所有上級目錄的讀權(quán)限。
因此,所有cvs用戶,需要對/data 和 /data/cvsRep目錄有讀的權(quán)限。
4. 倉庫內(nèi)部的權(quán)限
(1) 使用cvs的所有用戶(包括cvs管理員和cvs普通用戶)必須擁有對/data/cvsRep/CVSROOT目錄及 其中所有文件的讀權(quán)限
(2) 使用cvs的所有用戶(包括cvs管理員和cvs普通用戶)必須擁有對/data/cvsRep/CVSROOT/history 文件的寫權(quán)限
(3) cvs管理員組擁有對配置目錄和文件/data/cvsRep/CVSROOT及其下所有文件的讀寫權(quán)限
(4) cvs普通用戶組,擁有對相應(yīng)project目錄的讀寫權(quán)限。
提示
為了方便配置,可以使用chgrp -R ...配合chmod命令,來修改目錄或文件的權(quán)限。
5.實(shí)例
5.1 用戶和組
group : cvsadmin
cvsteam1
cvsteam2
user : cvsroot (cvsadmin)
flying (cvsadmin,cvsteam1)
beibei (cvsteam1,cvsteam2)
cobyn (cvsteam1)
5.2 兩個項(xiàng)目
project1 (cvsteam1參與開發(fā))
project2 (cvsteam2參與開發(fā))
5.3 目錄的權(quán)限設(shè)置
[root@localhost /]# ls -l
...
drwxrwxr-x 3 root root 4096 10月 8 16:23 data
...
[root@localhost /]# ls -l /data
...
drwxrwxr-x 5 cvsroot cvsadmin 4096 10月 9 11:22 cvsRep
...
[root@localhost /]# ls -l /data/cvsRep
drwxrwxr-x 3 cvsroot cvsadmin 4096 10月 9 15:32 CVSROOT
d---rwx--- 2 cvsroot cvsteam1 4096 10月 9 17:34 project1
d---rwx--- 2 cvsroot cvsteam2 4096 10月 9 11:22 project2
[root@localhost /]# ls -l /data/cvsRep/CVSROOT
...
-rw-rw-rw- 1 cvsroot cvsadmin 157 10月 9 17:34 history
...
5.4 注意
5.3中省略了前面提到的對有關(guān)目錄內(nèi)的權(quán)限的遞歸設(shè)置的展示。
更多軟件測試相關(guān)文章:并行版本系統(tǒng)CVS簡單教程、CVS服務(wù)器安裝及使用簡介