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

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

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

    熱烈慶祝CVSNT架設(shè)成功!呵呵

    今天無聊,本機(jī)上試驗(yàn)架設(shè)了下CVSNT.基本搞懂CVSNT的架設(shè)配置.
    ???1.安裝CVSNT服務(wù)端(2.6版的安裝無法啟動控制面板,報編譯錯誤,后來換成2.5版的OK了.?原因未知,操作系統(tǒng)windows 2003)
    ???2.對建立倉庫,并且對CVSROOT系統(tǒng)目錄進(jìn)行配置.主要是用戶權(quán)限.主要文件包括(config,admin,readers,writers,password)
    ?? 3.Eclipse的CVS配置,或者用wincvs(公司用這個東東,一條小fish在蹦啊蹦的)
    ???可惜我是內(nèi)網(wǎng)代理上網(wǎng),只好先在本機(jī)測試下了,改天搬到公網(wǎng)上再測試下,以后我也有自己的版本控制拉.,呵呵.



    ????假設(shè)已經(jīng)安裝了WINCVS和CVSNT,并建立了倉庫。完成了登陸和導(dǎo)入導(dǎo)出的操作。

    1)管理員登陸以后把服務(wù)器中倉庫的CVSROOT目錄(Module)導(dǎo)出(Checkout)到一個工作目錄,比如“admin”。具體操作見“導(dǎo)出模塊”。

    CVS中目錄權(quán)限介紹:

    系統(tǒng)支持的目錄權(quán)限如下:

    r?????? (讀取權(quán)限)

    w?????? (寫入權(quán)限)

    c?????? (創(chuàng)建和刪除權(quán)限)

    n?????? (沒有任何權(quán)限)

    默認(rèn)情況下,任何用戶都擁有任何目錄的所有權(quán)限。

    任何情況下只有目錄的擁有者和管理員才有權(quán)力更改目錄的使用權(quán)限。下面將會介紹如何修改目錄權(quán)限和目錄的擁有者。

    2)對CVSROOT目錄的管理:

    CVSROOT目錄是在創(chuàng)建倉庫時有NTCVS建立的。里面包含了許多關(guān)于倉庫的信息的文件。

    認(rèn)證口令的時候,服務(wù)器先檢查 CVSROOT/passwd 文件中的用戶。如果找到用戶,就按CVS內(nèi)置的權(quán)限管理方法進(jìn)行認(rèn)證。如果沒有找到,或passwd 文件不存在,服務(wù)器將采用操作系統(tǒng)的用戶認(rèn)證機(jī)制。為安全起見,應(yīng)該采用CVS內(nèi)置的權(quán)限管理。具體方法如下:

    ???? 1) 在服務(wù)端 CVSROOT 目錄下建立文件passwd(不建立則在添加用戶時自動創(chuàng)建)。出于安全考慮,默認(rèn)不會將 passwd列在 checkoutlist 文件里面。既從客戶端導(dǎo)出CVSROOT時不會導(dǎo)出該文件。在WINCVS中轉(zhuǎn)到CVSROOT目錄。點(diǎn)擊主菜單“Admin->command line”或”ctrl+ L”彈出命令行對話框。在對話框中輸入增加管理員的命令:

    cvs passwd -a -r systemuser username

    ????????? //建立與系統(tǒng)用戶systemuser有相同權(quán)限的用戶,用戶名為username。?

    ????????? //當(dāng)某個用戶綁定的系統(tǒng)用戶被刪除時,則這個用戶也不能登陸。

    ? cvs passwd -a? username????????

    ??? ????????? //建立用戶名為username的用戶

    在兩次彈出的對話框輸入密碼。確認(rèn)即可。這時可以看到passwd文件多了一行

    username:CUXQwLMdoZHNs:systemuser????

    ???? username:CUXQwLMdoZHNs

    在增加管理員時,應(yīng)該使用第一種方法:命令為:

    cvs passwd -a -r Administrator username

    在實(shí)際操作中建議使用第一種命令。采用第二種命令增加的用戶有時在login時會出現(xiàn)不能登陸的情況(具體原因還不清楚)。

    2)修改CVSROOT下的配置文件 config,加入一行:“?SystemAuth=no”其中no表示用passwd檢查用戶密碼權(quán)限是否正確。yes 為默認(rèn)值,表示如果用戶在passwd文件中不存在,就用系統(tǒng)用戶檢查權(quán)限是否正確,這就使用了CVS內(nèi)置的權(quán)限管理功能了。???????????

    然后在CVSROOT下建立admin文件。這個文件是指定CVSNT的管理員列表的文件,CVSNT根據(jù)這個文件來判斷一個用戶是否是管理員。文件的內(nèi)容是一個用戶列表。如下:

    user1

    user2

    user3

    這些代表user1,user2,user3都是管理員,在此之前CVS將服務(wù)器的管理員用戶作為自己的管理員用戶的。

    3)在CVSROOT下加入文件readers,writers來控制用戶的讀寫權(quán)限。文件每行內(nèi)容與admin文件相同。格式為:?用戶名回車。

    特別注意的是:只有在writer文件中的用戶既能讀取,又能進(jìn)行提交修改。在readers中的用戶只能讀取,同時在兩個文件中的用戶只能讀取。在writers文件中必須有管理員的用戶名。因?yàn)楣芾韱T在操作控制時將會涉及到文件的讀寫。對于一般用戶就不要寫進(jìn)這兩個文件了。

    這樣就完成了對CVSROOT目錄的權(quán)限設(shè)定。不在readers和writers文件中的用戶將不能導(dǎo)出CVSROOT這個module。僅在readers文件中的用戶能進(jìn)行導(dǎo)出操作但不能進(jìn)行提交修改操作。僅在writers文件中的用戶能進(jìn)行導(dǎo)出和提交修改操作。

    下面講一下不使用系統(tǒng)管理員而自己建立的管理員的步驟:

    1. ????????????? 使用 命令 cvs passwd -a -r Administrator username建立一個和Administrator有相同權(quán)限的管理員用戶。

    2. ????????????? admin文件中添加該管理員的用戶名。

    3. ????????????? writers文件中添加該管理員的用戶名。

    4. ????????????? config 文件中添加一行代碼:SystemAuth=no,這樣就不能使用Administrator而只能使用自己建立的管理員進(jìn)行操作了。

    ?

    3)對一般目錄權(quán)限的設(shè)置

    1) ? 配置CVS庫模塊文件modules

    先從客戶端導(dǎo)入兩個module。比如test和localdir。在modules加入如下3行:

    ?????CVSROOT????????? ??CVSROOT?

    ?????目錄1?? ?-a?????? localdir?

    ?????目錄2??? -a?????? test

    第一列為描述信息,第二列為參數(shù)或空格。第三列為相對路徑。如果描述信息和相對路徑不同則需要參數(shù)“-a”。

    在導(dǎo)出模塊的時候(remote->checkout module),可以點(diǎn)擊module name and path on the server一欄旁邊的“...” 按鈕彈出窗口:

    ??? 這樣可以使客戶端更加方便的進(jìn)行module選擇。

    ?

    2) ? 為各個module進(jìn)行權(quán)限配置

    module在倉庫的下就是一個獨(dú)立的目錄。為module設(shè)置權(quán)限有兩種方法。第一種是手工配置,在module目錄下有一個子目錄CVS,在里面有一個fileattr.xml文件。在未設(shè)置以前打開文件如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <fileattr>

    ? <directory>

    ??? <owner>Administrator</owner>

    ? </directory>

    </fileattr>

    <owner></owner>之間設(shè)置目錄的所有者。 目錄的擁有者和管理員才有權(quán)力更改目錄的使用權(quán)限 。目錄權(quán)限未設(shè)置時,所有用戶對目錄有除了更改目錄權(quán)限以外的全部權(quán)限。在<directory></directory>之間加入以下代碼表示取消所有用戶對目錄的的默認(rèn)全部權(quán)限。

    <acl>

    ????? <all deny="1" />

    ??? </acl>

    <directory></directory>之間加入以下代碼表示用戶user具有創(chuàng)建、讀寫、注釋的權(quán)限。目錄的所有者也要通過以下代碼進(jìn)行權(quán)限設(shè)置。

    ??????? <acl user="user">

    ????????? <create />

    ????????? <read />

    ????????? <tag />

    ????????? <write />

    ??????? </acl>

    加入以上代碼以后文件如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <fileattr>

    ? <directory>

    <acl>

    ????? ????<all deny="1" />

    </acl>

    ??? <acl user="user">

    ????????? <create />

    ????????? <read />

    ????????? <write />

    ????????? <tag />

    ??????? </acl>

    ??? <owner>user</owner>

    ? </directory>

    </fileattr>

    第二種方法是使用命令來設(shè)置,其實(shí)也是通過命令來修改fileattr.xml文件來進(jìn)行權(quán)限設(shè)置。具體方法是在WINCVS中用管理員身份登陸并導(dǎo)出要設(shè)置的module。選中module,在文件信息欄顯示module的文件信息。打開命令行對話框輸入以下命令來設(shè)置。

    命令格式:

    cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]

    ??? -a access??? Set access(設(shè)置權(quán)限)

    ??? -d??????? Delete ACL(刪除目錄的控制權(quán)限)

    ??? -j branch??? Apply when merging from branch(合并分支時應(yīng)用)

    ??? -m message??? Custom error message(定制錯誤消息)

    ??? -n??????? Do not inherit ACL

    ??? -p priority??? Override ACL priority(不受目錄權(quán)限管理)

    ??? -r branch??? Apply to single branch(在單個分支上應(yīng)用)

    ??? -R??????? Recursively change subdirectories( 嵌套設(shè)置權(quán)限,對目錄下每個子目錄也進(jìn)行相同的目錄權(quán)限設(shè)置

    ??? -u user??????? Apply to single user(應(yīng)用在單個用戶)

    例如? cvs chacl -r –a none //取消所有用戶的默認(rèn)權(quán)限,禁止一切訪問。

    cvs chacl -R -u user -a read??? //設(shè)置用戶user有讀的權(quán)限。

    通過下面的代碼更改目錄所有者:

    cvs chown dirowner //dirowner為要設(shè)定的管理員??????

    通過下面的代碼顯示目錄的信息:

    cvs lsacl

    這兩種方法中,第二種方法比較簡單,不容易出錯。但在第二種方法沒有效果的時候可以用第一種方法進(jìn)行設(shè)置。第一種方法中的命令和以前的版本略有不同。具體見它的格式。

    ??? 以上就可以完成對目錄的權(quán)限設(shè)置。在模塊(module)下的每一個目錄下都會自動產(chǎn)生一個名為CVS的文件夾,里面都有一個fileattr.xml文件用來控制目錄的訪問權(quán)限。方法同上。

    ?

    3)關(guān)于分組(group)的應(yīng)用

    分組:將權(quán)限相同的用戶劃分到一組,這樣可以方便維護(hù)。就是角色的意思,分組使用在對模塊訪問權(quán)限的劃分的方法如下:

    a.在服務(wù)器端 CVSROOT目錄下新建文件 group。

    b.在文件中建立分組,group文件內(nèi)容如下:

    group1:user1 user2 user3

    group2:user5 user6 user7

    c.之后對組進(jìn)行權(quán)限劃分,和對單個用戶方式一樣,就可以使組內(nèi)用戶和組具有相

    同的權(quán)限,如 選中模塊,執(zhí)行如下命令可以使用戶 user1 user2 user3 同時具有對該模塊的讀權(quán)限了。

    ? cvs chacl -R -u group1 -a write

    fileattr.xml文件中加入如下代碼也可以使用戶 user1 user2 user3 同時具有對該模塊的讀寫:

    <acl user=guoup1>

    ????????? <create />

    ????????? <read />

    ? ????????<tag />

    ????????? <write />

    ??????? </acl>

    注意這里的group不用" " 。

    posted on 2006-11-17 17:16 Tom 閱讀(2120) 評論(2)  編輯  收藏 所屬分類: CVS

    評論

    # re: 熱烈慶祝CVSNT架設(shè)成功!呵呵 2006-11-18 00:16 lionheart

    頂一下  回復(fù)  更多評論   

    # re: 熱烈慶祝CVSNT架設(shè)成功!呵呵[未登錄] 2009-04-17 15:22 aaaa

    你好,我想問問你,我原來的cvsnt服務(wù)器壞了,但是我在其他機(jī)器上有備份,
    我怎么樣把備份導(dǎo)到新的cvsnt機(jī)器上,并且和原來的一樣使用
    我的email:jhx_008@163.com
    謝謝  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2006年11月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類(42)

    隨筆檔案(43)

    文章分類

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久精品国产亚洲AV麻豆不卡| 亚洲精品色婷婷在线影院| 亚洲av午夜福利精品一区人妖| 成人免费av一区二区三区| 免费中文字幕不卡视频| 男男黄GAY片免费网站WWW| 免费国产在线观看不卡| 国产亚洲视频在线| 亚洲av日韩片在线观看| 国产天堂亚洲精品| 亚洲美日韩Av中文字幕无码久久久妻妇 | 成人亚洲网站www在线观看| 亚洲av永久中文无码精品| 免费国产成人高清在线观看麻豆| 国产成人高清亚洲一区久久 | 中文字幕无码亚洲欧洲日韩| 久久综合AV免费观看| 日本亚洲高清乱码中文在线观看| 国产区卡一卡二卡三乱码免费 | 插鸡网站在线播放免费观看| 亚洲成av人影院| 亚洲成人免费电影| 中文字幕乱码亚洲精品一区| 国产一精品一aⅴ一免费| 在线视频网址免费播放| 91亚洲自偷手机在线观看| 18禁成年无码免费网站无遮挡| 亚洲av无码兔费综合| 亚洲综合在线另类色区奇米| 亚洲精品免费视频| 亚洲一本一道一区二区三区| 亚洲日韩在线观看免费视频| 永久免费不卡在线观看黄网站| 亚洲剧情在线观看| 亚洲色一色噜一噜噜噜| 最近中文字幕国语免费完整| 激情小说亚洲色图| 亚洲黄色在线播放| 亚洲精品成a人在线观看| 亚洲一区在线免费观看| 特黄特色大片免费|