Como definir a propriedade do grupo padrão para arquivos em um diretório?

20

Estou executando um webapp cakephp no Linode LAMP. Estou descobrindo que meus arquivos temporários são criados com a propriedade root: root. Mas o aplicativo da web está sendo executado com as permissões do Apache (www-data). Isso causa avisos sempre que um novo arquivo é criado porque não é gravável para o usuário www-data.

Como altero a propriedade padrão para www-data em quaisquer novos arquivos criados na pasta temp?

Obrigado pela ajuda!


fonte

Respostas:

23

Para atribuir a propriedade do grupo por www-data, independentemente do uid / gid do processo que cria o arquivo, é necessário definir o bit setgid no diretório

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>

Observe que você também deve tornar o diretório gravável por qualquer processo que criará os arquivos. Se for alguém que não seja root, talvez você também precise chmod o+rwxfazer as coisas funcionarem corretamente.

CodeGnome
fonte
E os subdiretórios?
Mcont
Anexar o sinalizador -R ao chown e ao chmod torna esse comando recursivo. Assim, os comandos a seguir irão atribuir a propriedade de grupo padrão para <dir>, bem como todos os subdiretórios de <dir>: sudo chown -R :www-data <dir>esudo chmod -R g+s <dir>
Josh Wieder