アップデート#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
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ファイルを使用することを確認する方法はありますか?どこかに別の設定ファイルがありますか?
Subversion認証には、通常2つの部分があります。 1つ目は、ある種のパスワードリポジトリです。 2番目はアクセス制御リストです。パスワードリストは、ユーザーの認証とパスワードの確認に使用されますが、どのユーザーがどのリソースにアクセスできるかを設定する必要もあります。
パスワードリポジトリにはいくつかの種類があります。私はpasswdタイプに慣れていません。Apacheがユーザー認証に使用するのと同じユーザー/パスワードファイルを使用するhtpasswdタイプを使用します。 htpasswd .htpasswd username
を使用して、このファイルにユーザーを追加します。パスワードの種類に応じてこの手順を正しく行ったようです。
2番目の部分はACLです。 Subversionには、各リポジトリのセクションを含むaccess
という名前のファイルが必要です。アクセスするリポジトリの下にusername = rw
を使用して行を追加し、そのユーザーにそのリポジトリへの読み取り/書き込みアクセス権を付与する必要があります。
SVNサーバー構成(主に)は3つのファイルで構成されています。
したがって、2つの構成ファイルを提供するだけです。authzファイルに以下が含まれていることを確認してください。
#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw
プロジェクトの場合testアクセスを許可する必要がある
## 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
ファイルを使用しています。
htpasswd -m /etc/Subversion/svn-auth-file yourusername
次に、パスワードを要求し、パスワードを確認します。
コマンドを使用できます
Sudo htpasswd -cm /etc/Apache2/dav_svn.passwd XXXXX
これは、Apacheでsvnをセットアップした場合にのみ発生します。これは、svn confフォルダー、ユーザー名、パスワードconfファイルを読み取りません。