Devo usar suPHP ou DSO (mod_PHP) quando scripts PHP precisam manipular arquivos?

2

Recentemente, fiz uma pergunta no StackOverflow e vou fazer uma nova pergunta aqui como uma pergunta diferente e com algumas alterações e informações adicionais.

Eu tenho um monte de scripts php que precisam da capacidade de criar, mover e excluir arquivos e pastas. Os scripts também precisam mover e excluir arquivos que foram enviados via FTP de uma máquina Windows.

Meu VPS atualmente usa o DSO, então, para que meus scripts sejam executados e não morram com erros de permissão, tenho recebido todos os diretórios e arquivos do CHMOD para o 777.

Pelo que li, o uso das permissões do 777 é inseguro e não deve ser feito. Eu tenho um VPS, mas há vários usuários, pois eu hospedo vários sites, alguns dos quais outras pessoas controlam.

Eu posso ser relevante para mim mencionar que rodei o phpinfo () e encontrei o seguinte na seção "Créditos PHP":

User/Group      nobody(99)/99 

Eu tenho lido sobre o assunto da manipulação de arquivos via php e suPHP vs. DSO, mas ainda não tenho certeza do que devo fazer. Pelo que eu li, parece que mudar para o suPHP consertaria todos os meus problemas (sem mais problemas com permissões), mas eu li que isso diminui drasticamente o servidor.

Alguém poderia me dar algum conselho sobre esse assunto?

    
por Nate 17.09.2012 / 00:03

1 resposta

2

From what I've read, it seems like switching to suPHP would fix all my problems (no more problems with permissions)

Sim, o suPHP resolverá todos os problemas relacionados às permissões, desde que você não tenha nada CHMOD 0777 - suPHP rejeitará isso como uma falha de segurança gigante e preencherá seu error_log com mensagens que o avisem para alterá-lo para 0755 no máximo.

A melhor maneira de pensar nisso é:

  • Não suPHP = O PHP é executado como um usuário "geral", como se você tivesse um ajudante doméstico. Você pede ao ajudante doméstico que busque as coisas, mas eles pedem, mas se você pedir que eles façam coisas que especificamente exigem que você (assine um contrato - > escreva em um arquivo) então eles não serão capaz de.
  • suPHP permite que você tenha tantos ajudantes domésticos quanto quiser, mas todos fingem ser você. Eles podem fazer tudo o que você pode fazer, nem mais nem menos. Sem problemas!

I've read that it dramatically slows down the server.

Onde? Eu nunca soube que isso seja um problema.

Em resumo : mude para suPHP.

    
por 17.09.2012 / 00:11