Subversion

如何在 SVN 中添加使用者?

  • June 30, 2016

更新#3:我想我找到了。

/etc/httpd/conf.d/subversion.conf

<Location /repos>
       DAV svn
       SVNPath /var/www/svn/repos
       AuthType Basic
       AuthName "Subversion repos"
       AuthUserFile /etc/svn-auth-conf
       Require valid-user
</Location>

svn-auth-conf 格式為

user1:$apr1$randome letters ... $random letters and numbers

我覺得我使用了一些命令行工具來添加使用者,但我不記得是什麼。

更新#2:locate http.conf 給出了這些結果

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf

我在其中任何一個中都沒有看到任何與顛覆有關的東西。如果有幫助,我可以在這裡發布文件。

原始問題:

幾年前,我安裝並設置了顛覆。我不記得我是如何添加使用者的。我現在需要添加另一個,但是當我檢查passwd文件時,沒有定義使用者,文件中也沒有設置任何內容svnserve.conf——兩者都將所有內容都註釋掉了。這是我能找到通過Google添加使用者的唯一方法。所以我試了一下:

密碼

user1 = password1
user2 = password2

svnserve.conf

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos

但我仍然只能使用 訪問它user1,即使user1不是 linux 伺服器上的使用者。有沒有其他方法可以添加使用者或者我的配置有問題?

更新:

我在 svnserve.conf 文件中添加了以下行

authz-db = authz

然後我的 authz 文件看起來像這樣

授權

$$ groups $$ 開發人員 = 使用者 1,使用者 2

[repos:/]
devs = rw

還是不行。密碼中 user1 的密碼與我用於登錄的密碼不同。所以我認為顛覆根本沒有使用它進行身份驗證。特別是因為文件之前是空的,我仍然能夠登錄。有什麼方法可以確保它使用 svnserve、passwd、authz 文件進行身份驗證?某處還有另一個配置文件嗎?

Subversion 身份驗證通常有兩個部分。第一個是某種密碼儲存庫。第二個是訪問控制列表。密碼列表用於驗證使用者並檢查他們的密碼,但您還必須設置哪些使用者可以訪問哪些資源。

有幾種密碼儲存庫類型。我不熟悉passwd類型,我使用htpasswd類型,它使用與 apache 用於使用者身份驗證的相同使用者/密碼文件。我將使用者添加到此文件中htpasswd .htpasswd username。看起來您可能已針對您的密碼類型正確完成了此步驟。

第二部分是 ACL。Subversion 應該有一個名為access某處的文件,其中包含每個儲存庫的部分。您需要在要訪問的儲存庫下添加一行,username = rw以授予該使用者對該儲存庫的讀/寫訪問權限。

引用自:https://unix.stackexchange.com/questions/15932