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