私はDebian 7を使用しており、Subversionがインストールされています。
リポジトリを作成した後、リポジトリにどの権限と所有者を設定する必要があるのかわかりません。
2種類のリポジトリが欲しいです。
1)svn/private/*
- 指定された1人のユーザーのみを読み書きできます。
2)svn/public/*
- 指定されたユーザーグループのみがここで読み書きできます。
*
そこに複数のリポジトリがあることを意味します。
すべてのユーザーをLinuxシステムからインポートし、passwdファイルまたは他のファイルに割り当てたくない場合。それでは、これを達成するためにどのようにストレージ権限を正しく設定しますか(Linux権限について話します)。
さらに、パブリックリポジトリを使用すると、承認されたユーザーがコミットできる必要があり、これによってリポジトリが破損することはありません(以前はこのような問題があったように)。
私たちはsvn + sshアクセスについてのみ議論します。
私はインターネットでたくさんのチュートリアルを読んでいますが、それらのどれも私に必要なものを含んでいません。
助けてください?
答え1
svn + sshを使用してSubversionリポジトリに接続すると、リポジトリ内のファイルに対する標準のUnixファイル権限が使用されます。これは、ユーザーがSSHをリモートサーバーに効果的に接続し、そのサーバーでローカルにsvnコマンドを実行できるためです。
ユーザーxがそのファイルに対する読み取り/書き込み権限を持っている場合、ユーザーxはリポジトリーへの変更をコミットできます。ユーザーyがこれらのファイルに対する読み取り/書き込み権限を持っていない場合、ユーザーyは変更をコミットできず、読み取りアクセス権がないとリポジトリーの内容を表示(チェックアウト)することもできません。
最も単純なモードでは、chown と chmod を使用して各ユーザーのストレージの所有権と権限を設定します。
$chown user:group /wherever/svn/private
$chmod 770 /wherever/svn/private
など。
より複雑な権限の場合は、httpサーバーを介してsvnを使用し、httpサーバーのアクセス制御を使用してリポジトリの特定のパスにアクセスする必要があります。
注:ユーザーが特定のストレージへの読み取り/書き込みアクセス権を持っていると、そのストレージが破損する可能性があります。したがって、svn + sshを使用している限り、これらのユーザーにかなりのアクセス権を付与することです。これにより、制限がある場合でも、ユーザーがリポジトリに変更を適用できる限り、破損が発生する可能性があります。通常、これらの損傷はロールバック可能です。
SVN文書の関連セクションにリンクしている間しばらくお待ちください。
この本のポイントは、svn + sshがシンプルで安全ですが制限がありますが、httpはより強力ですが複雑です。私は私が望む人に読み取り専用アクセスを与えるためにほとんどHTTPメソッドを使用し、他の誰もがsvn + sshを介してアクセスを持っています。私が知る限り、私はsvnserveメソッドを試したことがありません。