1

Suseボックスにsshサーバーを作成します。基本的には、sshを使用してgitサーバーとして機能させたいだけですが、ssh name@serverでログインすると、ホーム/リポジトリディレクトリを見ることができます。これは正常ですが、 home/steve などの他のユーザーからのファイルを確認してください。git ディレクトリにのみアクセスできるようにユーザー リポジトリを設定するにはどうすればよいですか? home/repo/repository.git と言いますか?または /home/repo のファイルだけですか?

Yast2-sshd 設定ツール (基本的には /etc/sshd/sshd_config を編集するためのツール) から "permit Root Login" を無効にしましたが、それだけでは十分ではないようです。

4

2 に答える 2

1

ユーザーのシェルをgit-shellに設定すると、ユーザーはgitコマンドを実行する以外に何もできなくなります。

きめ細かい権限が必要ない場合は、gitoliteなどは必要ありません。

于 2012-08-15T11:37:47.657 に答える
0

ssh は、インタラクティブなセッションを可能にするという点で強力すぎます。
giZm0が言及しているように、gitolite は、 ssh によって提供される認証を利用できる認証レイヤーあり、リポジトリに対するきめ細かいレベルのアクセス制御を可能にします。 これは単なる perl スクリプトであり、任意の git コマンドをインターセプトし、単純なテキスト構成ファイルに対してそれらを検証するためにファイルに設定できます。これは、 forced command と呼ばれる ssh 機能 (git とは関係ありません) を利用します。
~/.ssh/authorized_keys

注: gitolite は httpd サーバーとリンクすることもできます。詳細については、「なぜ Gitosis または Gitolite が必要なのですか?」または「gitolite と nginx を使用した HTTP 上の git」を参照してください。

于 2012-08-15T10:21:08.160 に答える