Faça com que o meu usuário git e o usuário do apache tenham acesso de leitura / gravação / exclusão

1

Estou com problemas de permissão no meu servidor. Eu uso o desenvolvedor de usuários para puxar meu repositório git no servidor. Em seguida, o apache usa seu próprio usuário do apache para escrever e executar o código. Eu sempre tenho os problemas quando o aplicativo quer escrever algo no diretório (ou seja: arquivos de log e cache ...) se eu executar um cron job e ele usa meus direitos de desenvolvedor e quer adicionar algo para as pastas que está escrito por apache.

Minha pergunta é como fazer com que meu desenvolvedor tenha o mesmo acesso de gravação / exclusão do meu apache e evitar conflitos de permissões entre si? Eu não sou fluente no comando linux, então ajudaria se você pudesse fornecer links ou simplesmente exemplos de como fazê-lo.

obrigado.

    
por Mr A 29.10.2013 / 04:48

1 resposta

0

Minha ideia era fazer a seguinte propriedade do diretório: developer.app ou apache.app

No Bash:

ROOT=/some/directory/app
chown -R developer.app $ROOT

ou

chown -R apache.app $ROOT

No primeiro caso, é necessário ter "apache" no grupo "app", no segundo, ter "developer" em "app". Então você precisa definir as mesmas permissões para ambos: proprietário e grupo em todos os arquivos / diretórios. Como fazer isso depende da infraestrutura que você usa. Pode ser grepping / etc / passwd cuidando do segundo número, e / etc / group para nomes de grupos. Se você usa o centrify ou outro software que conecta o Linux ao banco de dados centralizado de contas, você provavelmente precisará su para uma conta específica e emitir id .

Minha regra geral simplificada é tornar todos os arquivos rw- e scripts no diretório de ganchos rwx , mas seu código provavelmente precisa de mais granularidade. Sua boa prática para evitar 777 permissões.

find $ROOT -type f -exec chmod 0660 {} \;
find $ROOT -type d -exec chmod 0770 {} \;
find $ROOT/.git/hooks -type f -exec chmod 0770 {} \;

Você pode preferir usar ug+rw ou ug+rwx , o que apenas adiciona permissões ausentes. Provavelmente melhor se você já tiver algumas permissões específicas de eXec em alguns arquivos.

Para tornar automaticamente novos arquivos e diretórios legíveis / graváveis para ambos, defina umask como 0007.

    
por 13.12.2013 / 12:23