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

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

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

    posts - 495,comments - 227,trackbacks - 0

    CVS用戶管理是 比較復(fù)雜的部分,也是十分重要的部分。通過CVS用戶管理可以創(chuàng)建CVS用戶,并給每個(gè)用戶賦予訪問各個(gè)目錄的權(quán)限。對于使用Pserver登陸的方式, 需要對資源庫的CVSROOT目錄以及在這個(gè)目錄樹里的所有目錄做嚴(yán)格的權(quán)限限制,這是因?yàn)?$CVSROOT/CVSROOT 目錄包含 passwd 和其它與安全審核相關(guān)的文件,任何對這些目錄具有寫訪問的用戶將有能力成為系統(tǒng)上的任何用戶。

    1 準(zhǔn)備知識(shí)

    CVSNT 的用戶驗(yàn)證方式分兩種:Windows系統(tǒng)用戶與CVSNT用戶共存的混合驗(yàn)證方式,及CVSNT用戶單一驗(yàn)證方式,默認(rèn)工作在混合驗(yàn)證方式下。選用混合 驗(yàn)證方式,創(chuàng)建CVSNT用戶的過程就是創(chuàng)建Windows用戶的過程,因此當(dāng)CVS用戶較多的時(shí)候,不容易管理,因此推薦使用單一驗(yàn)證方式。

    各個(gè)資源庫所使用的驗(yàn)證方式及用戶配置由其目錄下CVSROOT里的配置文件決定,其中有幾個(gè)比較重要的文件:

    l config文件

    控制CVSNT的驗(yàn)證工作方式的就是config文件,注意該文件最前面的兩行:

    #Set this to ‘no’ if pserver shouldn't check system users/passwords

    #SystemAuth=yes

    第二行就是我們要修改的內(nèi)容,默認(rèn)狀態(tài)是被注釋掉的,SystemAuth有兩個(gè)值yes和no:

    yes:pserver將使用Windows系統(tǒng)用戶和CVSNT用戶來共同驗(yàn)證(若CVSNT用戶未定義,則用Windows系統(tǒng)用戶來進(jìn)行驗(yàn)證),默認(rèn)為yes,CVSNT用戶在后面將要介紹的passwd文件中定義。

    no:只使用CVSNT用戶來進(jìn)行驗(yàn)證。

    該文件可以在客戶端進(jìn)行修改,因此我們可以檢出CVSROOT后,將第二行改為SystemAuth=no,并commit到CVSNT上就可以啟用單一驗(yàn)證方式了,注意啟用單一驗(yàn)證方式后原來的Windows系統(tǒng)用戶將無法登陸CVS。

    l admin文件

    該文件保存CVSNT管理員用戶列表,內(nèi)容很簡單,形式如下:

    User1

    User2

    User3

    每 一行定義一個(gè)管理員用戶,默認(rèn)時(shí)沒有該文件,但你可以在客戶端自己添加并add上去,再commit到CVSNT上,但是光有這個(gè)文件還是不會(huì)生效的,還 要將其添加到checklist文件中,使CVSNT能夠讀取該文件的內(nèi)容,在checklist中添加文件列表的格式為:

    [空格]文件名 出錯(cuò)信息

    其中文件名前的空格必須要有的,不然會(huì)出錯(cuò)。

    我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。

    l passwd文件

    服 務(wù)器工作在CVSNT用戶單一驗(yàn)證方式下的時(shí)候,這個(gè)文件定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名信息。默認(rèn)狀態(tài)下沒有該文 件,但是我們可以在CVSNT還工作在混合驗(yàn)證方式下時(shí),用系統(tǒng)管理員登錄,通過添加用戶命令來讓CVSNT自動(dòng)建立一個(gè)passwd文件。

    添加用戶的命令的示例:

    cvs passwd –r administrator –a cvsadmin

    之后系統(tǒng)提示輸入密碼,輸入后服務(wù)器會(huì)新建一個(gè)passwd文件。

    該文件的內(nèi)容很簡單,形式如下:

    cvsadmin:6kj2yopEuCacs:administrator

    wangp:Lm9pr9a1FAl0U

    chu:UnEKuKtsgm242

    以第一行為例:cvsadmin為用戶名,fqr1fS4gDghrt為CVS使用UNIX標(biāo)準(zhǔn)加密函數(shù)對密碼進(jìn)行加密后的結(jié)果,administrator為該用戶的別名,當(dāng)使用混合驗(yàn)證方式時(shí)對應(yīng)Windows系統(tǒng)用戶名。

    注意:這個(gè)文件是不能在客戶端進(jìn)行修改的,不能checkout出來。

    l group文件

    這個(gè)文件是定義系統(tǒng)的組,我們可以將同樣性質(zhì)的用戶歸入一個(gè)組,然后用給用戶賦權(quán)限的方式給組賦權(quán)限,這樣,一個(gè)組的用戶就會(huì)具有同樣的權(quán)限。Group的內(nèi)容如下:

    group1:user1 user2 user3

    group2:me you he

    group3:tom jerry

    有上面可以看出來,這個(gè)文件的內(nèi)容也是相當(dāng)?shù)暮唵危紫仁墙M的名稱然后是冒號,接著是用戶名,多個(gè)用戶名之間用空格來進(jìn)行分割。

    Group文件可以在客戶端進(jìn)行新建和修改,不用修改checkoutlist這個(gè)文件,系統(tǒng)會(huì)自動(dòng)build這個(gè)文件并且使之生效。

    2創(chuàng)建用戶
    2.1 設(shè)置環(huán)境變量

    在命令行創(chuàng)建用戶之前,必須設(shè)置兩個(gè)環(huán)境變量:

    CVSROOT:指向服務(wù)器倉庫的目錄;

    Path:指向CVSNT的安裝目錄。

    2.2 利用系統(tǒng)管理員創(chuàng)建CVS用戶

    首先要注意的是,在系統(tǒng)命令行中只有系統(tǒng)管理員可以創(chuàng)建用戶,CVS管理員不能創(chuàng)建用戶或者修改用戶密碼。

    1) 用Administrator用戶取出CVSROOT目錄;

    >cvs co CVSROOT

    2) 在CMD中進(jìn)入取出的CVSROOT目錄;

    3) 用cvs passwd –r administrator –a CVSAdmin命令建用戶并輸入用戶口令,這里使用administrator用戶為別名,可以使用其它系統(tǒng)中的用戶名建用戶,但由于這些用戶可能不會(huì) 被CVSNT使用,因?yàn)檫@些用戶沒有權(quán)限在默認(rèn)的臨時(shí)文件夾中寫臨時(shí)文件,所以客戶端不能正常工作。如果增加這個(gè)用戶的權(quán)限,卻帶來安全的隱患,因此建議 用administrator用戶作別名;

    4) 創(chuàng)建windows系統(tǒng)用戶cvsuser,權(quán)限為user。

    5) 多次使用cvs passwd –r cvsuser–a username命令創(chuàng)建cvs普通用戶,為每個(gè)使用cvs的用戶分配用戶名和密碼;

    6) 在取出的CVSROOT目錄中建一個(gè)文本文件:admin,在這個(gè)文件中填上Repository的管理員用戶,如:CVSAdmin,并將該文件上傳到服務(wù)器上;

    7) 在取出的CVSROOT目錄中修改checkoutlist文件,加入一行admin (注意前后均要有空格,否則可能會(huì)出錯(cuò)),上傳到服務(wù)器上,以便CVS服務(wù)器能自動(dòng)通過新建的文件知道管理員賬號;

    8) 在取出的CVSROOT目錄中修改config文件的SystemAuth=no,并去掉前面的注釋符號#,在提交之前要確認(rèn)一下你上面的修改是否正確,如果提交了這個(gè)文件,CVSNT驗(yàn)證模式就開始生效了,此時(shí),使用Windows系統(tǒng)用戶將無法登錄到CVS。

    2.3 利用CVS管理員創(chuàng)建CVS用戶

    如果安裝了WinCVS軟件,即使修改了config文件,也可利用前面創(chuàng)建的管理員賬號CVSAdmin創(chuàng)建CVS用戶。

    1) 在WinCVS中使用CVS管理員登錄,選中某個(gè)目錄后,選擇更改CVSROOT。

    clip_image002

    2) 如果當(dāng)前目錄的CVSROOT的用戶不是CVSAdmin,則將其改為CVSAdmin。

    clip_image004

    3) 在WinCVS中選擇管理命令行,如下圖所示

    clip_image006

    在彈出的對話框中輸入:

    cvs passwd–a wang

    同樣會(huì)提示您設(shè)置密碼,創(chuàng)建成功后,會(huì)在cvs log欄輸出:

    cvs passwd -a wang

    Adding user wang@132.134.0.88

    ***** CVS exited normally with code 0 *****

    同理可創(chuàng)建其他用戶。也可直接在log輸出界面輸入CVS命令

    4) 查看CVS服務(wù)器資源庫中的CVSROOT中的passwd文件,可發(fā)現(xiàn),wang已經(jīng)加入到passwd文件中,證明創(chuàng)建用戶成功。

    3 配置單個(gè)用戶權(quán)限

    只有管理員或者被賦予control權(quán)限的用戶才有權(quán)力對用戶進(jìn)行權(quán)限配置。下面介紹利用上述創(chuàng)建的CVS管理員賬戶CVSAdmin對CVS用戶進(jìn)行權(quán)限配置的具體過程。

    1) 先在WinCVS中以CVSAdmin用戶登錄,并將該文件夾的CVSROOT改為使用CVSAdmin登錄

    2) 由于WinCVS的命令行不支持cvs chacl命令,但是可以直接在WinCVS輸出中輸入chacl命令。當(dāng)然接下來的操作也可以在系統(tǒng)命令行中完成,在命令行中設(shè)定權(quán)限需要先進(jìn)入該文件夾目錄下,在命令行和在WinCVS中的命令格式不盡相同。

    3) 首先介紹在命令行中的格式:

    (a) 輸入“cvs chown CVSAdmin”,宣布該文件夾的擁有者為CVS管理員,這條命令執(zhí)行后,在該文件夾中的下一層目錄—“CVS”中的“fileattr.xml”已經(jīng)寫入了這個(gè)目錄的屬有者。

    (b) 用“cvs chacl –a noread,nocreate,nowrite,nocontrol”命令給文件夾設(shè)定默認(rèn)訪問權(quán)限。

    (c) 用“cvs chacl”命令設(shè)定文件夾的訪問權(quán)限,“cvs chacl”命令的詳細(xì)描述如下:

    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...]

    cvs rchacl [-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...]

    如: cvs chacl -R -a read,write -u user1

    現(xiàn)在分別對這幾個(gè)參數(shù)做一下說明:

    read 讀權(quán)限

    write 寫權(quán)限

    create 創(chuàng)建目錄的權(quán)限

    tag 創(chuàng)建tag權(quán)限

    control 控制權(quán)限

    all 所有權(quán)限

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

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

    任何情況下只有目錄的擁有者和或擁有control權(quán)限的用戶才有權(quán)力更改目錄的使用權(quán)限。

    需要說明的是,read|write|create|tag|control 之間沒有權(quán)力大小之分。如果有write權(quán)限的話,未必有read權(quán)限。如你只給某一個(gè)用戶寫的權(quán)限的話,他是無法讀出的。對于有寫權(quán)限的人,一般會(huì)給他讀的權(quán)限。

    對于create 只有創(chuàng)建目錄的權(quán)限,如果目錄下面有文件,你必須還要有write權(quán)限才行。

    對于control 如果某用戶對某目錄有control權(quán)限,那么這個(gè)用戶可以使用“cvs chacl”命令更改這個(gè)目錄的權(quán)限。

    對于all 如果某個(gè)用戶對某個(gè)目錄有all權(quán)限,那么這個(gè)用戶將擁有所有權(quán)限。

    對于tag 不需要有wirte權(quán)限也可以tag,但應(yīng)該給其read權(quán)限。

    需要說明的是:CVS不僅可以對目錄做權(quán)限控制,還能對文件做權(quán)限控制。

    4) 在WinCVS中的命令格式如下:

    (a) 同命令行設(shè)置方法一樣,輸入“cvs chown CVSAdmin”,宣布該文件夾的擁有者為CVS管理員

    (b) 用“cvs chacl”命令設(shè)定文件夾的訪問權(quán)限,“cvs chacl”命令的詳細(xì)描述如下:

    cvs chacl -R [-r tag] {user|default}:[{[r][w][c]|[n]}] [directory...]

    -R 遞歸到子目錄

    -r 對特殊分支設(shè)定權(quán)限

    其中權(quán)限設(shè)置比命令行中可設(shè)定的權(quán)限少,包括:

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

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

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

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

    注:這種方法在WinCVS中未測試成功,報(bào)錯(cuò)信息為:

    cvs [chacl aborted]: server does not support chacl

    通過上述幾個(gè)步驟設(shè)定好各個(gè)用戶的訪問權(quán)限后,可用“cvs lsacl”顯示該文件夾的所有用戶訪問權(quán)限。或者也可以通過查看服務(wù)器端該文件夾目錄下的“CVS”文件夾中的“fileattr.xml”查看。

    4 配置群組用戶權(quán)限

    上一小節(jié)中所闡述的方法只能一個(gè)一個(gè)的為單個(gè)用戶設(shè)定權(quán)限,當(dāng)項(xiàng)目參與人員過多時(shí),使用這種方法難免顯得繁瑣。這種情況可以使用group,位參與人員劃分群組,為每個(gè)群組分配相應(yīng)的用戶權(quán)限。其步驟如下:

    1) 在cvsclient端的CVSROOT目錄下,創(chuàng)建group文件,注意該文件沒有擴(kuò)展名,group文件的格式如下:

    group1:user1 user2

    group2:user3 user4

    group3:user5 user6

    例如一個(gè)group文件內(nèi)容如下:

    manager:zhang

    leader:chu

    developer:wu wang huang zhou wangp

    2) 將該group文件commit到CVS服務(wù)器端

    3) 先在WinCVS中以CVSAdmin用戶登錄,并將該文件夾的CVSROOT改為使用CVSAdmin登錄

    4) 在系統(tǒng)命令行中輸入

    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...]

    其中[-u user]的user,用group名稱代替,如:

    cvs chacl –R –a write,read,create –u developer

    這樣developer組中的所有用戶都將擁有讀、寫、創(chuàng)建的權(quán)限了。

    5 備注/注意事項(xiàng)

    本節(jié)介紹的CVS用戶管理的方法大多需要結(jié)合WinCVS使用,因此在不用WinCVS的情況下需要注意以下幾點(diǎn)。

    1) 安裝了CVSNT后,需要設(shè)定CVSROOT變量,指向CVSNT的資源庫存儲(chǔ)路徑

    2) CVSNT默認(rèn)采用混合式驗(yàn)證,所以在命令行可直接進(jìn)行CVS操作,默認(rèn)使用系統(tǒng)管理員作為CVS管理員。此時(shí)可直接創(chuàng)建用戶,但是此時(shí)創(chuàng)建的用戶需要和 系統(tǒng)用戶相關(guān)聯(lián),因此有必要?jiǎng)?chuàng)建一個(gè)cvsuser的系統(tǒng)user用戶。如果不關(guān)聯(lián)創(chuàng)建的用戶將無法登錄,使用CVS相關(guān)操作。

    3) CVS管理員無法創(chuàng)建用戶,只有系統(tǒng)管理員才能創(chuàng)建用戶。因此只有在建立完了所有的用戶后,才可將config中的SystemAuth改為no,改為 no以后只有CVS用戶才能登錄CVS,系統(tǒng)管理員將無法登錄CVS,也就無法創(chuàng)建CVS用戶。如果碰到此類情況,只有將SystemAuth重新改為 yes。但如果安裝了WinCVS,可結(jié)合WinCVS進(jìn)行用戶創(chuàng)建。

    4) 最后備注一點(diǎn),在使用WinCVS進(jìn)行CVS用戶管理的過程中,有非常重要的一步,就是將當(dāng)前文件的CVSROOT改為CVS管理員,不知道這步在系統(tǒng)命 令行中怎么設(shè)定。如果可以在命令行中將當(dāng)前目錄的CVSROOT設(shè)定,那即可在命令行中創(chuàng)建cvs用戶。當(dāng)前解決方法是在WinCVS中設(shè)定。

    posted on 2012-02-22 18:42 SIMONE 閱讀(5318) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲综合另类小说色区| 四虎国产精品免费久久| aaa毛片免费观看| 一级做a免费视频观看网站| 日本一区二区在线免费观看 | 亚洲成AⅤ人影院在线观看| 国产免费av片在线无码免费看| 香蕉高清免费永久在线视频| 久久久久国色AV免费观看性色| 成年女性特黄午夜视频免费看| 卡1卡2卡3卡4卡5免费视频| 四虎影视免费在线| 免费一级一片一毛片| 久久精品国产亚洲5555| 亚洲欧洲日产国码av系列天堂| 亚洲乱码无码永久不卡在线| 亚洲AV无码日韩AV无码导航| 97亚洲熟妇自偷自拍另类图片 | 四虎永久免费观看| 亚洲精品偷拍视频免费观看| 亚洲乱亚洲乱妇无码麻豆| 国产亚洲综合一区柠檬导航| 一区二区三区亚洲| 亚洲一级毛片在线播放| 亚洲AV无码国产一区二区三区| 四虎影视永久在线精品免费| a视频免费在线观看| 中文字幕免费在线| 午夜一级毛片免费视频| 亚洲人成人无码网www国产| 亚洲AV无码专区在线播放中文 | 亚洲片一区二区三区| 亚洲AV日韩精品久久久久| 亚洲av乱码一区二区三区| 精品在线免费视频| 老司机69精品成免费视频| a拍拍男女免费看全片| 日本久久久免费高清| 自拍偷自拍亚洲精品被多人伦好爽 | 在线观看免费播放av片| 91麻豆最新在线人成免费观看|