Permissões para o usuário na máquina linux para hospedar o site

1

Eu tenho acesso root à minha máquina hospedada. Eu criei uma conta de usuário 'abcd' e o diretório do usuário é:

/home/abcd/public_html

No httpd.conf eu tenho:

<VirtualHost *:80>
ServerName abcd.mysite.com
DocumentRoot  /home/abcd/public_html
</VirtualHost>

Esse usuário tem um website no local acima. no entanto, ele não pode obter o seu site para fazer upload de imagens na pasta / images.

As permissões são:

drwxrwxr-x

nas imagens

    
por siliconpi 30.04.2011 / 18:53

1 resposta

2

/ home / abcd / public_html / images é de propriedade do usuário e do grupo abcd . O servidor da Web está sendo executado como outro usuário e grupo (por exemplo, apache ou www-data ). Então, o servidor web pode gravar nesse diretório?

  • d rwx rwx r-x: a permissão do usuário não aplicar, pois o servidor web não é executando como o usuário abcd
  • d rwx rwx r-x: as permissões do grupo não aplicar, pois o servidor web não é executando como o grupo abcd
  • rwx rwx r-x : as outras permissões devem ser aplicadas e eles não permitem o servidor web escrever para ele

Você pode pensar que a solução é chmod o+w /home/abcd/public_html/images , mas isso permitiria que qualquer usuário escrevesse em imagens quando tudo o que você desejasse fosse permitir que o servidor da Web gravasse nela. Uma abordagem melhor seria alterar o grupo que possui o diretório de imagens para o grupo no qual o servidor da Web é executado. Como você está usando o apache, deve conseguir encontrar esse grupo com ps -o group $(pgrep httpd) . Você pode ignorar o processo em execução como root.

Se isso não estiver claro, talvez a documentação do wordpress sobre as permissões de arquivo ajude.

    
por 30.04.2011 / 19:20