Permitir que todos os usuários possam gravar arquivos / pastas do usuário "apache"?

3

Eu executo o Apache 2.2.15 no CentOS 6.4

Quando um web local executa uma função e cria arquivos / pastas pertencentes ao usuário "apache".

Eu posso ler esses arquivos / pastas via samba, mas não consigo escrevê-los / apagá-los.

Eu tentei usar o chmod, mas ele só funciona para esse caso, quando este web local é executado novamente, não consigo fazer nada com esses arquivos.

A minha pergunta é: Como posso alterar a permissão do usuário "apache" para que todos os usuários possam acessar, gravar, detele .. arquivos / pastas de propriedade do "apache"?

    
por Thomas 10.01.2014 / 05:13

2 respostas

4

As ACLs do sistema de arquivos serão sua melhor solução aqui.

Você pode definir uma ACL padrão nos diretórios e, quando um arquivo é criado nesse diretório, ele herda a ACL padrão. Você pode então definir essa ACL padrão para permitir o acesso aos arquivos.

Por exemplo, se você quiser conceder a todos os usuários do grupo mygroup acesso de leitura / gravação a /var/www , faça o seguinte:

setfacl -R -m group:mygroup:rw /var/www
setfacl -R -d -m group:mygroup:rw /var/www

A primeira linha define a ACL em todos os arquivos existentes. A segunda linha define o padrão para todos os novos arquivos.

E, embora eu ache que é uma má ideia, se você quiser permitir que todos os usuários tenham acesso total aos arquivos:

setfacl -R -m other::rw /var/www
setfacl -R -d -m other::rw /var/www

Observe que isso exigirá que seu sistema de arquivos seja montado com suporte a ACL. Se este não for o caso atualmente, você pode fazê-lo via mount -o remount,acl /var/www (ou qualquer que seja o ponto de montagem). Em seguida, edite seu /etc/fstab e adicione a opção acl à linha apropriada.

    
por 10.01.2014 / 05:58
0

Você pode descobrir em qual grupo o usuário do apache está conectado e adicionar os usuários que deseja ter acesso a esse grupo.

groups apacheuser

então

usermod -aG apachegroup useryouwant
    
por 10.08.2016 / 13:29