0

Ubuntu サーバーで Subversion サーバーを実行していますが、アクセス許可の問題があります。私のメインの svn フォルダーとそのすべてのサブフォルダーとファイルには、グループ Subversion とそのグループの一部であるすべての人に対する読み取り/書き込み権限があります。

たとえば、svn プロトコルを使用して svn に接続します。

svn co svn://192.168.1.2/config

今私の問題は、コンピューターを使用してSVNサーバーに接続するときに、書き込み/読み取り権限がないことです。o+r​​ と o+w を設定すると、読み書きできますが、「その他」の権限が設定されていない限り、svn は権限エラーを返します。

リモートマシンを使用して接続していることを認識し、グループのアクセス許可を与えるように、svnサーバーにアクセス許可を設定するにはどうすればよいですか。

ありがとうございました。

4

2 に答える 2

5

プロトコルを使用している場合svn://、読み取り/書き込みアクセス許可は、svnserveプロセスを実行しているユーザーのものである必要があります。file://実際、これがまさに、複数のユーザーがいる場合にプロトコルを使用すべきではない理由です...

svn://をプロトコルとして使用する場合svnserve、Subversion リポジトリへの読み取りと書き込みを行うプロセスを要求しています。したがって、ユーザーは実際の読み取り/書き込み許可を必要としません。

実際、プロセス以外の誰もがsvnserveリポジトリ ファイルに直接アクセスできるようにしたくありません。標準的なセットアップでは、Subversion リポジトリ内のファイルに、Subversion サーバー プロセスであるプロセスを実行しているユーザーのみがアクセスできるようにしhttpdますsvnserve

問題を解決するには、コマンドを実行しているユーザーがsvnserveSubversion リポジトリ ディレクトリ ツリー内のファイルを所有していることを確認してください。すべてのファイルとディレクトリがrwx------またはに設定されていることを確認してくださいrwxr-xr-x。そうすれば、プロセス以外の誰svnserveもファイルにアクセスできなくなります。

では、セキュリティをどのように指定しますか? Subversion リポジトリ ディレクトリには、 というディレクトリがありますconfsvnserve.conf最も簡単な方法は、このディレクトリの下で呼び出されるファイルを構成することです。興味のある 3 つのセクションがあります。

  • 11行目については、 と の2行# anon-access = readあり# auth-access = read-writeます。#行頭の を削除して、これら 2 つのパラメーターを有効にすることができます。anon-accessログインしていないときのアクセスの種類を設定します。デフォルトはreadです。おそらく、これをnoneに変更したいと思うでしょう。もう 1 つは、ログイン時のアクセスの種類です。デフォルトのread-writeを維持したいと考えています。

  • conf/svnserve.confファイルの20 行目あたりに、という行があります# password-db = passed。11 行目では、ログインするユーザーが持つアクセス権を指定しました。ここで、ログインとパスワードを含むファイルを指定しています。#この行の先頭から を 削除して、conf/passwdファイルにユーザー名とパスワードが含まれていることを指定します。そのディレクトリにサンプルpasswdファイルがあります。: このファイルにアクセス許可があることを確認してくださいrw-------。誰もそれを開いてパスワードを見られたくないでしょう!

  • 通常、関心があるのはそれだけです。ほとんどのサイトでは、ログインできる人なら誰でも変更を加えることができるはずだと述べています。結局のところ、誰かが台無しにしたら、いつでも元に戻すことができます。ただし、誰がどのファイルを変更できるかをより厳密にしたい場合は、conf/svnserve.confファイルの 27 行目あたりを見てみましょう。これは のように見えます# authz-db = authz。もう一度#最初から削除します。confディレクトリに、サンプルがありますauthzリポジトリの特定のセクションへの読み取りまたは読み取り/書き込みアクセス権を持つユーザーを設定する方法を示すファイル。これを行う前に、2 回、場合によっては 3 回考えることを強くお勧めします。そうしないと、自分のために多くの作業を作成し、すべての開発者に嫌われることになります。開発者があるプロジェクトから別のプロジェクトに引っ張られることは珍しいことではありません。特定の開発者だけが特定のプロジェクトに書き込みできるようにプロジェクトを厳重にロックしている場合、開発者がプロ​​ジェクトを切り替えるたびにこのファイルを変更することになり、開発者は自分の作業を行う前にあなたを待たなければならなくなります。軽い接触。軽い接触。

于 2012-05-21T04:06:30.300 に答える
0

ナンセンスな回答を読むのに何日も費やした後、sudo を使用して svnserve を実行するだけで、最終的にこれを解決しました。

svnserve -d -r /svn/repository/

...許可エラーをスローします

sudo svnserve -d -r /svn/repository

...許可エラーはありません。

于 2014-10-15T14:10:46.353 に答える