配置SVN許可權報錯了,如何修改
報錯圖片:
廢了3個小時才搞定找到原因:
1.注意更改svnserve.conf配置檔案需要重啟svn,更高authz和passwd不需要重啟svn。重啟方法:pkill svnserve(killall svnserve) 然後重新svnserve -d -r 專案目錄即可。
2.一個組group可以包含一個和多個使用者,其中使用者名稱必須在使用者配置檔案中已經定義。
可以將指定具體組,比如開發組和運維組等。
3. 版本庫目錄格式為 :
[版本庫:/專案/目錄]
使用者名稱 = 許可權
@組名 = 許可權
[aliases]
joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
#這裡實現了別名的定義
[groups]
team0=zhangsan #將上面建立的分成兩個組
team1=lisi
[repo0:/]
@team0=r
@team1=rw
第一個小組只有讀取的許可權
第二個小組有讀寫的許可權
還有重要一點上面的小組名必須和下面的分組許可權名一致,小組名可以任意新增,但下面路徑分許可權必須有至少一個的完全正確的小組名加r或rw,這也是我犯過的錯
這裡著重說明下,引數前面不要有空格,否則啟動報錯,後面也不要加空格,上面的錯誤就有一部分原因是結尾加空格,SVN一直報錯無法使用,提示配置檔案錯誤。
在網上搜集的SVN配置其他檔案的知識也加入:
- 修改svnserve.conf並重啟svn
vi svnserve.conf 主要修改如下引數,其他不需要修改:
anon-access = none
auth-access = write
password-db = passwd #這個檔案可以統一指定一個passwd檔案便於統一管理不需要單獨每個版本庫單獨配置。
authz-db = authz #這個檔案可以統一指定一個authz檔案便於統一管理不需要單獨每個版本庫單獨配置。
[general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read", ### and "none". The sample settings below are the defaults. anon-access = none #沒有登入的使用者不能訪問 auth-access = write #登入的使用者可以寫入 ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the directory containing ### this configuration file. ### If SASL is enabled (see below), this file will NOT be used. ### Uncomment the line below to use the default password file. password-db = passwd #密碼檔案為當前目錄下的passwd ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the the ### directory containing this file. If you don't specify an ### authz-db, no path-based access control is done. ### Uncomment the line below to use the default authorization file. authz-db = authz #驗證檔案為當前目錄下的authz 這裡著重說明下,引數前面不要有空格,否則啟動報錯。
2.修改passwd檔案:
[users]
zhangsan = 123456
lisi = 123456
前邊是svn賬號,後邊是密碼,密碼是明文儲存。配置哪些使用者可以授權使用,裡邊包含使用者名稱和密碼。
匯入,匯出工程:
$ mkdir MyProject
$ mkdir MyProject/hehe
$ mkdir MyProject/haha
svn import MyProject svn://127.0.0.1/repo0/MyProject -m “first import project”
svn://127.0.0.1/repo0/MyProject