(FAQ)基于svnserve的服務器,權限文件authz配置的常見問題及解答
最近在我用Subversion論壇(http://www.iUseSVN.com/bbs)經常有人提到這樣的問題:
為什么我的客戶端沒有寫權限? 為什么我的權限沒有起作用? 總結他們的配置,發現 都是用svnserve作為服務器, 都在svnserve.conf中使用了authz-db選項 原因可能如下: 1,配置authz時,沒有注意svnserve啟動參數-r所指定的目錄。 這里有兩種情況: A:-r直接指定到版本庫(稱之為單庫svnserve方式) 比如,有一個庫project1,位于D:\svn\project1 使用以下命令啟動svnserve CODE: svnserve -d -r D:\svn\project1 在這種情況下,一個svnserve只能為一個版本庫工作 authz文件如果配置成下面這樣就是錯的, CODE: [groups] admin=user1 dev=user2 [project1:/] @admin=rw @doc=r 應該配置成 CODE: [groups] admin=user1 dev=user2 [/] @admin=rw @doc=r 因為[project1:/]表示庫project1的根目錄,而按上面的啟動參數,是沒有庫的概念的。 B:-r指定到版本庫的上級目錄(稱之為多庫svnserve方式) 同樣,有一個庫project1,位于D:\svn\project1 如果使用以下命令啟動svnserve CODE: svnserve -d -r D:\svn 這種情況,一個svnserve可以為多個版本庫工作, 這時如果想限制指定庫的指定目錄,就應該指定具體的庫,像這樣 CODE: [groups] admin=user1 dev=user2 [project1:/] @admin=rw @doc=r 如果此時你還用[/],則表示所有庫的根目錄,同理,[/src]表示所有庫的根目錄下的src目錄 2,對中文目錄進行權限控制時,沒有將權限文件authz改為utf-8格式。 svn對于非英文文件名和目錄名使用utf-8格式編碼處理,要對中文目錄進行正確控制, 應該使用utf-8格式,如何將默認的文件轉為utf-8, 我使用的是UltraEdit的菜單"ASCII to UTF-8 (Unicode Editing)"。 更多參考文檔: (配置權限控制文件)http://www.iusesvn.com/bbs/thread-6-1-1.html (中文目錄權限控制)http://www.iusesvn.com/bbs/thread-41-1-1.html |
?引用 ?報告回復![]() |
lulu
高中生
![]() ![]() UID 124 精華 0 積分 211 帖子 36 威望 2 金錢 209 推廣積分 0 閱讀權限 30 注冊 2006-8-15 狀態 離線 |
|
cjnn
初中生
![]() UID 210 精華 0 積分 70 帖子 13 威望 0 金錢 70 推廣積分 0 閱讀權限 20 注冊 2006-9-6 狀態 離線 |
|
cjnn
初中生
![]() UID 210 精華 0 積分 70 帖子 13 威望 0 金錢 70 推廣積分 0 閱讀權限 20 注冊 2006-9-6 狀態 離線 |
|
cjnn
初中生
![]() UID 210 精華 0 積分 70 帖子 13 威望 0 金錢 70 推廣積分 0 閱讀權限 20 注冊 2006-9-6 狀態 離線 |
|
cjnn
初中生
![]() UID 210 精華 0 積分 70 帖子 13 威望 0 金錢 70 推廣積分 0 閱讀權限 20 注冊 2006-9-6 狀態 離線 |
|
cjnn
初中生
![]() UID 210 精華 0 積分 70 帖子 13 威望 0 金錢 70 推廣積分 0 閱讀權限 20 注冊 2006-9-6 狀態 離線 |
|
zpqs
小學生
![]() UID 289 精華 0 積分 17 帖子 6 威望 2 金錢 15 推廣積分 0 閱讀權限 10 注冊 2006-9-22 狀態 離線 |
|
PCplayer
![]() |
|