web-dev-qa-db-ja.com

SASLおよび通常のユーザーアカウントを使用したSvnserve認証

システムのユーザーとパスワードを使用して(たとえば、/ etc/shadowファイルを使用して)認証するようにsvnserveを設定することは可能ですか?これはSASLの場合だと思いますが、このように機能するSASL構成が見つかりませんでした。

ApacheでSubversionサーバーを実行していますが、非常に低速です。 svnserveを使用するとかなり高速になる場合があるので、それに切り替えたいと思います。 svn + sshメソッドは、秘密鍵/公開鍵を設定する必要があるユーザーにとっては複雑になるようです。

7
JW.

私はこのガイドに従わなかったので、それが最新で正確であるかどうかはわかりませんが、ここに行きます:

SASLによる認証

また、SVNで認証を行うために、秘密鍵/公開鍵を使用する必要はありません(企業ポリシーなどがある場合を除く)。 svnクライアントの組み込みのパスワードプロンプトを使用し、毎回パスワードを入力したくない場合は、オプションを使用してパスワードをキャッシュできます。

さらに、Apacheが遅いように見える理由を調査することもできます。何年にもわたって、SVN + Apacheが最も柔軟性と堅牢性を提供することを発見しました。 svn + Apacheからsvnserveに移行することは想像できません。

2
Swoogan

私はこのオプションを少し調べました:

SASL側からは、 PLAINメカニズム を使用してシステムアカウントに対して認証できます。最良のオプションはおそらくPAMとsaslauthdです。ただし、「共有シークレット」メカニズムは使用できません(システムアカウントのパスワードが明確に保存されている場合を除く)。

Subversionの側から見ると、「既知の問題」の下にある SASLノート1.6.4 は、パスワードをクリアテキストで送信するため、ra_svnとsvnserveの両方でPLAINメカニズムを完全に無効にします。 1.6.5の注記 で、彼らはこの制限を解除し、ネットワーク通信を保護するように注意する必要があることを説明しています。 saslauthdを使用する必要があることを認識しているため、おそらくこの変更を行いました。

特に、この問題は、saslauthdデーモンを使用してユーザーを認証するユーザーに影響します。これは、そのメソッド(= PLAIN)がプレーンテキストのパスワードでのみ機能するためです。

したがって、結論として、それを機能させることができると思いますが、構成の数が非常に限られている場合に限ります。クライアントとサーバーには、SASLがコンパイルされたSubversion1.6.5以降が必要です。

2
Bruno De Fraine