国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

如何配置和使用ssh驗(yàn)證的cvs服務(wù)器
2005-11-25   

cvs(Concurrent Version System)是一種非常普及的版本控制工具。盡管其功能不如Perforce、Subversion等強(qiáng)大,但由于其便于配置、使用簡單,并且,推出時間較長,因此在各種個樣的軟件項(xiàng)目中應(yīng)用十分廣泛。
首先是安裝FreeBSD并應(yīng)用安全補(bǔ)丁。這一步非常簡單,下載一張F(tuán)reeBSD(即將推出的5.2-RELEASE是一個不錯的選擇,在這篇文章發(fā)表時,這個版本可能已經(jīng)能夠下載了)的mini iso燒成CD-ROM,然后安裝就可以了(選擇“Minimum”安裝)。注意,為了能夠使用ssh驗(yàn)證,請務(wù)必安裝crypto。為這臺機(jī)器配置網(wǎng)絡(luò),等等之后,重新啟動就好了。
然后是安裝一些必要的package。FreeBSD 4.x內(nèi)建了perl,而在5.x中,perl被從基本系統(tǒng)中刪去了。為了能夠更好地使用包括ACL、commit mail在內(nèi)的一系列功能,必須安裝perl。
我個人推薦使用ports中的5.8.x版本的perl。在安裝之前,首先確信系統(tǒng)中沒有perl 5.6.x的安裝,對于新系統(tǒng),大可以放心地執(zhí)行下面的命令:
這將刪除已經(jīng)存在的任何package。一般來說,絕大多數(shù)FreeBSD用戶都使用cvsup來更新系統(tǒng),然而在發(fā)行的光盤中,cvsup-without-gui并沒有包含在內(nèi),而普通的cvsup package則需要X11的一系列庫。為了避免麻煩,可以考慮下面兩種不同的途徑來完成第一次的代碼更新工作:
我個人推薦使用第一種方法,當(dāng)然,第二種方法應(yīng)該會更快一些,而且不需要手工編譯cvsup。隨后,安裝Perl 5.8.x:
cd /usr/ports/lang/perl5.8 && make all install clean && rehash緊接著我們會遇到一個很嚴(yán)重的問題:ports里面的use.perl腳本并不知道系統(tǒng)中原本沒有安裝perl,因此在執(zhí)行的時候會出錯——這時,只需要為perl做一個符號連接就可以了。做好之后,執(zhí)行:
use.perl port這樣use.perl腳本會幫助你完成修改配置文件(如/etc/make.conf)等一系列工作。此處不表,稍微配置一下OpenSSH(sshd)的配置,一般來說,增加下面兩行:
Protocol 2
PasswordAuthentication no這么做的好處:(1)只允許ssh2協(xié)議登錄,這能夠提供更好的安全性(2)不允許使用口令登錄,這毫無疑問地將提高安全性。

好了,前期配置基本上就結(jié)束了。不要忘了創(chuàng)建一個用于cvs用戶的組,例如,ncvs,以及一個用于管理cvs repository的用戶,如repoman(它當(dāng)然要屬于ncvs那個組),然后,創(chuàng)建一個目錄來保存cvs repository,本例中,我們把它放到/home/ncvs中:
rm -rf /home/ncvs
mkdir -p /home/ncvs
chown -R repoman:ncvs /home/ncvs
chmod -R 775 /home/ncvs接下來就是初始化這個repository了,簡單地執(zhí)行:
su -l repoman
cvs -d /home/ncvs init就可以了。

目前,所有的FreeBSD版本中包含的cvs都存在一個微小的安全漏洞,盡管這個漏洞只能在本地利用,但建議您把它補(bǔ)上方法是找到 /usr/src/contrib/cvs/src/expand_path.c 中的

return current_parsed_root->original;

一行,把它改為

return current_parsed_root->directory;

當(dāng)然,接下來就是重新make world kernel了。需要說明的是,如果您使用的是5-CURRENT,還需要修改一些代碼才能讓它達(dá)到5.2-RELEASE那樣的性能(-CURRENT中打開了大量的調(diào)試選項(xiàng)),具體方法這里不再贅述。



接著配置cvs commitmail和ACL。我個人認(rèn)為commitmail是團(tuán)隊(duì)軟件開發(fā)中非常重要的一件東西,對于cvs來說,這一點(diǎn)尤為重要,因?yàn)閏vs沒有原子提交功能,而commitmail恰好彌補(bǔ)了這個不足。
FreeBSD的開發(fā)團(tuán)隊(duì)使用了一套很好的perl腳本來完成commitmail的功能,同時,他們還使用cvs的hook實(shí)現(xiàn)了簡單的訪問控制功能(ACL)。我本人使用的cvs repository基于FreeBSD的CVSROOT,并且作了少量的修改,您可以從 http://resources.delphij.net/projects/CVSROOT.tbz 下載。
使用這個CVSROOT覆蓋您的CVSROOT,并且,您還需要把其中freebsd目錄下的mailsend.c編譯并將結(jié)果放到/usr/local/bin中(這個CVSROOT中的腳本假定這件事)。另外,這個CVSROOT需要一些修改才能正式投入使用(例如,機(jī)器名,等等)。這些設(shè)置可以在cfg_local.pm里面找到:
$MAILADDRS = 'cvs-all@example.org';這個是commitmail將要發(fā)送到的地方。
$MAIL_BRANCH_HDR = "X-Phantasm-CVS-Branch";這個是將要添加到commitmail頭部的信息,如果您使用郵件列表的話,它能夠幫助郵件列表自動分揀。
$MAILBANNER = "The Phantasm Studio repository";這一行將出現(xiàn)在commitmail中,表示commit到了哪一個repository。
if ($hostname =~ /^cvs\.example\.org$/i)這個是判斷commit的主機(jī)名的
$CVSWEB_URL = "http://cvsweb.example.org/cgi-bin/cvsweb.cgi";這個是cvsweb服務(wù)的網(wǎng)址
簡單介紹一下CVSROOT中的其他文件
avail: 這個文件用于控制用戶組的訪問權(quán)限。
access: 這個文件用于控制誰能夠執(zhí)行cvs操作。
exclude: 這個文件用于控制那些文件不需要檢查cvs tag
options: 這個文件用于控制cvs tag的展開,例如,可以定義$Phantasm$,等等

使用ssh驗(yàn)證的一個比較讓人頭疼的問題就是,ssh意味著用戶擁有一個系統(tǒng)賬號,并且,他們能夠登錄進(jìn)來。如果配置不當(dāng),他們還能得到一個shell,這很自然地會成為潛在的安全隱患。
因此,必須非常小心地處理cvs的ssh驗(yàn)證問題。基本的原則是:禁止用戶作任何操作,除非我們允許他們這么做。
按照下面的規(guī)則創(chuàng)建用戶:
  • 用戶的“主”組是ncvs(這不僅限制用戶的權(quán)限,也讓我們能夠更容易地控制其他用戶不能在cvs repository里面隨意commit)
  • 用戶不使用口令驗(yàn)證,這將緩解由于不正確地設(shè)置ftp等造成的安全隱患
  • 仍然給用戶一個shell,這個“shell”可以是一個perl腳本,它只允許執(zhí)行cvs 開頭的命令
    隨后,讓用戶使用openssh的ssh-keygen生成自己的密鑰對。OpenSSH在絕大多數(shù)*BSD和Linux發(fā)行版中都可以找到,如果用戶使用的是Windows桌面,則需要安裝cygwin(特別地,安裝net中的OpenSSH),當(dāng)然,執(zhí)行的命令是一樣的:
    ssh-keygen -t dsa -b 2048對于偏執(zhí)狂型安全愛好者,可以考慮將-b后面的2048換成4096。當(dāng)然,根據(jù)木桶原理,如果你真是一個偏執(zhí)狂的話,顯然也應(yīng)該強(qiáng)迫你的所有合作者也都使用至少和你一樣長的密鑰:)
    之后,管理員應(yīng)該把用戶(committer)的key放到服務(wù)器上用戶對應(yīng)的文件夾中的authorized_keys里面。例如,我的一個public key如下: 說明:public key是不允許折行,這里是為了排版方便。我們剛才給用戶開了shell,這仍然是潛在的隱患,于是我們收緊這方面的安全性,在public key項(xiàng)目前加入下面的文字:
    command="/usr/bin/cvs --allow-root=/home/ncvs server"于是,整個行看起來應(yīng)該像下面這樣:
    command="/usr/bin/cvs --allow-root=/home/ncvs server" ssh-dss AAAAB
    [.............................中間省略............................]
    X5wr2lI4RgA9w== bitripper@grimreaper.delphij.net這個command的意思是ssh上來就執(zhí)行/usr/bin/cvs --allow-root=/home/ncvs server這個命令,而且,只能執(zhí)行這個命令。這樣,除非在cvs本身中存在漏洞,否則,不可能通過ssh切出真正的shell。--allow-root限定了能夠使用的repository,這樣,用戶不能隨便指定其他的repository,因而,試圖破壞安全性將變得更加困難。如果需要多個repository,也可以指定多個allow-root參數(shù)。
    需要說明的是,如果用戶擁有多個public key,則需要在每個public key之前指定command。

    配置cvsweb是相當(dāng)簡單的。首先安裝apache(我嘗試過1.3.x和2.0.x),配置停當(dāng),從port里面安裝cvsweb就可以了:
    cd /usr/ports/devel/cvsweb && make all installl clean然后去修改它的配置文件:
    cd /usr/local/etc/cvsweb
    vi cvsweb.conf找到
    @CVSrepositories = (一行,按照其中的例子在下面增加自己的repository,例如:
    'ncvs' => ['New CVS Repository', '/home/ncvs'],有多少寫多少,當(dāng)然,@CVSrepositories的第一個將是直接訪問cvsweb.cgi時出現(xiàn)的repository。
    在FreeBSD 5.1-CURRENT的開發(fā)過程中所進(jìn)行的一些修改造成了ports中的cvsweb無法正常地調(diào)用cvs和rcs工具,這將導(dǎo)致它無法正常工作。為了解決這個問題,可以從下面的網(wǎng)址找到最新版本的cvsweb:
    http://www.freebsd.org/projects/cvsweb.html
    筆者撰寫本文時,最新的cvsweb版本是2.9.1 beta。在安裝之前,需要先安裝另外兩個port:
    cd /usr/ports/devel/p5-IPC-Run && make all install clean
    cd /usr/ports/net/p5-URI && make all install clean然后把下載的tbz文件解包,復(fù)制到適當(dāng)?shù)奈恢?cgi-bin和相關(guān)的圖片目錄)就可以用了。

  • 熱詞搜索:

    上一篇:freebsd5.4安裝后ssh不能訪問的解決方法
    下一篇:使用SSH Security Shell生成并使用非對稱密鑰登錄FreeBSD5.4

    分享到: 收藏
    国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
    欧美一区二区三区小说| 亚洲图片欧美综合| 欧美一区二视频| 色播五月激情综合网| 成人理论电影网| 亚洲成a人v欧美综合天堂| 国产精品欧美一级免费| 国产亚洲欧美日韩日本| 精品国产免费人成电影在线观看四季| 欧美性做爰猛烈叫床潮| 一本久久精品一区二区| 成人a区在线观看| 国产成人午夜片在线观看高清观看 | 成人午夜视频福利| 老司机精品视频线观看86| 青娱乐精品在线视频| 香蕉久久夜色精品国产使用方法 | 中文字幕一区二区在线观看| 久久久久久久久久久久久女国产乱 | 奇米777欧美一区二区| 亚洲午夜久久久久久久久电影院| 综合电影一区二区三区| 中文字幕一区二区在线观看| 国产精品色在线观看| 国产精品久久久久一区二区三区共| 欧美激情一二三区| 国产精品萝li| 最新国产成人在线观看| 亚洲人成伊人成综合网小说| 亚洲精品久久久蜜桃| 亚洲综合自拍偷拍| 亚洲成a天堂v人片| 天堂一区二区在线| 亚洲地区一二三色| 亚洲综合av网| 亚洲成人av电影| 日本成人在线网站| 日本91福利区| 国产一区二区电影| 暴力调教一区二区三区| 色婷婷av一区二区三区大白胸| 色噜噜狠狠色综合欧洲selulu| 91一区二区在线观看| 欧美四级电影在线观看| 欧美精品免费视频| 日韩情涩欧美日韩视频| 久久亚洲综合色| 国产精品乱人伦中文| 亚洲精品乱码久久久久久黑人| 性做久久久久久久免费看| 青青草精品视频| 久久电影网电视剧免费观看| 丰满放荡岳乱妇91ww| 91丨porny丨中文| 色伊人久久综合中文字幕| 欧美日韩国产精品自在自线| 精品少妇一区二区三区在线视频| 久久精品一二三| 亚洲另类春色校园小说| 日日夜夜精品视频天天综合网| 成人动漫一区二区在线| 欧美一区二区播放| 亚洲丝袜制服诱惑| 狠狠久久亚洲欧美| 欧美午夜精品电影| 国产欧美精品国产国产专区| 青娱乐精品视频在线| 色视频一区二区| 国产三级一区二区| 午夜不卡av免费| 欧美日韩一区国产| 欧美国产97人人爽人人喊| 青青草原综合久久大伊人精品优势| 色香色香欲天天天影视综合网| 久久这里只有精品6| 日韩在线观看一区二区| 91网页版在线| 国产视频视频一区| 久久99热99| 91精品欧美久久久久久动漫| 亚洲一区二区三区小说| 色综合久久综合| 国产精品少妇自拍| 国产成人一级电影| 久久久久久日产精品| 日本aⅴ免费视频一区二区三区| 欧美在线短视频| 亚洲视频一区二区在线观看| 国产91丝袜在线18| 久久丝袜美腿综合| 精品一区二区三区欧美| 欧美一区二区三区婷婷月色| 亚洲永久精品国产| 色婷婷久久99综合精品jk白丝| 中文字幕成人网| 国产乱色国产精品免费视频| 日韩欧美激情在线| 蓝色福利精品导航| 欧美xxxxxxxxx| 久久国产精品区| 日韩精品专区在线影院观看| 男人的天堂亚洲一区| 欧美一区二区女人| 日韩精品电影在线| 日韩一区二区在线看| 美国毛片一区二区| 欧美videos中文字幕| 久久99精品国产.久久久久| 日韩欧美成人一区| 寂寞少妇一区二区三区| 欧美电影免费提供在线观看| 国产中文字幕精品| 久久久www成人免费无遮挡大片| 国产精品18久久久| 欧美激情在线看| 99热99精品| 亚洲伊人伊色伊影伊综合网| 欧美三片在线视频观看| 日韩在线一二三区| 26uuu亚洲综合色欧美| 国产91在线|亚洲| 亚洲乱码一区二区三区在线观看| 色国产综合视频| 五月婷婷久久综合| 欧美一区二区三区播放老司机| 久久成人久久爱| 国产精品人妖ts系列视频| 97精品国产97久久久久久久久久久久| 亚洲精品国产品国语在线app| 欧美精品久久99| 国内精品伊人久久久久影院对白| 亚洲国产精品成人综合| 色综合久久中文字幕综合网| 日韩—二三区免费观看av| 久久伊人中文字幕| eeuss国产一区二区三区| 亚洲一区二区在线视频| 日韩欧美久久久| 成人av集中营| 天天色综合成人网| 久久综合色鬼综合色| 97精品久久久久中文字幕| 视频一区视频二区在线观看| 日本一区二区三区四区在线视频| 色婷婷久久久亚洲一区二区三区 | 国产高清亚洲一区| 亚洲激情网站免费观看| 国产精品久久久久久久久晋中| 91在线你懂得| 免费成人美女在线观看.| 久久一夜天堂av一区二区三区| 91女人视频在线观看| 老司机精品视频导航| 中文字幕在线一区二区三区| 欧美精品视频www在线观看 | 欧美久久免费观看| 国产美女主播视频一区| 亚洲中国最大av网站| 国产亚洲精品bt天堂精选| 精品视频全国免费看| 国产成人亚洲综合色影视| 三级精品在线观看| ●精品国产综合乱码久久久久| 日韩欧美一区电影| 91在线视频官网| 国产综合色视频| 亚洲成人av在线电影| 国产精品国产三级国产a| 欧美一区二区精品久久911| 99久久精品国产精品久久| 国模一区二区三区白浆| 爽爽淫人综合网网站| 国产精品国产三级国产aⅴ中文 | 国产性做久久久久久| 欧美日韩国产经典色站一区二区三区| 成人夜色视频网站在线观看| 免费看日韩精品| 亚洲国产精品自拍| 亚洲色图20p| 中文字幕高清不卡| 精品国产百合女同互慰| 欧美色男人天堂| 色综合久久久久久久| 丰满亚洲少妇av| 国产精品资源在线看| 老司机精品视频一区二区三区| 午夜精品久久久久久久| 一区二区高清在线| 亚洲男人都懂的| 中文字幕在线不卡一区| 国产丝袜美腿一区二区三区| 日韩欧美国产电影| 欧美一二三在线| 日韩一二三四区| 欧美一区二区大片| 91精品国产综合久久久久久久| 欧美日韩一本到| 欧美三级日本三级少妇99| 欧美专区日韩专区| 欧美午夜影院一区|