Eu preciso que os arquivos criados pelo apache2 tenham umask 002
, ou seja, group rw, por padrão.
Eu tentei colocar o umask 002
arquivo / etc / apache2 / envvars e, embora esse script seja executado como parte do apache start up ( apache2ctl graceful
), o umask não tem efeito. Presumivelmente em algum lugar além do processo de inicialização (por exemplo, quando o usuário é rebaixado de root
para www-data
), há um lugar melhor para colocar isso.
Eu li posts sobre o Fedora e um sugerindo colocar umask, /etc/init.d/apache2
mas nenhum deles se aplica / funciona no Debian (Squeeze).
Você pode ajudar?
apache-2.2
umask
artfulrobot
fonte
fonte
drush cc all
como meu usuário, porque ele gera erros em todos esses arquivos de cache criados pela www-data.Respostas:
Para garantir que a configuração umask entre em vigor, use um teste simples e não use nenhum outro aplicativo da Web para isso. Pode ser que esses aplicativos alterem os direitos independentemente da configuração umask do Apache.
Script PHP de teste simples:
Certifique-se de que o usuário www-data tenha acesso de gravação à pasta em que você instalou esse arquivo de teste simples.
Para ter o novo umask em execução, verifique se o arquivo / etc / apache2 / envvars será usado no arquivo inicial do Apache /etc/init.d/apache2:
Defina seu umask em / etc / apache2 / envvars:
Reinicie seu Apache:
Verifique a diferença:
fonte
Se você executar vários sites, poderá definir a permissão de grupo padrão usando as Listas de Controle de Acesso (ACL) por diretório, da seguinte maneira:
Defina o
setid
sinalizador para forçar todos os novos arquivos a herdar o grupo do diretório:Crie novos arquivos
rw
para as permissões de grupo, ex. para quewww-data
possa gravar em arquivos SFTP pelo usuário de upload:Confirme se a ACL é assim:
Crie um arquivo para confirmar que funcionou:
fonte
setfacl --default --modify group:rwx wordpress
está faltando dois pontos. Deveria sersetfacl --default --modify group::rwx wordpress
(Para Debian Stretch que usa systemd - Obrigado womble!)
Coloque
UMask=0002
no arquivo da unidade de serviço do Apache2 systemd, recarregue a unidade de serviço e reinicie o Apache2.fonte