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