1

複数のユーザーが変更をコミットできる git サーバーをセットアップします。

これに関するドキュメントの多くは、リポジトリへの書き込みアクセスを許可し、SSH を使用してアクセス制御を行うことを提案しています。たとえば、 http://git-scm.com/book/ch4-2.htmlは、何百人ものユーザーに対してもこれを提案しています。Gitosis は同じアプローチを継続しているようで、リポジトリへの SSH 書き込みアクセスを許可しています。

だから私の質問は:

誰かを止めるとはssh server "rm -r /home/git/the_repository"

典型的なインストールでは、共有リポジトリへのコミット権を持つ人々がそれを削除するのに十分なファイルシステムアクセス権を取得するというのは本当ですか?

4

2 に答える 2

1

達成しようとしているものを達成するための最新の方法は、gitoliteを使用することです。これにより、レポ管理者として比較的きめ細かいアクセス ルールを定義できます。

gitolite は ssh キーでユーザーを識別するため、ユーザーはサーバーへのシェル アクセスさえ必要ありません。

gitoliteのドキュメントは、私の経験では非常に優れています。

于 2013-02-15T15:09:50.473 に答える
0

ユーザーにリポジトリ マシンへのシェルアクセスを許可しないでください。

この方法でアクセス制御を行う場合は、ユーザーが実行できるコマンドを に制限する必要がありますgit

ただし、これは、ブランチごとに空の参照をプッシュするなど、他の厄介なことを行うのを止めることはできません。中央リポジトリを使用する人を信頼できない場合は、よりきめ細かい権限システムが必要です。

この目的にはGerritをお勧めします。コード レビューに使用しない場合でも、git に関する管理および権限システムを提供します。

もう 1 つのオプションは、SSH ではなく HTTP 経由でプッシュすることです。HTTP サーバーは、いたずらを避けるために設定できる追加の制限を提供します。

于 2013-02-15T15:09:58.150 に答える