SVNにユーザーを追加するには?

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をインストールして設定しました。ユーザーをどのように追加したか覚えていません。これで別のファイルを追加する必要がありますが、ファイルを確認するとカスタマイズもpasswdなく、svnserve.confファイルに設定されているものもありません。どちらもすべての内容がコメントアウトされています。これが Google 経由でユーザーを追加する唯一の方法です。だから私はこれを試しました:

パスワード

user1 = password1
user2 = password2

svnserve.conf

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

しかし、私はサーバーのユーザーでなくてもuser1linuxを介してのみアクセスできます。user1ユーザーを追加する他の方法はありますか?それとも私の設定に問題がありますか?

修正する:

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

authz-db = authz

その後、私の認証ファイルは次のようになります

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

[repos:/]
devs = rw

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

答え1

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

いくつかのパスワードストアタイプがあります。あまり慣れていないパスワード私が使用するタイプパスワードApacheがユーザー認証に使用するのと同じタイプのユーザー/パスワードファイルを使用してください。私は使用しますhtpasswd .htpasswd username。パスワードの種類に応じて、この手順を正しく完了したようです。

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

答え2

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

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

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

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

このプロジェクトのためにテストアクセス権を付与したい

答え3

## 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

次のコマンドを使用できます。

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXXがユーザー名で、パスワードを入力するように求められます。

これはApacheを使用してsvnを設定した場合にのみ発生し、apacheはsvn confフォルダのユーザー名パスワードconfファイルを読み取ることはありません。

関連情報