SSHおよびHTTPS経由で提供される共有gitリポジトリの場合、両方のプロトコルのアクセスを制御する方法は?
質問
hooks / update
を使用して、共有リポジトリ内の特定の参照を更新できるユーザーを制御しています。これはSSHでうまく機能しますが、最近(少なくともgit-1.6.4.2では)このフックがWebDAVプッシュに影響しないことを発見しました。 i.e。、どのユーザーでもブランチを更新できます。
はい、
別の代替方法は、 hooks / update
を書き換えることですが、SSHで既に機能していることを考えると、無駄に思えます。
解決
Gitの(現在)HTTPSは「ダム」であることを理解する必要があります。プロトコル、つまり交換全体は、フックを実行することを含め、サーバー上のgitをまったく使用せずに実行されます。関与するのはWebサーバー(HTTPSプッシュ用のWebDAVを使用)のみです。
ただし、 Gitosis (Pythonの場合はsetuptoolsを使用)、または新しい Gitolite (Perlの場合はより簡単)などのリポジトリアクセス管理ツールをご覧ください。またはGoogleのAndroidプロジェクトの repo ツールなど。おそらく、一元化されたアクセス管理を提供するでしょう。
所属していません StackOverflow