2011-03-07 81 views
2

注意:我已經通讀了最近的150個svn commit錯誤問題,並且沒有任何答案可以解決我的問題。SVN commit身份驗證失敗

我試圖設置一個簡單的svn服務器,我可以從中檢出並向其提交文件。

的conf/svnserv.conf

[global] 
anon-access = none 
auth-access = rw 
password-db = passwd 
#authz-db = authz 

的conf從另一臺機器/ passwd文件

[users] 
myuser = password 

svn籤工作正常:

svn co svn://138.25.25.42:3690 test --username myuser --password password 

然後我說在我的本地本地文件資料庫副本

echo "content" > testfile 
svn add testfile 

但是當我現在嘗試提交我得到一個驗證/授權(德語:Autorisierung)錯誤(所有3相同)

svn ci --username myuser --password password -m "lala" 
svn ci . --username myuser --password password -m "lala" 
svn ci test --username myuser --password password -m "lala" 

看使用Wireshark的傳輸,它看起來像我的用戶名和密碼忽略(?)

[SERVER->CLIENT] 
(success (2 2 () (edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay))) ( 
[CLIENT->SERVER] 
2 (edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) 25:svn://138.25.25.42:3690 21:SVN/1.6.15 (r1038135) ()) 
[SERVER->CLIENT] 
(success ((ANONYMOUS) 36:ab25c003-0e26-4e93-98a3-6c5d9cc9a979)) (ANONYMOUS (0:)) (success ()) (success (36:ab25c003-0e26-4e93-98a3-6c5d9cc9a979 25:svn://138.25.25.42:3690 (mergeinfo))) 
[CLIENT->SERVER] 
(commit (4:lala () false ((7:svn:log 4:lala)))) 
[SERVER->CLIENT] 
(failure ((170001 0: 62:/build/buildd/subversion-1.6.5dfsg/subversion/svnserve/serve.c 167)))  

任何幫助獲取提交工作將不勝感激。

編輯:奇怪的是,一個匿名結賬工作,以及;所以配置文件似乎被忽略,我只是不明白爲什麼。

+0

svnserve的日誌中的任何東西? – Thomas 2011-03-07 17:59:51

+0

日誌只是說svn ERR serve.c 167 170001授權失敗 – 2011-03-07 18:15:13

+0

您的svnserve.conf位於何處? – 2011-03-07 18:38:56

回答

3

解決!

問題是:我已經在我的主目錄中設置了svn服務器目錄,並且運行svnserve的用戶無法訪問它,無論目錄中的777權限如何(因爲它沒有權限訪問父目錄)。

1

看來你已經在「auth-access」中獲得了錯誤的標記。它應該是「寫」而不是「rw」。此外,您應該在其中指定一個「領域」,以便用戶進行身份驗證以瞭解他們正在進行身份驗證。

+0

試圖寫入而不是rw和svnserve重新啓動,仍然是相同的錯誤。還增加了一個境界,沒有區別。 – 2011-03-07 18:14:40

+1

這是一個文件系統權限問題嗎?你在SSH後面運行svnserve嗎? – 2011-03-07 18:16:12

+0

另外,我剛剛注意到您的結帳行中可能存在拼寫錯誤。您有「svn co svn://138.25.25.42:3690測試...」,而它應該是「svn co svn://138.25.25.42:3690/test ...」。 – 2011-03-07 18:17:05

0

我有一個類似的問題與顛覆(身份驗證失敗)。 我的解決方案是我需要切割配置文件中的所有空間。

上面一樣: CONF/svnserve.conf的應該是:

[global] 
anon-access=none 
auth-access=write 
password-db=passwd 
#authz-db = authz 

CONF/passwd的應該是:

[users] 
myuser=password 

當然所述的svnserve.conf的接入和passwd必須accessabele由svnserve進程。