Você está basicamente fazendo duas perguntas separadas.
-
Como definir permissões no seu sistema local para espelhar a produção?
Você precisa conhecer a configuração do servidor - neste caso, inclui a configuração do daemon http (
httpd
aka Apache, neste caso) - geralmente encontrado em/etc/httpd
ou/etc/apache
). Você também precisa saber com qual daemon de credenciais é executado. Então você deve ser capaz de definir suas permissões locais exatamente da mesma maneira ou efetivamente da mesma maneira (isto é, diferentes nomes de usuários / grupos mas mesmos direitos de acesso quando o daemon solicita um arquivo), -
As permissões de gravação para um deamon HTTP estão ok?
Depende. Geralmente, quanto menos escrever um daemon pode fazer melhor. Por outro lado, na maioria dos casos (a menos que esteja servindo conteúdo estático / somente leitura), não é viável. Se for esse o caso, várias formas de endurecer o sistema estão à mão:
-
execute o daemon sob um usuário especial que terá acesso somente à raiz do documento e acesso de gravação somente quando necessário (os utilitários de ACL estendidos
getfacl
/setfacl
são seus amigos). No Linux, você também pode empregar modelos de segurança adicionais (GRSecurity / SELinux / AppArmor /...). -
tratamento de dados escrito corretamente - tratamento sane de entrada falsa. Neste caso, "sane" significa "não escreva nada" .
-
escreva o acesso por meio de um "proxy" - tenha a parte executiva (o modelo no frequentemente usado Modelo MVC em um processo separado não prejudicará a segurança (mas tem que ser implementado adequadamente para ter algum benefício).
-