假設有用戶1:lxw ;用戶2:zxh
有用戶1的模塊::lxwdir;用戶2的模塊:zxhdir
要求 lxw 只能訪問lxwdir;zxh只能訪問zxhdir
第1步,設置CVS的庫配置文件(模塊CVSROOT)的訪問權限
方法:建立超級用戶的工作目錄 WINCVSADMIN
a.以cvsnt服務器超級用戶administrtor 登陸 wincvs
b.CHECKOUT 庫控制文件 checkout moudel 'cvsroot',此目錄下的文件為CVS的高級配置文件,可以在本地進行修改,提交,本身在版本控制之中
c.修改CVSRoot的訪問權限,在命令行輸入如下命令 #之后為說明,不需要輸入 每行命令要單獨執行,這是4條命令
cvs chacl default:n #取消所有用戶的默認權限
cvs chacl administrator:rcw #設置Administrator擁有所有權限 讀取;創建和刪除;寫入
cvs chown administrator #更改的擁有者Administrator
cvs lsacl #察看權限的設置情況
第2步,建立CVS的用戶
正??梢杂?/span>WINNT 系統的用戶作為CVS 的用戶,訪問CVS ,但是這種方式安全性太差
可以建立CVS 自己的用戶
a.建立WINNT系統用戶 CVSUSER,權限設為一般用戶就可以,只要能訪問WINNT就可以
b.建立密碼文件PASSWD,
直接在服務端 CVSROOT 目錄下建立文件就可以 PASSWD
出于安全考慮,不要將 passwd列在 checkoutlist 文件里面。
C.建立CVS用戶
在WINCVS 命令行下輸入命令
cvs passwd -a -r cvsuser zxh #建立ZXH用戶與系統用戶cvsuser有一樣的權限,回車后提示輸入兩次口令
cvs passwd -a -r cvsuser lxw #建立lxw用戶與系統用戶cvsuser有一樣的權限,回車后提示輸入兩次口令
cvs passwd -a -r administratro administrator #建立administrator用戶與系統用戶administrator有一樣的權限,回車后提示輸入兩次口令
可以看到PASSWD 文件多了兩行
zxh:CUXQwLMdoZHNs:cvsuser #中間為加密的密碼,密碼使用Unix標準的crypt()函數加密
lxw:ZTUCMKUkZ6ap2:cvsuser
administrator:oN2Stm4NIf31Q:administrator
第3步, 使用CVS用戶登陸
由于CVS 在默認模式下,是采用系統用戶登陸的,這就要修改配置文件 CONFIG
設置文件CONFIG為修改狀態
加入如下一行
SystemAuth=no #yes 默認值,表示 如果用戶在PASSWD文件中不存在,就用系統用戶檢查權限是否正確
#no 表示用PASSWD檢查用戶密碼權限是否正確
之后提交
(在設置CONFIG 文件SystemAuth=no 之后
需要在cvs 控制目錄cvsroot\ 下建立admin文件
這個文件是指定CVSNT的管理員列表的文件,CVSNT根據這個文件來判斷一個用戶是否是管理員。文件的內容很是一個用戶列表。如下:
user1
user2
user3
這些代表user1,user2,user3都是管理員 ;
在此之前 cvs將服務器的管理員用戶作為自己的管理員用戶的)
第4步,加入文件 WRITERS ,READERS 控制用戶的讀寫權限
在cvsroot目錄下加入兩個文本文件,WRITERS ,READERS
其每行內容為 用戶名 回車
只有加入WRITERS中的用戶才能進行提交
加入READERS中的用戶只能讀取
同時在兩個文件中的用戶只能讀取
在writers文件中加入如下
zxh
lxw
administrator
第5步, 配置CVS庫模塊文件——modules
a.將MODUES文件設為可編輯狀態
b.在MOUDES 加入如下3行
CVSRoot CVSRoot
大狼的工作目錄 -a lxwDIR
開心的工作目錄 -a ZXHDIR
c.保存,提交 COMMIT
第6步, 為2個用戶分別上傳工作目錄
選中LXW的工作目錄'LXWDIR' IMPORT MODULE
選中ZXH的工作目錄'ZXHDIR' IMPORT MODULE
注意:上傳的目錄不能為空目錄,其下必須有文件(啥文件都行)
上傳成功后,刪除這2個目錄OR 改名
(補充一下分組的使用方法:
分組:將權限相同的用戶劃分到一組,這樣方便維護。就是角色的意思,分組使用在對模塊訪問權限的劃分。
方法:
a.在服務器端 cvsroot 目錄下新建文件 group
b.建立分組 group1,group2 ,group文件內容如下
group1:user1 user2 user3
group2:user5 user6 user7
c.之后對組進行權限劃分,和對單個用戶方式一樣,就可以使組內用戶和組具有相同的權限,如 選中模塊,執行如下命令
chacl -R default:n
cvs chacl -R group1:rcw
cvs lsacl
可以使,用戶 user1 user2 user3 同時具有對該模塊的讀寫和控制的權限
第7步,下載目錄目到本地做權限設置 CHECKOUT MODULE
CHECKOUT MODULE 選擇 大狼的工作目錄 'LXWDIR'
CHECKOUT MODULE 選擇 開心的工作目錄 'ZXHDIR'
做法是這樣的
選擇 菜單\remote\checkou moudule
在打開窗口中 點擊‘...’ 按鈕
在打開窗口中選擇 大狼的工作目錄
ok 按鈕
確定 按鈕
第8步 分別設置2用戶(LXW;ZXH)對各自目錄的訪問權限
選中模塊 LXW ,在命令行輸入如下3條命令,
cvs chacl -R default:n
cvs chacl -R LXW:rcw
cvs lsacl
選中模塊 ZXH ,在命令行輸入如下3條命令,
cvs chacl -R default:n
cvs chacl -R ZXH:rcw
cvs lsacl
說明 加 ‘-R ’參數表示對模塊的權限是遞歸的。解釋一下:
如目錄結構 dira
|---dira1
|---dira2
命令:cvs chacl default:n 只對 目錄 dira 有效,而對子目錄無效
cvs chacl -R default:n 對目錄dira及其下子目錄都有效
第9步 已經完成了設置
以用戶 LXW OR ZXH 登陸WINCVS 就只能CHECKOU 各自的模塊 LXWDIR,ZXHDIR
進行相應的開發工作了
在執行命令cvs passwd -a -r cvsuser zxh 的時候
在本地目錄 CVSROOT 目錄下的PASSWD文件里沒有生成相關的用戶和密碼
而在服務器 CVSROOT 目錄下的PASSWD文件里生成了相關的用戶和密碼
如果是這樣,是一種正常現象
原因是你沒有把passwd 控制文件加入到 cvs版本 控制之中—文件checkoutlist里
posted on 2007-08-03 12:55
心隨我動 閱讀(2992)
評論(0) 編輯 收藏