• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 管理CVS服務器

    發表于:2007-06-09來源:作者:點擊數: 標簽:
    只包含CVS簡單的權限管理 CVS 服務器 建立以后,大家最關心的就是如何管理服務器,比如,我想讓一些人有讀和/或寫 CVS 倉庫的權限,但是不想給它系統權限怎么辦呢? 不難,在 cvs 管理員用戶(在我這里是 cvsroot 用戶)的家目錄里有一個 CVSROOT 目錄,這個
    只包含CVS簡單的權限管理


      CVS服務器建立以后,大家最關心的就是如何管理服務器,比如,我想讓一些人有讀和/或寫 CVS 倉庫的權限,但是不想給它系統權限怎么辦呢?
      不難,在 cvs 管理員用戶(在我這里是 cvsroot 用戶)的家目錄里有一個 CVSROOT 目錄,這個目錄里有三個配置文件,passwd, readers, writers,我們可以通過設置這三個文件來配置 CVS 服務器,下面分別介紹這幾個文件的作用:
      passwd:cvs 用戶的用戶列表文件,它的格式很象 shadow 文件:
      {cvs 用戶名}:[加密的口令]:[等效系統用戶名]
      如果你希望一個用戶只是 cvs 用戶,而不是系統用戶,那么你就要設置這個文件,剛剛安裝完之后這個文件可能不存在,你需要以 cvs 管理員用戶手工創建,當然要按照上面格式,第二個字段是該用戶的加密口令,就是用 crypt (3)加密的,你可以自己寫一個程序來做加密,也可以用我介紹的偷懶的方法:先創建一個系統用戶,名字和 cvs 用戶一樣,口令就是準備給它的 cvs 用戶口令,創建完之后從 /etc/shadow 把該用戶第二個字段拷貝過來,然后再把這個用戶刪除。這個方法對付數量少的用戶比較方便,人一多就不合適了,而且還有沖突條件(race condition)的安全隱患,還要 root 權限,實在不怎么樣。不過權益之計而已。寫一個小程序并不難,可以到 linuxforum 的編程版搜索一下,有個朋友已經寫了一個貼在上面了。
    第三個字段就是等效系統用戶名,實際上就是賦與一個 cvs 用戶一個等效的系統用戶的權限,看下面的例子你就明白它的功能了。
    readers:有 cvs 讀權限的用戶列表文件。就是一個一維列表。在這個文件中的用戶對 cvs只有讀權限。
    writers:有 cvs 寫權限的用戶的列表文件。和 readers 一樣,是一個一維列表。在這個文件中的用戶對 cvs 有寫權限。
    上面三個文件在缺省安裝的時候可能都不存在,需要我們自己創建,好吧,現在還是讓我們用一個例子來教學吧。假設我們有下面幾個用戶需要使用 cvs:
    laser, gumpwu, henry, betty, anonymous。
    其中 laser 和 gumpwu 是系統用戶,而 henry, betty, anonymous 我們都不想給系統用戶權限,并且 betty 和 anonymous 都是只讀用戶,而且 anonymous 更是連口令都沒有。那么好,我們先做一些準備工作,先創建一個 cvspub 用戶,這個用戶的責任是代表所有非系統用戶的 cvs 用戶讀寫 cvs 倉庫。
    #adduser
    ...
    然后編輯 /etc/group,令 cvspub 用戶在 cvs 組里,同時把其它有系統用戶權限的用戶加到 cvs 組里。(見上文)
    然后編輯 cvs 管理員家目錄里 CVSROOT/passwd 文件,加入下面幾行:
    laser:$xxefajfka;faffa33:cvspub
    gumpwu:$ajfaal;323r0ofeeanv:cvspub
    henry:$fajkdpaieje:cvspub
    betty:fjkal;ffjieinfn/:cvspub
    anonymous::cvspub
    注意:上面的第二個字段(分隔符為 :)是密文口令,你要用程序或者用我的土辦法生成。
    編輯 readers 文件,加入下面幾行:
    anonymous
    betty
    編輯 writers 文件,加入下面幾行:
    laser
    gumpwu
    henry
    注意:writers中的用戶不能在readers中,要不然不能上傳更新文件。

    對于使用CVS的用戶要修改它的環境變量,例如laser用戶的環境變量,打開/home/laser(laser的宿主目錄)下的.bash_profile文件,加入
    CVSROOT=/home/cvsroot
    export CVSROOT
    用laser登陸就可以建立CVS項目,如果要root使用,可以修改/etc/profile文件。

    現在我們各項都設置好了,那么怎么用呢,我在這里寫一個最簡單的(估計也是最常用的)命令介紹:
    首先,建立一個新的CVS項目,一般我們都已經有一些項目文件了,這樣我們可以用下面步驟生成一個新的CVS項目:
    進入到你的已有項目的目錄,比如叫 cvstest:
    $cd cvstest
    運行命令:
    $cvs import -m "this is a cvstest project" cvstest v_0_0_1 start
    說明:import 是cvs的命令之一,表示向cvs倉庫輸入項目文件。 -m參數后面的字串是描述文本,隨便寫些有意義的東西,如果不加 -m 參
    數,那么cvs會自動運行一個編輯器(一般是vi,但是可以通過修改環境變量EDITOR來改成你喜歡用的編輯器。)讓你輸入信息,cvstest 是項目名稱(實際上是倉庫名,在CVS服務器上會存儲在以這個名字命名的倉庫里。)
    v_0_0_1是這個分支的總標記。沒啥用(或曰不常用。)
    start 是每次 import 標識文件的輸入層次的標記,沒啥用。
    這樣我們就建立了一個CVS倉庫了。
    建立CVS倉庫的文件夾應該是“干凈”的文件夾,即只包括源碼文件和描述的文件加,而不應該包括編譯過的文件代碼等!

    參考:http://case.51cmm.com/CM/No095.htm

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>