==使用CVSACL進行CVS權(quán)限訪問控制(for Linux)==

              CVS是一個很成熟的版本控制系統(tǒng),CVSACL就是實現(xiàn)訪問控制的CVS補丁。它本身也是一個開源的項目,項目主頁是http://cvsacl.sourceforge.net/index.html 。它提供了對CVS的模塊、目錄和文件以及分支和tag的高級訪問控制。CVSACL定義了8級不同的訪問權(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-1.2.5

          https://sourceforge.net/project/showfiles.php?group_id=75057&package_id=77484&release_id=423655

          cvsacl-1.2.5-for-cvs-1.11.22.tar.gz

          cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          2.  安裝CVSACL:

          安裝方法:cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          [root@localhost setup_cvs]# tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz   // 解壓縮cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          [root@localhost setup_cvs]# mv cvs-1.11.22-cvsacl-1.2.5-patched cvs-1.11.22   // 修改cvs-1.11.22-cvsacl-1.2.5-patched目錄名稱為 cvs-1.11.22

          [root@localhost setup_cvs]# cd cvs-1.11.22    // 進入cvs-1.11.22

          [root@localhost cvs-1.11.22]# ./configure    // 編譯安裝

          [root@localhost cvs-1.11.22]# make

          [root@localhost cvs-1.11.22]# make install

          [root@localhost setup_cvs]# cvs –version    // 查看cvs版本

          Concurrent Versions System (CVS) 1.11.22 (client/server)

          with CVSACL Patch 1.2.5 (cvsacl.sourceforge.net)

          注:不需要特意刪除舊版本的CVS。

          3.  修改aclconfig配置文件
          [newcvsroot@localhost CVSROOT]$ vi aclconfig  // 該配置文件在cvs根目錄的CVSROOT下,如/data/cvs/CVSROOT/
          UseCVSACL=yes    // 行首去除“#”,啟用該配置項。

          UseSystemGroups=yes   // 行首添加“#”,注釋該配置項。

          UseCVSGroup=yes    // 行首去除“#”,啟用該配置項。

          3.  創(chuàng)建用戶和組進行賦權(quán)
          [newcvsroot@localhost CVSROOT]$ pwd
          /datanew/cvs/CVSROOT     // 創(chuàng)建用戶和組要在CVSROOT下進行,并且執(zhí)行用戶必須是CVSROOT對應(yīng)的屬主用戶,即newcvsroot,該用戶在搭建cvs服務(wù)器時配置。
          [newcvsroot@localhost CVSROOT]$ htpasswd -b passwd username passwd   // 新增用戶并設(shè)定密碼,已有用戶的密碼更新也可用該命令。
          [newcvsroot@localhost CVSROOT]$ vi passwd

          kevins:*******:newcvsroot     // 將passwd文件中的所有cvs用戶映射到同一個系統(tǒng)用戶newcvsroot上。

          [newcvsroot@localhost CVSROOT]$ vi group

          文件格式:

          group1:x:10:ii,kevins,ava   // 用戶之間用 “,”分隔,“ii”為無效的首個用戶。

          注:cvsacl有個bug,必須在組用戶最前邊添加一個不存在的cvs用戶,group文件才會生效,原因不明,但此方法確實管用。

          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)限時用這個組合,詳細(xì)說明見本文“CVSACL定義了8級不同的訪問權(quán)限”表格
                CODE/03.PRODUCT/12.CCP:配置庫中的Module(模塊)路徑


          格式:cvs –d 配置庫位置 racl [用戶||組:權(quán)限] [-Rl] [-r tag] [模塊…] [文件…]

          - R 進行目錄遞歸

          - r rev 設(shè)定版本/標(biāo)簽

          - l 列出已定義的ACLs權(quán)限

          備注:該賦權(quán)命令要在CVSROOT目錄中執(zhí)行,執(zhí)行完后vi access進行查看是否已寫入權(quán)限文件中。



           









           

          posted on 2011-07-25 15:12 XuFeng 閱讀(613) 評論(0)  編輯  收藏 所屬分類: Work Experience

          <2011年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 伊吾县| 仲巴县| 基隆市| 娱乐| 宝坻区| 惠州市| 叶城县| 台安县| 沧州市| 库尔勒市| 江阴市| 兴安盟| 石棉县| 章丘市| 伊宁市| 平邑县| 读书| 长岛县| 若羌县| 温州市| 昭平县| 张家川| 张家口市| 罗山县| 苍溪县| 荔波县| 礼泉县| 杂多县| 拉孜县| 台北县| 临夏县| 宾川县| 沙田区| 重庆市| 拉孜县| 许昌县| 克东县| 岳普湖县| 灵台县| 宜城市| 扎赉特旗|