Gitサーバーを設定していますが、3つの異なるグループが異なるプロジェクトを進めています。iOSシステム、Web開発、機械的人造人間。安全な方法でこれを行う必要があります。
同時に、私はiOS開発者がAndroidで状況を変更できるとは思わず、その逆も同様です。つまり、すべてのグループを自分のプロジェクトに限定したいのです。 (読み取り権限は問題になりませんが、読み取り権限を制限する方法を教えていただければ幸いです)
開発者が公開鍵を介してSSHを介してプル/プッシュ/コミットを使用できるようにサーバーを構成するのに役立ちます。ただし、自分のプロジェクトにのみ対応しています!それらを自分のプロジェクトリポジトリディレクトリに配置する方法はありますか?たとえば、ユーザーXが公開鍵を持っている場合、または要求がデータをプッシュまたはインポートしようとするたびに、x_id_rsa.pub
その[email protected]:~/git/iOS
データをiOSに閉じ込める必要があると言う方法がありますか?
最後の質問は、SELinuxを介して各ストレージディレクトリに対してさまざまな種類のポリシーをどのように使用できるかということです。
私はCentOSを使用していますが、ここで私の失敗し、とんでもない試みを見ることができます。
- gitというユーザーを作成し、gitユーザーに3つのグループを割り当てます。
- iOSシステム
- 機械的人造人間
- Web開発
- 3つの必須ディレクトリとユーザーを作成しました。
chown git:$ProjectGroup $Dir
- ディレクトリに使用されます
chmod g+rwxs *
。 - パスワードの確認信頼性を拒否し、[Pubkey / RSA]認証を有効にするようにsshd_confを変更しました。
- 作成し
.ssh/authorized_keys
て入れます/home/git/
。 git init --bare
gitユーザーのホームディレクトリの下のすべてのディレクトリ(iOS、Android、WebDevelなど)に使用されます。- 私はすでに混乱しています!
詳しく説明してください、変更する必要があるものと間違った点を教えてください。私はどんな提案でも歓迎します。
すべてのリポジトリをグループのホームディレクトリとして使用できますか?つまり、iOS→$HOME=/home/git/iOS