先說下CVSNT的用戶驗證方式,CVSNT的用戶驗證方式分兩種:Windows系統用戶與CVSNT用戶共存的混合驗證方式,及CVSNT用戶 單一驗證方式,默認工作在混合驗證方式下,當然使用單一驗證方式對用戶的管理肯定比較方便一點,因此下面的配置就是圍繞該方式進行的。各個資源庫所使用的 驗證方式及用戶配置由其目錄下CVSROOT里的配置文件決定,其中有幾個比較重要的文件。
1、config文件
控制CVSNT的驗證工作方式的就是config文件,注意該文件最前面的兩行:
#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes
第二行就是我們要修改的內容,默認狀態是被注釋掉的,SystemAuth有兩個值yes和no:
yes:pserver將使用Windows系統用戶和CVSNT用戶來共同驗證(若CVSNT用戶未定義,則用Windows系統用戶來進行驗證),默認為yes,CVSNT用戶在后面將要介紹的passwd文件中定義。
no:只使用CVSNT用戶來進行驗證。
該文件可以在客戶端進行修改,因此我們可以將其checkout出來將第二行改為SystemAuth=no,并commit到CVSNT上就可以啟用單一驗證方式了,注意啟用單一驗證方式后原來的Windows系統用戶將變為無效,因此要注意執行該步驟的時機。
2、 admin文件
該文件保存CVSNT管理員用戶列表,內容很簡單,形式如下:
User1
User2
User3
每一行定義一個管理 員用戶,默認時沒有該文件,但你可以在客戶端自己添加并add上去,再commit到CVSNT上,但是光有這個文件還是不會生效的,還要將其添加到 checklist文件中,使CVSNT能夠讀取該文件的內容,在checklist中添加文件列表的格式為:
[空格]文件名 出錯信息
其中文件名前的空格必須要有的,不然會出錯。
我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。
3、passwd文件
服務器工作在CVSNT用戶單一驗證方式下的時候,這個文件定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名信息。默認狀態下 沒有該文件,但是我們可以在CVSNT還工作在混合驗證方式下時,用系統管理員登錄,通過添加用戶命令來讓CVSNT自動建立一個passwd文件。
添加用戶的命令的示例:
cvs passwd –r administrator –a cvsadmin
之后系統提示輸入密碼,輸入后服務器會新建一個passwd文件。
該文件的內容很簡單,形式如下:
cvsadmin:fqr1fS4gDghrt:administrator
kid:aTXRfS31Bm6JA
mystique:Yna4QcXz9dEqd
以第一行為例:cvsadmin為用戶名,fqr1fS4gDghrt為CVS使用UNIX標準加密函數對密碼進行加密后的結果,administrator為該用戶的別名,當使用混合驗證方式時對應Windows系統用戶名。
注意:這個文件是不能在客戶端進行修改的,不能checkout出來。
4、group文件
該文件定義CVSNT中組信息,同組里的用戶擁有一樣的權限,對組權限的修改和對用戶權限的修改一樣。
group文件的內容為
administrators:cvsadmin kid mystique
users:User1 User2 User3
可以看到該文件的內容也很簡單,組名:用戶名,多個用戶名之間用空格隔開。
Group文件可以在客戶端修改,不用修改checkoutlist這個文件,系統會自動使其生效。
作為組里面的特定成員可以賦給特定的權限。
了解了以上內容,下面我說一下我自己的配置步驟,我沒有使用WinCVS進行操作,是直接使用命令行進行修改的,覺得這樣思路比較清晰:
1、添加系統變量CVSROOT=E:/CVSNT/Repository,并把E:CVSNT加入到系統Path路徑。
2、進入命令提示符,因為此時為混合驗證模式,可以不用不用登陸直接進行checkout。可以建立一個工作目錄,在該目錄下進行操作,我這里為E:/CVSNT/Works。
檢出CVSROOT目錄:
cvs co CVSROOT
3、添加CVSNT系統管理員用戶,此時會提示設置用戶密碼:
cvs passwd –r administrator –a cvsadmin
4、修改CVSROOT訪問權限:
cd CVSROOT
cvs chown cvsadmin //更改所有者為cvsadmin
cvs chacl default:n //默認權限為n
cvs chacl cvsadmin:rwc //添加cvsadmin
5、修改config文件,按上面的方法修改后commit:
cvs ci
6、此時單一驗證方式已經啟用了,也就是只能使用剛才添加的cvsadmin進行登錄,此時可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users關掉。登錄前還要改一下系統變量CVSROOT,關閉命令提示符窗口,修改CVSROOT為:
:pserver:cvsadmin@192.168.0.1:4021/CVSNT/Repository
這里的192.168.0.1是服務器的IP地址,/CVSNT/Repository就是前面設置Repository時設置的Name,可以改為你機器上的配置。修改系統變量之后以下的步驟在任何與服務器相連的機器上進行,當然該機器上應該有CVSNT的可執行文件。
7、如果為了避免出現錯誤,先重啟一下CVSNT服務器,再啟動命令提示符來到E:/CVSNT/Works,因為已經啟用單一驗證方式,先要進行登錄。
cvs login
輸入密碼,此時就是以cvsadmin登錄了。
8、添加admin文件,首先將CVSROOT檢出,在CVSROOT下新建admin文件,內容為
cvsadmin
執行命令:
cvs add admin
cvs ci
9、修改checklist文件,在該文件末尾添加一行:
[空格]admin error message
注意:admin前的空格不能少。
執行命令:
cvs ci
經過以上步驟,可以說用戶配置已經基本完成了,CVSNT可以很好的工作在單一驗證方式下。進一步的管理可使用以下命令:
添加用戶: cvs passwd -a username,使用時不必理會需要添加別名的提示。
修改用戶權限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)
要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group文件即可。
如果還有不清楚的可以看看自帶的文檔,說得還是比較詳細的。
posted on 2007-12-01 13:27
jadmin 閱讀(40)
評論(0) 編輯 收藏