5

認証されたすべてのユーザーがアクセスできるApache vHostでgitwebを正常にセットアップしました。

サーバー自体は、https を介していくつかの git リポジトリを提供し、ユーザー/グループごとにそれらのプロジェクトにアクセスできます。たとえば、test1.git はグループ test1 のみが読み取り/書き込み可能であり、test2.git はグループ test2 のみが読み取り/書き込み可能です。

また、これらのグループのみが、gitweb インターフェイスで対応する git リポジトリを参照できるようにしたいと考えています。gitweb に対してこれらの詳細なアクセス権を持つことは可能ですか?

そうでない場合、プロジェクトごとに基本的なhttp認証(およびおそらく後でldap認証)を処理できるgit用の軽量Web GUIがありますか?

編集 物事を明確にするために(コメントから混乱があるように見えるため):例:

  • 10 個のリポジトリ (test1、test2、... test10) があります。

  • ユーザーlockdocはグループtest1およびtest3に属しています

  • ユーザー名lockdocとパスワードを使用して http で認証されると、このユーザーは git プロジェクトtest1test3のみを表示でき、他のプロジェクトを閲覧/表示することはできません

  • これはすでに実装されているため、Web インターフェイスを介して書き込む (プッシュする) 必要はありません。

4

1 に答える 1

4

GUI はありませんが、この種のきめの細かい認証にはgitoliteを使用することをお勧めします。

LDAP および gitolite アクセスについては、この httpd.conf を参照してください。

  • gitweb アクセスを定義すると、gitolite が呼び出されます。このgitweb.conf.plスクリプトを参照してください。
  • gitolite も呼び出すhttps アクセスを定義できます(ID に応じてアクセスを許可または拒否するため)。

https 構成は次のようになります。

ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
   ...
</Location>

どちらの場合も、これらの http アドレスを LDAP ベースの認証で保護できます。

AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories"
AuthType Basic
AuthBasicProvider myldap companyldap
AuthzLDAPAuthoritative Off
Require valid-user

そして、gitolite に関連付けられたgitolite.conf構成ファイルにユーザー/グループ/リポジトリを登録します。

@lockdoc_repos           =   test1 test3 # group of repo

repo @lockdoc_repos
    R                    = lockdoc # read-only access for lockdoc
    R                    = gitweb daemon # can be browsed   

gitolite 自身の作成者であるsitaram ( Sitaram Chamarty ) による、リポジトリのブラウジングを許可する方法の詳細については、「R @all ルールを削除した後、gitolite に testing/info/refs が見つかりません」 を参照してください。

于 2012-12-31T09:25:28.847 に答える