hg-ssh 経由でアクセスを許可した場合、ユーザーが hg リポジトリにプッシュするのを制限する方法を知っている人はいますか?
明らかなことを排除するのに役立ついくつかの詳細:
1) これは、mercurial-server をインストールするための root アクセス権がなく、必要な "hg" ユーザー名を作成できない共有ホスティングの状況です。
2) ユーザーが SSH 経由で共有ホスティング サイトに接続することを許可すると、基本的に、ユーザーは自分の公開鍵を自分の authorized_keys ファイルに保持し、自分として認証されます (つまり、ユーザーは自分の資格情報をサーバー上に持つことになります)。https://www.mercurial-scm.org/repo/hg-stable/raw-file/tipに記載されているように、authorized_keys ファイルで "command=" 句を指定することにより、アクセスを少数の hg リポジトリのみに制限できます。 /contrib/hg-ssh . ただし、ユーザーはこれらのリポジトリに完全にアクセスできます。これをプルのみのアクセスに制限できますか?
これらのいずれかが私の問題を解決します:
1) すべてのユーザーが "hg" という同じユーザー アカウントを共有しているため、mercurial-server がこの問題を何らかの形で解決することはわかっています。どうやってやっているの?root アクセスなしで同じことをセットアップできますか?
または 2) hg-ssh がコマンドラインでいくつかの権限を取得できるように、hg-ssh に追加できるパッチはありますか。「hg-ssh -read-only repo1 repo2 -read-write repo3」のようなもの。
または 3) 「hg -R {repo} serve --stdio」を取得して、プッシュを許可しないコマンド ライン オプションを取得します。