Estou configurando um servidor Git e haverá três grupos diferentes trabalhando em diferentes projetos iOS , WebDevel , Android . Eu preciso fazer isso de uma maneira segura e protegida.
Enquanto isso, não quero que os desenvolvedores do iOS consigam alterar as coisas do Android ou vice-versa. Em outras palavras, quero restringir qualquer grupo apenas ao seu próprio projeto. (A permissão de leitura não é um problema, mas se você puder me dizer como posso restringir a permissão de leitura também, ficarei grato)
Preciso da sua ajuda na configuração do servidor de forma que os desenvolvedores possam usar pull / push / commit por meio de sua chave pública, mas SOMENTE para seu próprio projeto! Existe uma maneira de prendê-los ao seu próprio diretório de repo do projeto? Por exemplo, existe uma maneira de dizer sempre que X usuário com a chave pública de x_id_rsa.pub
ou com a solicitação de [email protected]:~/git/iOS
tentando enviar ou puxar dados, deve ser preso ao iOS?
E a questão final é como eu posso usar diferentes tipos de políticas para cada diretório repo pelo SELinux?
Estou usando o CentOS e aqui você pode ver minhas tentativas malsucedidas - e ridículas -:
chown git:$ProjectGroup $Dir
chmod g+rwxs *
nos diretórios. .ssh/authorized_keys
e colocado em /home/git/
. git init --bare
em todos os diretórios colocados no diretório inicial do usuário do git, por exemplo iOS, Android e WebDevel. Por favor explique em detalhes, e me diga o que eu devo mudar e o que eu estava errado. Estou aberto a qualquer sugestão.
É possível usar qualquer repositório como diretório pessoal do grupo? Ou seja iOS → $HOME=/home/git/iOS
Tags ssh repository git security