Svnserve單項目權限設置 前言 目前網絡上有不少的關於 svn 安裝與權限設置的文章(基於 SVN 自帶的 svnserve ),可是若是您像我同樣按照那些文章來進行咱們的 subversion 的 安裝和設置會發現有不少問題,能夠說每篇文章都有這樣或那樣的錯誤。或者斷章取義,或者根本就沒親自驗證就寫出來,貼到網絡上,而後又有不少人直接轉帖到 本身的博客,空間中。這就形成了網絡上大量的權限設置文章根本是沒法正確設置權限的。在學習那些「權限設置精細」文章的過程當中,給咱們的身心都形成了嚴重 的傷害。至少給我幼小的心靈形成了創傷。每次上網搜到一篇文章都以爲此次總該能夠了吧,結果全盤照抄了,仍是不行。累的我真的想放棄了。還好後來有一篇文 章給了我啓發,那是我找過的惟一一篇有我須要的細節的文章。
這篇文章是專門寫給像我同樣的菜鳥,而又由於這樣或那樣的緣由須要瞭解 svnserve 權限設置的人,也就是「侏儒」。若是您對 windows 比較瞭解,也就是身高在 1.5 米 以上的,偏矮的人,正常人,比較高的人,很是高的人,或者像姚明同樣的巨人的話,那你會發現此篇文章極盡囉嗦,繁瑣。對此我深表歉意!
一,項目結構
億聯網絡技術有限公司是一家專一於網絡通信產品的研發及銷售的高科技企業。目前,公司主要致力於 VoIP 網關、 VoIP 終端、 WIFI 和 IP-PBX 等網絡通信產品的開發、生產和銷售。產品以出口爲導向, 95% 產品遠銷英國、德國、美國、韓國等 50 多個國家與地區,擁有一批諸如 Nortel 、 FranceTelecom, Skype 等優質合做夥伴
資料庫的目錄結構以下 :
ref
項目名稱
├─department
存放每一個部門資料
│
├─hardware
硬件資料目錄
│
├─embedded
嵌入式資料目錄
│
└─PC
PC 軟件資料目錄
├─com
研發部都可讀的公共資料
└─temp
臨時文件
二,創建版本庫
在服務器 D 盤目錄下(也可在本機,而且盤符可自由選擇),新建 svn 文件夾 , 再在 svn 下新建 ref 文件夾。(文件夾名稱可自行設定)
而後,建立版本庫:
第一種方式:在 DOS 命令行中運行 svnadmin create D:\svn\ref
第二種方式:鼠標右鍵單擊 ref ,選擇 [TotoiseSVN]->[ 在此建立版本庫 ...] 進行建立,默認「本地文件系統 (FSFS) 」,點擊肯定,完成建立。
三,配置權限
編輯版本庫 D:\svn\ref\conf\svnserve.conf 文件,以下:
[general]
anon-access = none
# 保證只有認證用戶能夠訪問,即關閉匿名訪問
auth-access = write
# 經過認證的使用權限
password-db = passwd
# 指定了用戶密碼文件
authz-db = authz
# 指定了受權文件
realm = ref
# 客戶端憑證緩存
編輯版本庫 D:\svn\ref\conf\passwd 文件,以下:
[users]
stonelu = stonelu
# 」=」 前爲賬號,後爲密碼
nancy = nancy
wxz = wxz
ly = ly
wwt = wwt
tjy = tjy
azm = azm
ljp = ljp
編輯版本庫 D:\svn\ref\conf\authz 文件,受權以下:
[groups]
g_vip = stonelu
g_manager = nancy
g_hardware = wxz,ly
g_embedded = wwt,tjy
g_pc = azm,ljp
g_common = stonelu,wxz,ly,wwt,tjy,azm,ljp
[/]
# 根目錄的權限
* =
# 全體員工對根目錄無權限
@g_manager = rw
# 項目經理對根目錄具備讀寫權限
@g_vip = r
[/ref/]
@g_manager = rw
@g_vip =r
* =
[/ref/department/hardware]
@g_manager = rw
@g_hardware = rw
@g_vip = r
* =
# 可加可不加,由於不顯示設定權限,即表示沒權限
[/ref/department/embedded]
@g_manager = rw
@g_embedded = rw
@g_vip = r
[/ref/department/pc]
@g_manager = rw
@g_pc = rw
@g_vip = r
[/ref/com]
@g_manager = rw
@g_common = r
[/ref/temp]
@g_manager = rw
@g_common = rw
四,導入項目版本庫
windows
在本機D:\temp目錄下,創建好上述資料庫的目錄結構,鼠標右鍵單擊temp,選擇[TotoiseSVN]->導入,以下圖所示:緩存
彈出對話框:
1. 版本庫在本機上安裝,而且假設你電腦的 IP 地址爲: 192.168.0.125 (固然這個是我在公司的 IP 地址),則在「版本庫 URL :」中輸入「 svn://localhost/ref 」或「 svn://192.168.0.125/ref 」等效。 2. 版本庫在服務器上安裝:假設服務器的 IP 地址爲: 192.168.1.2 ,則在地址欄中輸入: svn://192.168.1.2/ref 。
在「最新信息」裏,可依您的興趣填寫,你可寫您喜歡的女孩的名字,若是恰好是您心情鬱悶時,也可寫 」F」 開頭的英文詞。固然若是是直接拿來版本控制,則最好填寫 」import」 之類比較切合實際的詞組或語句。以下圖:
服務器
此時你能夠打開IE或文件夾,在地址欄中輸入下面的任意一個:網絡
①svn://192.168.0.125/ref
②svn://127.0.0.1/ref ③svn://localhost/ref
此時你能夠打開IE或資源管理器的地址欄,甚至運行中輸入上述三種方式之一,便可打開以下對話框:
svn
輸入用戶名和密碼,可勾上「保存認證」,免去每次輸密碼的麻煩,獲得以下對話框:學習
上圖是對ref目錄有權限的用戶顯示出來的結果,若是您對ref目錄沒有可讀權限,則結果不同。如:您輸入的用戶是ljp,則顯示以下:
spa
說明ljp對ref 沒有可讀權限。固然了,ljp用戶對ref/department/pc下的文件是有權限的,咱們可在上圖的URL中的ref後面加上 /department/pc,或者關閉上圖,在地址欄中輸入:svn://127.0.0.1/ref/department/pc再輸入密碼,顯示如 下:命令行
咱們可在「pc」點右鍵,選擇「建立文件夾」,輸入文件名「test」,能夠看到test文件夾已添加到pc下面。恰好也驗證了咱們設置的權限是正確的。Ljp能對pc下的文件進行讀寫操做。版本控制
五,啓動svnserve
打 開「開始->運行」輸入「cmd」,打開命令行窗口,輸入:svnserve –d –r D:\svn\ref,便可啓動svnserve。注意不要關閉命令行窗口,關閉窗口也會把svnserve中止。這樣每次開機都得手動啓動服務。「那有 沒有更好的辦法呢?」(好白癡的問題)。若是想省去每次開機都得本身手動啓動svnserve的麻煩,咱們能夠把它設爲系統服務。
因爲文件字數太多,因此有些細節的內容被我刪掉了。不過我把完整的word版放在附件中,是免費的有須要的人能夠隨便下載。這是我二十多年來第一次發貼,這篇文章也是今天剛剛完稿。但願你們能多支持。 ip