3

私と友人の両方がアクセスできる共有ホスティング アカウントに git リポジトリを設定しようとしています。~/.ssh/authorized_keys に次の行を追加することで、Subversion リポジトリでこれを行うことができました。

command="/usr/bin/svnserve -t -r /path/to/svn/repo \
  --tunnel-user=myfriend",no-port-forwarding,no-agent-forwarding,\
  no-X11-forwarding,no-pty [ssh key]

git-shell が git の svnserve に相当するものであることはわかっていますが、特定のパスへのアクセスを制限する -r オプションに相当するものはないようです。友人にアクセスさせたくない他の git リポジトリがあるため、これは問題です。

私が望んでいることを実行できると思われる gitosis について簡単に読んだことがありますが、この特定の要件を達成するために別のソフトウェアをセットアップする前に、より簡単な解決策があるかどうかを確認したいと思います。前もって感謝します!

編集:それを行うためのスクリプトを提供するこの記事を見つけました:

http://eagain.net/blog/2007/03/22/howto-host-git.html

しかし実際には、後に gitosis を書いたのと同じ人によって書かれ、古いものとしてマークされています。また、共有ホスティング アカウントではできない専用の UNIX ユーザーを作成する必要があるため、私の状況では gitosis は不可能なようです。ただし、これを誤解している場合は、間違っていることが証明されたいと思います!

4

3 に答える 3

2

以下にいくつかのオプションを示します。

  • ユーザーが通常の Unix パーミッションを使用してアクセスできるリポジトリを制御します。

  • rsshなどの制限付きログイン シェルを使用し、友人にリモート用rsync://の URL を使用してもらいます。

  • リポジトリを保護するためのユーザー名とパスワードを使用して、HTTP または HTTPS 経由でリポジトリを提供します。メタデータを更新するために git フックを有効にする必要があります。

于 2010-01-03T01:37:50.943 に答える
0

それよりも簡単だと思います:リモート git リポジトリの設定

于 2010-01-03T00:28:48.963 に答える