<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825447
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    轉:http://www.iteye.com/topic/191883

    CVS是一個很成熟的版本控制系統,它是開源世界的杰作,并且已經成為開源組織使用的標準版本控制系統,在幾乎所有的開源項目中得到應用。

        也正是由于CVS產生和應用于開源世界,使得它在代碼的訪問控制方面存在先天性的不足,在應用于大中型的商業項目的代碼管理中收到一定的限制。因為這類型 的項目通常都需要比較細致的分工,不同的小組分別負責不同模塊的開發,代碼需要比較嚴格的訪問控制,不同的開發人員只能訪問授權的代碼。

        幸運的是,CVS是一個開源的軟件,我們有什么需要的話可以通過修改它的源代碼來實現。CVSACL就是實現訪問控制的CVS補丁。它本身也是一個開源的項目,項目主頁是http://cvsacl.sourceforge.net/index.html 。它提供了對CVS的模塊,目錄和文件以及分支和tag的高級訪問控制。CVSACL定義了8級不同的訪問權限,分別是:

    權限

    關鍵字

    說明

    沒有權限

    n

    用戶不能做任何cvs操作

    讀權限

    r

    可以執行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令

    寫權限

    w

    可以執行commit/checkin命令

    tag

    t

    可以執行tag/rtag命令,依賴讀權限

    創建

    c

    可以執行add import 命令

    刪除

    d

    可以執行rm命令

    全部權限

    a

    可以執行所有cvs命令處理cvsacl管理命令

    管理權限

    p

    可以執行所有命令

    1.  下載CVSACL:

    通過如下網址可以下載到CVSACL相關程序,目前最新版本是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.  CVS服務器的配置:

    (1) 修改配置文件:

    [root@localhost /]# vi /etc/services

    查看是否有:

    cvspserver 2401/tcp #CVS client/server operations
    cvspserver 2401/udp #CVS client/server operations

    注:系統自帶了CVS時,這2行也已經有了,只需要確認一下。如果沒有,請自己加上去。

    (2) 創建CVS啟動腳本:

    [root@localhost /]# vi /etc/xinetd.d/cvspserver

    內容如下:

    service cvspserver
    {
    disable = no
    flags = REUSE
    socket_type = stream
    wait = no
    user = root
    server = /usr/bin/cvs
    server_args = -f --allow-root=/home/cvsroot pserver
    log_on_success += USERID
    log_on_failure += USERID
    }

    注:其中,server指定CVS可執行文件路徑,默認安裝就是/usr/bin/cvs,server_args指定源代碼庫路徑及認證方式等, 例子中把源代碼存放在cvsroot的主目錄中,也可以另外指定路徑,但必須注意權限設置,pserver是密碼認證方式,這種方式的安全性要差一些,但 操作起來比較簡單。請注意每行等號左右都有一個空格,否則無法啟動服務。

    (3) 重新啟動xinetd服務:

    [root@localhost /]# service xinetd restart

    查看是否啟動:[root@localhost /]# netstat -l | grep cvspserver

    屏幕顯示:tcp 0 0 *:cvspserver *:* LISTEN

    說明已經正常啟動,如果沒有請做如下檢查:

    <1>請檢查vi /etc/xinetd.d/cvspserver文件中的server = /usr/bin/cvs路徑和實際執行文件所在位置是否一致;(一般這步驟即可解決該問題)

    <2>請重新檢查配置過程是否有錯誤或者遺漏;

    <3>最后還必須檢查防火墻的設置,把2401端口打開。

    4.  CVSACL權限設置:

    (1) 創建用于CVS的專用系統組和用戶:

    [root@localhost /]# groupadd cvsroot

    [root@localhost /]# useradd –g cvsroot cvsadmin

    (2) 初始化cvs服務器環境:

    [root@localhost /]# cvs -d /cvstest init

    (3) 設置CVS配置庫歸屬及權限:

    [root@localhost /]# chown –R cvsadmin.cvsroot /cvstest

    [root@localhost /]# chmod –R 770 /cvsroot

    (4) 修改CVSROOT/CVSROOT/aclconfig配置文件:

    [root@localhost /]# vi /cvstest/CVSROOT/aclconfig

    UseSystemGroups=yes 行首添加“#”,表示注釋掉。

    UseCVSGroup=yes 去除行首的“#”,表示啟用此句。

    (5) 創建CVS用戶及組:

    [root@localhost /]# cd /cvstest/CVSROOT

    [root@localhost /]# htpasswd –c passwd yueyx

    [root@localhost /]# vi passwd

    yueyx:*******:cvsadmin

    將passwd文件中的所有cvs用戶映射到同一個系統用戶cvsadmin上。

    [root@localhost /]# vi group

    文件格式:

    group1:x:1:yueyx,test1

    用戶之間用 “,”分割。

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

    (6) 使用cvsacl細化權限:

    [root@localhost /]# cvs -d /cvstest racl yueyx:wcd –R Project/doc

    說明:/cvstest:配置庫路徑 yueyx:用戶 wcd:參見本文“CVSACL定義了8級不同的訪問權限”表格。 Project :配置庫中的Module(模塊),doc:Module(模塊)下的目錄


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

    - R 進行目錄遞歸

    - r rev 設定版本/標簽

    - l列出已定義的ACLs權限



    posted on 2011-09-21 15:00 Ke 閱讀(465) 評論(0)  編輯  收藏 所屬分類: cvs
    主站蜘蛛池模板: 成人免费一区二区三区| 四虎免费影院ww4164h| 国产高清免费的视频| 中中文字幕亚洲无线码| 免费国产黄网站在线观看视频| 91亚洲自偷在线观看国产馆| 无码国产精品一区二区免费16 | 免费国产黄网站在线观看动图| 亚洲AV色欲色欲WWW| 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲第一街区偷拍街拍| 国产情侣激情在线视频免费看| 免费国产成人午夜私人影视| 亚洲av日韩av永久在线观看| 免费观看美女裸体网站| 亚洲AV噜噜一区二区三区| 免费一级毛片一级毛片aa| 国产日韩在线视频免费播放| 亚洲国产精品SSS在线观看AV| 亚洲a无码综合a国产av中文| gogo全球高清大胆亚洲| 一级做a毛片免费视频| 亚洲三区在线观看无套内射| 99国产精品视频免费观看| 亚洲一区二区三区高清不卡| 国产无遮挡吃胸膜奶免费看视频| 77777_亚洲午夜久久多人| 亚洲精品动漫免费二区| 亚洲av日韩综合一区久热| 久久久久久A亚洲欧洲AV冫| 99在线免费观看视频| 亚洲午夜成人精品无码色欲| 亚洲人成色77777在线观看大| 亚洲AV无码国产精品永久一区| 日韩精品人妻系列无码专区免费 | 亚洲综合色婷婷七月丁香| 性无码免费一区二区三区在线| 日本高清免费aaaaa大片视频| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲大码熟女在线观看| 中文字幕久久亚洲一区|