1. 程式人生 > >svn: E170001 : Authorization failed 非主流的解決方案!

svn: E170001 : Authorization failed 非主流的解決方案!

問題描述

新手在使用SVN,執行checkout想要獲取一份倉庫副本時一直報錯:

[email protected]32-73-ubuntu:/home/ubuntu# svn checkout svn://localhost/svntest --username=nigelzhou
svn: E170013: Unable to connect to a repository at URL 'svn://localhost/svntest'
svn: E220003: Invalid authz configuration

問題嘗試

在網上搜索了一下,所有的人都說使用svnauthz-validate工具去檢查authz檔案是否出錯,但是我使用該工具後檢查不出任何錯誤:

[email protected]32-73-ubuntu:/home/ubuntu# svnauthz-validate /opt/svn/svntest/conf/authz
[email protected]32-73-ubuntu:/home/ubuntu# svn checkout svn://localhost/svntest --username=nigelzhou
svn: E170013: Unable to connect to a repository at URL 'svn://localhost/svntest'
svn: E220003: Invalid authz configuration

再次嘗試,仍然報錯。

思考過程

在網上看到很多人使用svnauthz-validate工具檢測後都說使用者組配置有錯,雖然我沒有檢測出來,但是報同樣的錯,我是不是也是使用者組出問題了呢?於是去檢查我的authz配置檔案:

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [/] nigelzhou = rw nigel = rw

仔細檢查後,發現我的配置並沒有錯,完全是按照註釋中的範例來寫的。
關於使用者組的配置有兩處,最主要的是authz,另一處就是總配置檔案svnserve.conf,現在authz確定沒有錯誤,那麼去檢查svnserve.conf:

authz-db = authz
### The groups-db option controls the location of the groups file.
### Unless you specify a path starting with a /, the file's location is
### relative to the directory containing this file.  The specified path
### may be a repository relative URL (^/) or an absolute file:// URL to a
### text file in a Subversion repository.
groups-db = groups
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = My First Repository

發現groups-db = groups這個配置之前被我取消註釋,啟用了。仔細閱讀它的註釋,發現該配置是指定“group file”的位置的。
註釋中還提到“ Unless you specify a path starting with a /, the file’s location is relative to the directory containing this file. ”即除非我們指定一個以‘/’開頭的絕對路徑,否則該配置是基於本目錄的相對路徑,而該目錄下並沒有groups檔案,因此該配置不能被啟用!

解決方案

將“groups-db = groups”註釋掉,再次測試:

[email protected]32-73-ubuntu:/home/ubuntu# svn checkout svn://localhost/svntest --username=nigelzhou
svn: E170013: Unable to connect to a repository at URL 'svn://localhost/svntest'
svn: E220003: Invalid authz configuration
[email protected]32-73-ubuntu:/home/ubuntu# vim /opt/svn/svntest/conf/svnserve.conf
[email protected]32-73-ubuntu:/home/ubuntu# svn checkout svn://localhost/svntest --username=nigelzhou
Authentication realm: <svn://localhost:3690> My First Repository
Password for 'nigelzhou': ************

成功連線!

總結

在修改配置檔案是要注意配置項上面的註釋,不能隨意修改,否則會出現這次這樣難以定位的錯誤。

相關推薦

svn: E170001 : Authorization failed 主流解決方案

問題描述 新手在使用SVN,執行checkout想要獲取一份倉庫副本時一直報錯: [email protected]32-73-ubuntu:/home/ubuntu# svn checkout svn://localhost/svntest

JS setAttribute 方法的DOM解決方案

pre setattr 適用於 col clas 設計 element 程序設計語言 code //將element對象的value屬性的值 修改為 ‘the new value‘ element.value = ‘the new value‘; //等價於 elemen

git提交到遠端倉庫github上時,出現 “failed to push some refs to”解決方案

不得不吐個槽,網上關於git的資料實在是太亂了,為了解決一個問題,結果掉到了又一個坑裡!哎,趕緊自己把坑填起來,以免下次又掉進去!! 問題起源——以前在github上面建立了一個倉庫,後來專案寫的差不多了,想要提交到這個遠端倉庫上面! 然後執行下面步驟: 1.在專案根目錄下開啟g

opencv error insufficient memory (failed to allocate...)解決方案

此解決方案並不適合其他人,因為這是公司的動態庫函式因為記憶體分配問題產生的一個錯誤 錯誤是什麼  記憶體不足(分配 87230004 個位元組失敗)即分配 83 M 空間失敗 錯誤原因及解決辦法 分配 83 M 相對於計算機而言是一個很小的空間了,那麼就在 Deb

Ubuntu鎖屏登陸時出現failed to authenticate解決方案

在虛擬機器上執行Ubuntu16.04系統,由於在編譯cts,所以有較長時間沒用,再次登陸時發現無法在密碼框輸入密碼,並且顯示failed to authenticate。 解決方案:點選右上角的電源按鈕,切換使用者,切換到客戶機Guest Session,再切換回來重新嘗試輸入密碼即可。

Server Tomcat v9.0 Server at localhost failed to start.解決方案

今天遇到這個問題糾結了半天,百度上的答案也是不一致。 我就來簡單的說一下這個問題的解決方案,其實根本原因有兩個。 1、自己的web.xml 配置有誤,有可能是servlet-name寫錯了,或者class寫錯了,這個自己去檢查 2、就是包名重複,是所有部署

SVN建立不了資源庫位置 解決方案

提示錯誤資訊: 解決方法如下: 1. 檢視Eclipse中使用的是什麼SVN Interface 檢視方法:在eclipse中按選單 windows > preference > Team > SVN #SVN介面 Client2. 如果是用的

Android使用MediaRecorder的stop方法報"stop failed"錯誤的解決方案

一、 問題描述 如下所示,呼叫recorder.stop()時丟擲異常: Caused by: java.lang.RuntimeException: stop failed. at a

svn同步圖示不顯示的解決方案

最近發現svn同步圖示莫名其妙的不顯示,其他操作都正常。在網上搜了一些方法。 解決方法一(失敗): 升級最新版本,我的本來就是最新版本 解決方法二(失敗): 右鍵->TortoiseSVN->setting->Icon Overlays->

svn伺服器 Authorization failed

SVN:認證失敗  如果你是客戶端,就讓別人給你許可權。  如果能改檔案,則嘗試以下修改:  svnserve.conf:  [general]  anon-access = read  auth-access = write  password-db = passwd 

svn出現Authorization failed錯誤

我碰到這個問題是我安裝完svn後commit檔案時彈出的,它沒有彈出輸入使用者名稱和密碼的介面,但報了這個錯,感覺是沒有配置好使用者造成的。 在svn版本庫的配置檔案目錄找到這三個檔案:svnse

Context initialization failed 的錯誤解決方案

錯誤主要是jdk版本出現問題,博主也出現過這樣的錯誤。當時使用的是jdk1.8一直報錯,百度也沒有效果。最終找到了答案,分享給大家。通過configure build path 換了jdk版本1.7,同時也要講java compiler 改成jdk1.7  不然會報不匹配的錯

客戶端svn出現authorization failed異常

出現authorization failed異常,與伺服器端svn的三個配置檔案有關 檔案1:svnserve.conf: [general] anon-access = read auth-a

SVN錯誤---Authorization failed

在myEclipse客戶端第一次連到SVN時,如:svn://192.168.20.242/MyProject1,然後要求輸入使用者名稱和密碼。如果使用者名稱和密碼輸入出錯了,強行確定後。問題來了!會出現,以下錯誤資訊:org.tigris.subversion.javahl

svn使用教程及常見問題解決方案

SVN簡介:  為什麼要使用SVN?       程式設計師在編寫程式的過程中,每個程式設計師都會生成很多不同的版本,這就需要程式設計師有效的管理程式碼,在需要的時候可以迅速,準確取出相應的版本。 Subversion是什麼?    它是一個自由/開源的版本控制

pre-commit hook failed問題的解決方案

在初始化一個git倉庫要執行git commit 命令提交到GitHub時,出現如下錯誤:husky > pre-commi

webpack漸入佳境系列一:webpack環境配置與打包基礎【附帶各種 "坑" 與解決方案持續更新中...】

utf 環境配置 lan 配置 要求 完全 需要 構建 樣式 首先介紹傳統模塊化開發的主流方案: 1.基與CMD的sea.js,玉伯提出的解決方案,據說原來京東團隊在使用。用時才定義,就近加載。最近在瀏覽seajs官方文檔時發現seajs的域名已經在轉賣,驚恐萬分之余又想

Python HTTP庫requests中文頁面亂碼解決方案

獲得 使用 http text odin 抽取 from Coding blog 把html編碼類型賦與獲取到文本 獲取html編碼類型: 1.使用apparent_encoding可以獲得真實編碼 1 >>> response.apparent_enc

mysql大數據分庫和分表 php解決方案

表結構 處理方式 很好 fig struct 提升性能 this 區別 turn 當Mysql數據量過大時,就會面臨壓力分解,這時分庫分表是一個不錯的解決方案,現在我們就來談談Mysql如何分庫分表比較理想,然後再用php如何調用。 1,主從復制,讀寫分離對主

我們賣的不是高防服務器,而是高防解決方案

TTCDN能處理整個網站頁面的70%~95%的內容訪問量,從而解決了網站的並發量,由此減輕了源服務器的訪問壓力,也同時提升了網站的性能、可擴展性以及安全性。 使用TTCDN域名會解析到由我們提供的解析記錄值上,既然域名沒有解析到源站服務器IP上,那麽源站服務器IP自然就不會暴露。 由於域名是解