web-dev-qa-db-ja.com

SVNでユーザーを追加するにはどうすればよいですか?

アップデート#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:http.confを見つけて、これらの結果を得る

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

Subversionに関連しているように見えるものはどちらにも見当たりません。役立つ場合は、ここにファイルを投稿できます。

元の質問:

数年前、Subversionをインストールしてセットアップしました。ユーザーを追加した方法を覚えていません。ここでもう1つ追加する必要がありますが、passwdファイルを確認したところ、ユーザーが定義されておらず、svnserve.confファイルにも何も設定されていませんでした。両方ともすべてコメント化されていました。それは私がグーグル経由でユーザーを追加するために見つけることができる唯一の方法です。だから私はそれを試しました:

パスワード

user1 = password1
user2 = password2

svnserve.conf

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

しかし、user1がLinuxサーバーのユーザーではない場合でも、私はuser1でしかアクセスできません。ユーザーを追加する他の方法はありますか、または構成に問題がありますか?

更新:

Svnserve.confファイルに次の行を追加しました

authz-db = authz

それから私のauthzファイルはこのようになります

authz [グループ] devs = user1、user2

[repos:/]
devs = rw

まだ動作しません。 user1のパスワードは、ログインに使用するものとpasswdで異なります。だからSubversionはそれを認証にまったく使っていないと思います。特に以前はファイルが空で、まだログインできたためです。認証にsvnserve、passwd、authzファイルを使用することを確認する方法はありますか?どこかに別の設定ファイルがありますか?

12
scott

Subversion認証には、通常2つの部分があります。 1つ目は、ある種のパスワードリポジトリです。 2番目はアクセス制御リストです。パスワードリストは、ユーザーの認証とパスワードの確認に使用されますが、どのユーザーがどのリソースにアクセスできるかを設定する必要もあります。

パスワードリポジトリにはいくつかの種類があります。私はpasswdタイプに慣れていません。Apacheがユーザー認証に使用するのと同じユーザー/パスワードファイルを使用するhtpasswdタイプを使用します。 htpasswd .htpasswd usernameを使用して、このファイルにユーザーを追加します。パスワードの種類に応じてこの手順を正しく行ったようです。

2番目の部分はACLです。 Subversionには、各リポジトリのセクションを含むaccessという名前のファイルが必要です。アクセスするリポジトリの下にusername = rwを使用して行を追加し、そのユーザーにそのリポジトリへの読み取り/書き込みアクセス権を付与する必要があります。

8
Caleb

SVNサーバー構成(主に)は3つのファイルで構成されています。

  • authz
  • パスワード
  • svnserve.confこれがメインファイルです(authz-db = authz)

したがって、2つの構成ファイルを提供するだけです。authzファイルに以下が含まれていることを確認してください。

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw

プロジェクトの場合testアクセスを許可する必要がある

6
Sergey
## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

注:Subversion.confファイルで使用されているものとまったく同じファイルおよびパス名を使用してください。この例では、/etc/svn-auth-usersファイルを使用しています。

4
user139264
htpasswd -m /etc/Subversion/svn-auth-file yourusername

次に、パスワードを要求し、パスワードを確認します。

2
Test Test

コマンドを使用できます

Sudo htpasswd -cm /etc/Apache2/dav_svn.passwd XXXXX
  • XXXXXはユーザー名であり、パスワードを要求します

これは、Apacheでsvnをセットアップした場合にのみ発生します。これは、svn confフォルダー、ユーザー名、パスワードconfファイルを読み取りません。

1
Supun Sameera