2017-04-20 4 views
1

どのようにして、私たちはgitoliteでスマートなhttpを使ってきめ細かいACLを達成できますか?gitoliteでスマートなhttpアクセス権を持つリポジトリのファイングレインACLを取得するにはどうすればよいですか?

これが何を正確に意味がある:私はsshを使っgitoliteで一部のユーザーのための一定のレポ取引を制限し、私は制限されたレポのクローンを作成しようとした場合、gitoliteが伝えた場合:

Fatal R any (some_username) is denied. 
Please make sure the repository exists". 

により、上記のACLを達成する方法スマートhttpを使用して?
可能であれば、これを実現するための設定(apache2)を指定してください。

答えて

0

gitolite私はin 2012またはin hereを述べたように、スマートHTTPと互換性があります。

すべてを行う必要がthose 4 linesに設定されている:

SetEnv GIT_PROJECT_ROOT @[email protected]/repositories 
SetEnv GIT_HTTP_EXPORT_ALL 
SetEnv GITOLITE_HTTP_HOME @[email protected] 
ScriptAlias /hgit/ /path/to/gitolite/sbin/gitolite-shell/ 
SetEnv GIT_HTTP_BACKEND "/path/to/git/libexec/git-core/git-http-backend" 

そうすれば、/hgitで始まる任意のurl with a pathは(そのsrc/gitolite-shell perlスクリプト経由)最初

git clone http://myserver/hgit/myrepo.git 

をgitoliteを照会しますあなたは必要authentication basic provider(file、ldap、dbm、...)のいずれかを使用してto authenticate yourselfの方法でそれを結合する
my httpd.conf, I use LDAPです。

AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories" 
    AuthType Basic 
    AuthBasicProvider ldap 
    AuthLDAPBindDN "@[email protected]" 
    AuthLDAPBindPassword @[email protected] 
    AuthLDAPURL @[email protected] 
    AuthLDAPGroupAttribute member 

あなたはtheir actual valuesでプレースホルダ文字列@[email protected]を置き換えます。

+0

私は上記のコードを試しました。しかし、まだ私は答えを見つけることができませんでした。最初に実行するステップと最後に実行するステップを明確に理解できるように、ステップ(コード)を順番に投稿してください。私は "スマートhttp"の実装について非常に多くのドキュメントを読んでいて、実際は非常に混乱しています。皆さんは同じトピックを複数の方法で実装しています。この問題を解決するのを手伝ってください。 –

関連する問題