permissões CGI com NGINX e FastCGI

2

Estou executando o GitWeb (que é essencialmente um script CGI) em um servidor que também executa o GitLab. Meu objetivo é fornecer acesso exclusivo aos repositórios do GitLab sem registrar pessoas.

Eu apontei o GitWeb para minha pasta de repositórios que tem permissões drwxrws--- com o dono: group git:git . O wrapper FastCGI está sendo executado com o usuário: group www-data:www:data , portanto, adicionei www-data a git group. Também verifiquei o acesso de www-data aos repositórios alterando para esse usuário.

No entanto, quando eu executo o GitWeb, o script CGI não pode acessar os repositórios e não consigo obter minha lista de repositórios. Tudo funciona bem se eu adicionar r-x permissões a outra parte (último trio), mas eu não quero mexer com permissões das pastas por razões óbvias.

Btw, eu estou rodando Debian estável e não instalei o SE-Linux ou algo semelhante.

Qualquer ajuda será apreciada.

    
por bayindirh 27.05.2013 / 08:51

1 resposta

2

Eu encontrei e resolvi o problema. Na verdade, é um bug no nginx.

Normalmente, sob nginx.conf , há uma diretiva de usuário que define o setuid() / setgid() behavior & do nginx a sintaxe da diretiva é user <username> <groupname> . Doucmentation [1] afirma que, se você omitir <groupname> , <username> será usado como grupo. No entanto, esse não é o caso e o nginx usa como padrão o grupo nobody . Quando adicionei o grupo www-data explicitamente, tudo começou a funcionar como deveria.

[1] link

    
por 27.05.2013 / 13:47