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.