このリポジトリはずっと前に作成され、当時は唯一のユーザーでした。これで別のユーザーを追加する必要があるので、ユーザーグループを作成し、ここに2人のユーザーを追加してから、次のようにしました。
chmod -R user1:usergroup svnrepo/*
chown -R 0770 svnrepo/*
svnrepo/db/current
今、私たちは両方とも更新してコミットできますが、問題は私たちの一人がコミットすると明らかに所有者(コミットしたユーザー)が変わり、他の人は私が手動で設定するまでリポジトリへのアクセス権を失うことです。正しい権限。またご主人様。
この問題を解決する方法を知っていますか?これはとても迷惑です...
答え1
私はこれがSVNリポジトリへのアクセスを共有するのに推奨される方法だとは思わない。このfile:///
プロトコルを使用してリポジトリにアクセスしていますが、通常はお勧めできません。次のタイトルの StackOverflow Q&A をご覧ください。Windowsネットワーク共有のsvnリポジトリ。
file://アクセスは、特にテストとデバッグのためのローカルシングルユーザーアクセス専用です。ストレージを共有するには、適切なサーバーを設定する必要がありますが、思ったよりも難しくありません。読む「アクセスストア」というセクションサーバーの選択と設定に関するガイドです。
すべて同じです。このビューはSVN Bean Bookに反映されています。。
すべてのユーザーがfile:// URLを介して直接リポジトリにアクセスできるようにするという単純なアイデアに惑わされないでください。誰もがネットワーク共有を介してリポジトリに簡単にアクセスできるとしても、これは悪い考えです。これにより、ユーザーとリポジトリの間のすべての保護層が削除されます。ユーザーが誤って(または意図的に)リポジトリデータベースを破損し、スキャンまたはアップグレードのためにリポジトリをオフラインにするのを困難にし、混乱したファイル権限の問題を引き起こす可能性があります(参照:「複数のストレージアクセス方法のサポート」セクション)。これがsvn + ssh:// URLを介してリポジトリにアクセスしないように警告する理由の1つです。セキュリティの観点からは、これは実際にはfile://を介したローカルユーザーアクセスと同じであり、すべて同じ問題を引き起こす可能性があります。管理者は注意しません。
SO Q&Aを読んでください。これに問題があり、リポジトリが破損していると証言した人がたくさんいます。
実際のデーモンを設定svnserve
し、リポジトリへのアクセスを制御することをお勧めします。設定はとても簡単です。
答え2
svnserveを設定し、svn://またはssh+svn://経由でリポジトリにアクセスすることをお勧めします。
または、file://メソッドを引き続き使用するには、あなたとあなたの友人が同じグループにいることを確認し、設定されたグループ権限を使用するようにrepoディレクトリを設定します。
usermod -a -G <group> <user>
chgrp <group> /path/to/repo
chmod 2770 /path/to/repo
これにより、作成されたすべての新しいファイルがグループ権限を継承し、ファイルシステム権限の問題を軽減するのに役立ちます。