linux下svn(subversion)服務端添加工程及配置權限
轉載請注明源位址:
http://www.cnblogs.com/funnyzpc/p/9010507.html此篇我隻是将所做過的事情記錄下來,原想搜一篇文章儲存呢,結果發現事實上并沒有一篇合适的博文供參考,遂,自給自足,以豐衣足食嘛。
首先,你需要有這些:
一台已經安裝好了的SVN伺服器
一台客戶的電腦
由于我是在現有的svn伺服器上安裝的,遂就略去了SVN安裝的過程,現在我整理下大緻的思路:
=>svnadmin建立工程
=>配置所建立工程下的authz passwd svnserve.conf
=>殺程序,重新開機SVN服務
=>測試建立立的工程(包括權限認證,檔案送出和更新)
先,需要進入工程目錄使用,svnadmin指令建立一個工程:

建立指令: svnadmin create 工程名
工程已經建立成功了,(在這裡我插入一句:即使不熟悉請不要用複制的方式去建立svn工程,切記!) 現在進入檔案夾,可以看到一些預設的檔案和檔案夾:
這裡我大緻解釋下這幾個檔案夾的作用:
conf:放置目前工程的配置檔案,權限通路控制等等
db:記錄使用者提價的版本、緩存、db配置等,本身也是個sqlLite資料庫
format:一個檔案,預設為空,用途暫不明
hooks:放置自動送出和更細腳本,及相關配置
locks:顧名思義就是鎖,代碼被鎖住了,可以在這裡進行解鎖操作
README.txt:工程的介紹文檔,建議建立工程後都更新下
,因為我的目的是在拉取代碼時就做一次權限認證,防止惡意使用者窺測,遂,現在我們進入conf裡面配置相關權限,conf目錄目前有這些檔案:
現在完成了一大半了,目前還需要配置兩個,一個是檔案讀寫權限和svn服務引用這兩個,現在配置使用者組及讀寫權限:
指令: vi authz
如圖,使用者組的配置需要在[group]标簽下配置,你可以自定義一個使用者組,比如這裡的admin,使用者組的使用者均以逗号隔開,且使用者必須在剛才的passwd檔案中配置過的使用者(不可使用中文作為使用者名),使用者組的命名方式為: 使用者組名 = 使用者1,使用者2,使用者3 ,使用者組定義完成,現在需要對每一個使用者組賦予不同的讀寫權限,大緻格式是這樣: @使用者組名 = 讀寫權限 ,這個讀寫權限常用的有兩個:rw->讀寫,r->隻讀。
使用者組配置完成,現在需要配置svn服務引用,指令: vi svnserve.conf
額,主要操作就是把除了上面兩個的其它配置參數全部用#注掉,對于保留的這兩個參數,我解釋下:
anon-access = none :将匿名使用者的權限置為空
password-db = passwd :引用權限使用者資訊為passwd檔案
好了,一切隻缺重新開機了,現在需要找到重新開機的svn程序,請注意重新開機時需要在svn工程目錄外側執行指令
指令:
查找svn程序服務:ps -ef|grep svnserve
殺掉程序: kill -9 程序ID
啟動svn: svnserve -d -r 目錄名
可以看到,svn的啟動指令已經在查找的程序中給出了,當然這裡如果不是在svn工程清單目錄外部操作,請一定注意啟動指令後面的目錄位址。
現在測試,由于家庭電腦沒有裝svn,公司電腦是測試成功的,這裡我簡要的給下一些基本指令供參考:
checkout工程(之後需要輸入密碼):
svn checkout svn://伺服器IP或域名/工程目錄(我這裡是document) --username 使用者名
添加檔案:
svn add 檔案名
送出檔案(含備注):
svn commit -m "備注内容" 檔案名
更新檔案(需要制定版本):
svn update -r 修正版本 檔案名
本節基本完成,我該發表了,等回公司了會把測試部分更新下,嘻嘻
現在是:2018-05-13 13:15:01 ,我的中飯時間(●・̆⍛・̆●)