7
[groups]
developer = a,b,c
doc = r,x

[/doc]
@doc = rw
@developer = rw

[/]
@developer = rw
* =

グループ doc のメンバーがドキュメントをチェックアウトしようとしても、機能しません。doc のメンバーがサブディレクトリ doc をチェックアウトできるようにするだけで、それ以外は禁止されています。これを達成する方法はありますか?

よろしくロニー

[アップデート]

クライアント: svn、バージョン 1.5.4 (r33841) サーバー: svn、バージョン 1.4.6 (r28521)

svn+ssh:/user@host/fullpath-to-repos 経由でアクセス

  • 1つは2年間完全に機能します
  • 2 の可能性があります - 上記のバージョン番号を参照してください (すぐに管理者に連絡します)
  • 3いいえ?ただssh
  • 4 いいえ
  • 5 いいえ

[アップデート]

  • クライアントバージョンsvn 1.4.6(r28521)を使用しても機能しません-同じエラー
  • 単純なコマンド ライン アクセスを使用します。svn co svn+ssh://....

[アップデート]

  • サーバー:Linux 2.6.16.60-0.39.3-default9 i686 athlon i386 GNU/Linux - suse 10? またはそのようなものだと思います
  • クライアント: Kubuntu 9.04
  • OpenSSH SSH クライアント経由の接続
  • サーバーは localhost からの svn:// 接続を拒否します - すべての接続 --- すぐに自宅でコピーを試してみる必要があります

[更新 4] * これは自分のサーバーではないため、やりたいことができません。これは、数百人のユーザーがいる、少なくとも 10 年間稼働している非常に古いサーバーです。標準的なものはうまくいくはずです。何か不足している場合は修正してください。

[更新 5] 信じられないかもしれません。私は間違ったパスを使用していましたが、今ではすべてが正常に機能しています。時間を無駄にして申し訳ありません。FoxyBOA の努力に報奨金を差し上げます。

4

3 に答える 3

3

これを行う真の方法は次のとおりです。

[groups]
developer = a,b,c
doc = r,x

[doc:/]
* =  
@doc = rw
@developer = rw

[otherPath:/]
* =
@developer = rw
@doc = r

[/] 
* = rw
于 2010-05-14T14:41:06.810 に答える
2

@docメンバーはどのURLをチェックアウトしようとしますか?

[更新しました]

サーバー側とクライアント側のSVNのバージョンに関する追加情報を教えてください。クライアントがSVNサーバーに接続しようとする方法(たとえば、サブクリップライブラリ、コマンドプロンプトなどを使用したEclipseから)。

  1. svn + sshを使用している場合、ユーザーはサーバーへの有効なアクセス権を持っている必要があります。ユーザーは正しいシェル(つまり、bash、tcshなど)を持っていますか?/ bin/falseおよびその他の偽のシェルはsvn+ssh接続タイプでは機能しません。

  2. 発生する可能性のあるその他の問題-サーバー側とクライアント側で異なるSVNバージョン(たとえば、サーバー1.4、1.5テクノロジーを使用して接続しようとするクライアント1.5)。

  3. SVNでSASL認証を使用していますか?

  4. チューンリングを使用していますか?

  5. svn docsで説明されているssh構成のトリックを使用していますか?

[更新2]

  1. コマンドプロンプトからSVNに接続していますか、それともIDEを使用していますか?IDEを使用している場合は、IDEに名前を付け、どのアドオン/ライブラリなどに関する情報を提供してください。SVNサーバーへの接続に使用しています。

[更新3]

  1. テストアカウントを作成して、sshなしでSVNサーバーに一時的にアクセスしてみてください。プレーンなsvn://プロトコルを使用するだけです。それが機能する場合、問題はsshにあり、失敗する場合は-svnです。
  2. ssh接続にどのツールを使用していて、どのOSから作業していますか?

[UPDATE4]-svn サーバーが起動しましたか?svnが標準ポートで動作する場合は、サーバーからローカルのsvnポートに直接接続してみてください。

telnet localhost 3690
  • それが機能する場合は、クライアント(つまり、telnet ip_server 3690)から接続してみてください。

  • サーバーのtelnetは機能するが、クライアントからのtelnetに障害が発生する場合は、ファイアウォール、ルーターなどを確認してください。

  • サーバーのtelnetに障害が発生した場合。svnサーバーを再起動し、サーバーログを確認してください。

[UPDATE5]

私の考えでは、svnサーバーが停止しました。svnサービスがローカル(ローカルホストから3690へのtelnet)およびリモートで表示されているかどうかを確認してください。どちらの場合もsvnサービスが正しく機能する場合は、次のようなものを取得する必要があります

(成功(1 2(ANONYMOUS)(edit-pipeline)))

于 2009-06-11T10:15:16.520 に答える
0

「私はsvn+sshを使用しています...奇妙なこと」

svn + sshはsshを使用して接続し、トンネルモードでsvnserveを実行します

トンネルを介して実行する場合、承認は主にリポジトリのデータベースファイルに対するオペレーティングシステムのアクセス許可によって制御されます。ハリーがfile://URLを介してリポジトリに直接アクセスしていた場合とほとんど同じです。

svnserveドキュメント

つまり、設定した構成は無視されます。

于 2009-06-15T14:30:26.880 に答える