Como verificar qual grupo Apache eu posso usar para o servidor web escrever?

12

Estou tentando fazer o Wordpress funcionar. Atualmente tenho esta mensagem de erro:

Could not create directory. /var/www/html/wp-content/upgrade/theme_name

ao tentar enviar um tema. Estas são as permissões definidas para /var/www/html/wp-content/upgrade/

drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade

chmod 777 upgrade faz o erro desaparecer. Mas isso não é considerado uma boa prática. No entanto, acho que isso deve funcionar também ... por que não?

Eu acho que o servidor da web não pode ser incluído pelas permissões acima. Qual grupo devo usar para permitir que o servidor da web escreva?

(Minha configuração é Amazon EC2, Amazon Linux AMI com httpd)

    
por Jeff Schaller 21.06.2012 / 03:43

3 respostas

14

Eu não sei nada sobre o Amazon EC2, mas você deve ser capaz de:

  1. Recupere o nome do usuário que está executando o Apache com um comando semelhante a este:

    ps aux | grep apache # The username should be in the first column.
    
  2. Recupere os grupos dos quais este usuário faz parte com o comando groups(1) :

    groups [USERNAME]
    
por 21.06.2012 / 08:37
1

chmod 777 upgrade makes the error go away.

Bem, nesse caso, ls -ld /var/www/html/wp-content/upgrade/theme_name deve revelar as credenciais do criador, que você pode usar para conceder acesso preciso.

E é melhor usar 1777 (como /tmp ), pois pelo menos garante que somente o proprietário de um arquivo possa desvinculá-lo.

    
por 21.06.2012 / 05:51
1

Você pode tentar usar o seguinte método de linha de comando para descobrir seus nomes de grupos do Apache:

WWW_GROUP='ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | cut -d\  -f 2| uniq'
echo Apache group is: $WWW_GROUP

Para obter o usuário, verifique: Como determinar usuário do Apache a partir da linha de comando?

    
por 14.09.2014 / 16:31