permissões de arquivo corretas para o usuário trac e git acessarem repositórios de servidores gitolite

1

No meu servidor eu hospedo alguns repositórios git via gitolite, e tenho um trac para cada repositório.

Eu tenho um usuário chamado git para push / pull do servidor ( git clone git@server:repo ). e trac é um vache do apache com mod_wsgi. isso é executado com o usuário www-data.

Então, o que me incomoda (talvez porque eu não tenha muita idéia sobre as permissões de arquivo) é a melhor configuração de permissões (chown, chmod) para os repositórios git ( /home/git/repositories/ ...).

O www-data (ou trac) precisa pelo menos de permissões de leitura (eu acho). e o git (ou gitolite) precisa obviamente de permissões de leitura / escrita para enviar changesets.

Eu tentei um pouco (por exemplo, adicionar www-data e / ou git ao grupo www-data / git), mas não acertei. pelo menos um dos dois não funciona (git ou trac).

qualquer sugestão é muito apreciada.

    
por klemens 20.12.2010 / 14:50

2 respostas

2

A maneira mais segura de fazer isso eu diria é ter um grupo chamado git-readers

adicione git e www-data a ele e, em seguida, tenha a seguinte estrutura de pastas:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git u=rwx,g=rwx,o=rx

Isso permitirá que o www-data esteja na pasta para leitura, mas somente dará acesso ao usuário git. Qualquer outro usuário não pode fazer nada.

Se você quiser adicionar escritores adicionais, eu adicionaria outros git-writers de grupo e adicionaria os usuários e git a ele, bem como ao grupo de git-readers, e então usaria a seguinte estrutura:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git-writers u=rwx,g=rwxs,o=rx

Observe o 's' nas permissões do grupo. Isso faz com que os usuários do gravador usem o grupo git-writers como seu grupo padrão. Isso só funcionará corretamente se os escritores forem todos umask 0002.

    
por 20.12.2010 / 15:01