複数のストレージを持つGitサーバー

複数のストレージを持つGitサーバー

Gitサーバーを設定していますが、3つの異なるグループが異なるプロジェクトを進めています。iOSシステムWeb開発機械的人造人間。安全な方法でこれを行う必要があります。

同時に、私はiOS開発者がAndroidで状況を変更できるとは思わず、その逆も同様です。つまり、すべてのグループを自分のプロジェクトに限定したいのです。 (読み取り権限は問題になりませんが、読み取り権限を制限する方法を教えていただければ幸いです)

開発者が公開鍵を介してSSHを介してプル/プッシュ/コミットを使用できるようにサーバーを構成するのに役立ちます。ただし、自分のプロジェクトにのみ対応しています!それらを自分のプロジェクトリポジトリディレクトリに配置する方法はありますか?たとえば、ユーザーXが公開鍵を持っている場合、または要求がデータをプッシュまたはインポートしようとするたびに、x_id_rsa.pubその[email protected]:~/git/iOSデータをiOSに閉じ込める必要があると言う方法がありますか?

最後の質問は、SELinuxを介して各ストレージディレクトリに対してさまざまな種類のポリシーをどのように使用できるかということです。

私はCentOSを使用していますが、ここで私の失敗し、とんでもない試みを見ることができます。

  1. gitというユーザーを作成し、gitユーザーに3つのグループを割り当てます。
    • iOSシステム
    • 機械的人造人間
    • Web開発
  2. 3つの必須ディレクトリとユーザーを作成しました。chown git:$ProjectGroup $Dir
  3. ディレクトリに使用されますchmod g+rwxs *
  4. パスワードの確認信頼性を拒否し、[Pubkey / RSA]認証を有効にするようにsshd_confを変更しました。
  5. 作成し.ssh/authorized_keysて入れます/home/git/
  6. git init --baregitユーザーのホームディレクトリの下のすべてのディレクトリ(iOS、Android、WebDevelなど)に使用されます。
  7. 私はすでに混乱しています!

詳しく説明してください、変更する必要があるものと間違った点を教えてください。私はどんな提案でも歓迎します。

すべてのリポジトリをグループのホームディレクトリとして使用できますか?つまり、iOS→$HOME=/home/git/iOS

関連情報