Forçar permissões de arquivo e subdiretório no servidor OS X

0

Temos um servidor de desenvolvimento OS X no trabalho para cinco desenvolvedores, criando principalmente sites baseados no Symfony2. Dos cinco, apenas dois de nós estão no grupo sudo, significando que se os outros tivessem problemas com permissões, eles não seriam capazes de simplesmente consertá-los.

Coloquei todos em um grupo developers , incluindo o usuário do Apache, e configurei o grupo do diretório raiz de todos os sites para developers . Eu também adicionei o setgid flag, então quaisquer sub-dirs e arquivos criados dentro herdarão o grupo. Isso funciona perfeito.

O único problema é que quaisquer arquivos ou subdiretórios criados pelo Symfony2 (ou seja, o cache e os arquivos de log) não estão sendo criados com a permissão gravável do grupo. Eu encontrei a opção chmod +a e tentei configurar uma entrada ACL da seguinte forma:

sudo chmod -R +a "developers allow write" path/

Que adicionou um "+" ao final da lista de permissões mostrada com ls . Infelizmente, embora novos arquivos ainda não sejam criados com a gravação em grupo. Alguém poderia me dizer o que estou fazendo de errado, por favor?

    
por Adam 24.01.2014 / 12:11

1 resposta

0

Esses novos arquivos não terão o group write definido, já que a alteração feita afeta apenas a ACL do arquivo. ACL e POSIX-Rights são duas coisas separadas!

Nos meus olhos, você tem duas opções:

  • Altere o umask do servidor da web ou
  • Defina a ACL para a pasta pai para que ela seja herdada para baixo. Como a ACL é verificada primeiro, qualquer permissão de leitura ou gravação definida aqui deve ser usada pelo servidor.

A segunda alternativa seria - na minha opinião - a melhor, já que não importa o que o umask esteja definido no PHP-Application, criando seus arquivos ou pastas como é definido no nível do sistema.

    
por 24.01.2014 / 18:18