corrija as permissões de arquivo para o usuário trac e git acessar os repositórios do servidor gitolite

corrija as permissões de arquivo para o usuário trac e git acessar os repositórios do servidor gitolite

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 fazer push/pull do servidor ( git clone git@server:repo). e trac é um vhost apache com mod_wsgi. isso é executado com o usuário www-data.

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

www-data (ou trac) precisa pelo menos de permissões de leitura (eu acho). e git (ou gitolite) obviamente precisa de permissões de leitura/gravação para enviar conjuntos de alterações.

Eu tentei um pouco (ou seja, 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.

Responder1

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

adicione git e www-data a ele e 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á www-data na pasta para leitura, mas apenas dará ao usuário git acesso de gravação. Qualquer outro usuário não pode fazer nada.

Se você quiser adicionar escritores adicionais, eu adicionaria outro grupo git-writers e adicionaria os usuários e git a ele, bem como o grupo 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 os 's' nas permissões do grupo. Isso faz com que os usuários escritores usem o grupo git-writers como seu grupo padrão. Isso só funcionará corretamente se todos os escritores forem umask 0002.

Responder2

informação relacionada