7

ActiveDirectory に対して認証するように SVN を設定しようとしています。Apache を使用して提供されるように SVN をセットアップすれば、これが可能であることはわかっていますが、そうするとオーバーヘッドが大きくなりすぎて、SVN の実行が遅すぎます。SVN ドキュメントを読むと、(SASL が 1.5 で SVN に統合されたため) Apache を使用せずに ActiveDirectory に対して認証するように SVN を構成できるようになったようです。残念ながら、SVN と SASL のドキュメントは非常に一般的であり、これを適切に機能させるための詳細が不足しています。

誰かがこれを機能させましたか?いくつかのサンプル構成ファイル、または自分自身 (およびおそらく他の人) をこれについて正しい方向に向けるための高レベルの手順を提供していただければ、非常に役立ちます。

4

4 に答える 4

3

SASL を有効にした SVN (Debian v7 ボックス上)、Active Directory を使用 (別のサーバー上)

libsasl2-2 を含む samba と winbind を既にセットアップしているので、スタートアップ実行可能ファイルと svnserve とモジュール (svn プレーン (またはその他の) メカニズムが機能するために必要) も取得することに注意してください。 x86_64-linux-gnu/sasl2/libplain.so):

sudo apt-get install sasl2-bin svnserve libsasl2-modules

sudo pico /etc/default/saslauthd

、および、および(5 ではない)に変更START=noし、最後の行から の前を削除して、コントロール x、y にします。START=yesMECHANISMS="pam"MECHANISMS="ldap"THREADS=0/var/runOPTIONS="-c -m /run/saslauthd";

sudo pico /etc/saslauthd.conf

以下を追加します (注: dc= シリーズの前に「ou=folder」が必要になる場合があります)。

ldap_servers: ldap://hostname.of.server<br />
ldap_search_base: dc=hostname,dc=of,dc=server<br />
ldap_bind_dn: cn=usernamehere,dc=hostname,dc=of,dc=server<br />
ldap_bind_pw: password<br />
ldap_filter: samaccountname=%u<br />
sudo /etc/init.d/saslauthd start

実行sudo testsaslauthd -u usernamehere -p passwordして LDAP セットアップをテストし、cat /var/log/auth.logログを表示します。

次の行をファイルに追加します/usr/lib/sasl2/svn.conf

pwcheck_method: saslauthd
mech_list: plain

リポジトリを作成します。

mkdir /data
svnadmin create /data/repohere

ある種の以前の「svnadmin dump /data/repohere >/data/repohere.dump」を想定して svnadmin load /data/repohere

pico /data/repohere/conf/svnserve.conf

コメントを外します (先頭のポンド先頭のスペースを削除します); そして、anon-access と authz-db を変更します (また、authz を /data に入れて、複数のリポジトリが共有しないようにします):

anon-access = none<br />
auth-access = write<br />
authz-db = ../../authz<br />
use-sasl = true<br />
pico /data/authz

以下を追加します。

[groups]<br />
whatever = username1,username2<br />
[/]<br />
@whatever = rw<br /> 

起動時に svnserve をスケジュールするには (申し訳ありませんが、見つからなかったので、手動で作成してください):

sudo cp /etc/init.d/skeleton /etc/init.d/svnserve
sudo chmod 755 /etc/init.d/svnserve
sudo update-rc.d svnserve defaults
sudo pico /etc/init.d/svnserve

DESC を「subversion server」に変更し、NAME を「svnserve」に変更し、DAEMON の「sbin」の「s」を削除して (/bin/ だけにするため)、DAEMON_ARGS を「-d -r /data」に変更します --ログファイル /var/log.svn.log"

sudo /etc/init.d/svnserver start

お気に入りの svn クライアント (TortoiseSVN など) をテストしてください!

于 2014-10-10T14:42:51.727 に答える
1

VisualSVN サーバーを使用して Windows で SVN を実行する

于 2009-11-26T13:56:05.783 に答える
1

あるメーリングリストでこの投稿を見つけました。次回これを機能させようとするときは、この情報を参照します。以下、参考までに引用しておきます。

Mark Phippard の助けを借りて、Windows で svnserve + SASL を動作させようとしましたが、svn.serverconfig.svnserve.sasl セクションにいくつかの追加/修正が必要です。

  1. subversion.conf ファイルについて話しますが、少なくとも Windows では svn.conf と呼ばれます。

  2. Windows では、データベース ファイルのデフォルト名は C:\CMU にある sasldb2 です。svn.conf で何も指定しない場合、これは、Subversion の認証を試行するときに SASL が検索する場所です。

  3. ただし、次の形式の別の行を svn.conf に追加することで、使用する SASL データベース ファイルを指定できます。

  4. レジストリ キーは次のように記述できます。 SearchPath - sasl*.dll プラグインを含むディレクトリ パス、たとえば saslCRAMMD5.dll (ここでは libsasl.dll については説明しません)。ConfFile - svn.conf ファイルを含むディレクトリ パス。ここでの矛盾に注意してください。これは conf ファイルを含むディレクトリですが、conf ファイルの sasldb_path 値は、データベース ファイルを含むディレクトリではなく、データベース ファイル自体を指しています。

  5. Windows で saslpasswd2 を使用する場合、データベース ファイルを明示的に指定する必要があるため (デフォルトで c:\CMU\sasldb2 が使用されるとは思わないでください)、コマンド ラインのより適切な例は次のようになります。

saslpasswd2 -c -fc:\svn_repository\sasldb -u レルム ユーザー名

  1. Windows ユーザーは (通常) 独自のプログラムを作成しません - 彼らにはそれを行う使用人/開発者がいます ;-) では、彼らはどこから saslpasswd2 を入手するのでしょうか? Open Collab Net には、これらのプログラムを含む便利な svn サーバー インストーラーがあり、さらに svnserve をサービスとしてインストールします。言及する価値があるかもしれません。現在、マージ追跡/ベータ サイトにのみ存在するため、提供するリンクが不明です。

サイモン

于 2011-08-13T04:38:50.643 に答える
0

技術的には可能だと思います。リンクポイント 8.GSSAPI およびmicrosoft technet の記事も参照してください。

here で説明されているように、SVN 1.6 + SASL を実際に使用した経験があります。それは私たちにとってうまくいきます。したがって、あなたの最大の課題は、SASL と Active Directory を「結合」することだと思います。

于 2009-11-25T07:48:41.667 に答える