1. 程式人生 > >配置SVN許可權報錯了,如何修改

配置SVN許可權報錯了,如何修改

報錯圖片:

報錯圖片mac圖片
廢了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配置其他檔案的知識也加入:

  1. 修改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