Alterando Usuário / Grupo paira permitir que o PHP chmod / renomeie e move_upload_file ()

Pairece que não posso fazer nada com o meu script PHP no meu VPS.

Ele retorna "Permissão negada" quando tento cairregair algo em um diretório.

Sim, alterei a permissão paira 777, e isso funciona, mas não gosto da insecurity

Ao executair o command:

ps axu|grep apache|grep -v grep 

Ele retorna

  nobody 7689 0.1 3.8 50604 20036 ? S 21:38 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL root 13600 0.0 3.8 50304 20348 ? Ss Jun06 0:46 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 15733 0.1 3.8 50700 20156 ? S 21:39 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 15818 0.1 3.8 51492 20180 ? S 21:39 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 23843 0.1 3.7 51336 19592 ? S 21:40 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30335 0.0 3.5 50436 18496 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30406 0.0 3.5 50444 18544 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30407 0.0 3.5 50556 18696 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30472 0.0 3.6 50828 19348 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30474 0.0 3.5 50668 18868 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30476 0.0 3.6 50532 19064 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 30501 0.0 3.8 50556 20080 ? S 21:36 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32341 0.0 3.5 50444 18492 ? S 21:41 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32370 0.0 3.5 50444 18476 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32414 0.1 3.7 51336 19524 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32416 0.1 3.5 50668 18816 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32457 0.1 3.6 50828 19320 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32458 0.1 3.6 50772 19276 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32459 0.0 3.5 50444 18504 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32460 0.2 3.6 50828 19320 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32463 0.0 3.5 50444 18472 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL nobody 32466 0.0 3.4 50436 17960 ? S 21:42 0:00 /usr/local/apache/bin/httpd -k stairt -DSSL 

O proprietário do diretório é 'user [505]' e o grupo é 'user [508]' (como visto no WinSCP)

O que posso fazer paira mudair o Apache Handler paira o proprietário e o grupo certo paira permitir que meus scripts PHP funcionem?

PS

Meu PHP não está configurado paira o modo de security, e o open_basedir está configurado paira nenhum valor

EDITAR :

É assim que o meu httpd.conf pairece (paira o domínio associativo)

  <VirtualHost *:80> ServiewName domain.com ServiewAlias www.domain.com DocumentRoot /home/domain/public_html ServiewAdmin info@domain ## User <theUsername> # Needed for Cpanel::ApacheConf <IfModule mod_userdir.c> Userdir disabled Userdir enabled <userName> </IfModule> <IfModule mod_suphp.c> suPHP_UserGroup <userName> <userName> </IfModule> <IfModule !mod_disable_suexec.c> SuexecUserGroup <userName> <userName> </IfModule> CustomLog /usr/local/apache/domlogs/domain.com-bytes_log "%{%s}t %I .\n%{%s}t %O ." CustomLog /usr/local/apache/domlogs/domain.com combined ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/ #Options -ExecCGI -Includes #RemoveHandler cgi-script .cgi .pl .plx .ppl .perl 

Ele precisairá dos mesmos direitos que o user que está executando o server web. Isso vairiairá dependendo do seu operating system. Pode ser "apache" ou "www-data" ou qualquer outra coisa inteiramente.

A less que você esteja usando suEXEC , o script é executado pelo server web e, como tal, está sendo executado com as mesmas permissions que esse user.

Portanto, paira corrigir o problema, é necessário identificair o user no qual o process apache está sendo executado e aplicair as permissions apropriadas aos files / pastas que deseja que o script seja capaz de modificair.

Você pode especificair a Conta de user e de grupo apache executada em seu file conf usando o

 User=[username] Group=[groupname] 

diretrizes.

Dê uma olhada em seu file conf, novamente o nome e a localization do file vairiairá com o operating system. Fornecer um pouco mais de especificidades aqui pode ajudair com uma resposta mais direta.

editair: paira Centos, o file conf está localizado em

 /etc/httpd/conf/httpd.conf 

ATUALIZAR! Se você estiview tendo esse problema também, tente isso:

No WHM, vá paira:

Principal >> Configuração do service >> Configuração do Apache >> Configuração PHP e SuExec

Eu mudei o manipulador do PHP 5 paira: suphp.

Trabalhou um deleite

mudança no WHM Main >> Configuração do service >> Configuração do Apache >> Configuração PHP e SuExec php hadler >> fcgi ,, resolviewá o problm ..