qual é a maneira mais simples e segura de criar um repositório de equipe compartilhado no Git?

1

Eu quero criar um repositório de equipe compartilhada usando o Git na minha máquina (Ubuntu 10.4), então nossa equipe pode clonar o código e puxar / empurrar etc ...

Mas descobri que preciso criar uma conta ssh para isso. Eu não estou familiarizado com a segurança do linux, então eu me pergunto como controlar o direito de acesso para esta conta. Digamos, eu espero que esta conta ssh só possa acessar o diretório git (ler e escrever), por exemplo, / home / camino / myproject, e qualquer acesso a todos os outros diretórios deve ser negado.

É possível?

Agradecemos antecipadamente por sua ajuda.

    
por camino 28.09.2010 / 11:31

2 respostas

1

Isso é o que Gitosis resolve . A solução é uma conta de usuário única (chame de 'gitosis'), acesso de chave pública a ela por ssh e gitose em segundo plano verificando essas credenciais por um arquivo de configuração.

    
por 29.09.2010 / 02:59
0

Você pode criar contas de usuário na sua caixa para seus colegas de trabalho. Por padrão, eles não devem poder acessar seu diretório inicial local. Você pode verificar isso verificando a configuração de acesso ao sistema de arquivos em /home/user (substitua 'user' pelo nome de usuário real)

drwxr-x--- 143 user user 8.2K 09-28 14:45 /home/user/

Aqui está um resumo básico do que você deve fazer:

  1. Crie um novo grupo chamado 'git'
  2. Adicione o grupo "git" ao seu nome de usuário atual
  3. Crie uma nova conta de usuário para cada usuário e adicione "git" à lista de grupos
  4. Crie uma nova árvore de diretórios em / , onde os repositórios do seu git serão armazenados
  5. Verifique se os diretórios podem ser acessados pelo seu grupo de usuários 'git'
  6. Clone seu repositório de trabalho para um vazio, e empurre para o repositório compartilhado usando ssh:

    git clone --bare ~/proj proj.git
    scp -r proj.git server:/git/USER/
    
  7. Adicione o repositório compartilhado ao seu projeto git funcional, para que você possa enviar / puxar.

    git remote add origin ssh://HOSTNAME/git/USER/proj.git
    git config branch.master.merge refs/head/master
    

A partir deste ponto, seus usuários remotos devem poder acessar sua máquina, fazer o login e clonar o repositório compartilhado. Eles também podem empurrar / puxar alterações.

    
por 29.09.2010 / 02:55