Programação e Linux

Tem a ver com permissões lol então passo a explicar

Estive a desenvolver um script para fazer upload de imagens, mas deparei-me com um problema, apesar de estar tudo bem escrito não conseguia fazer o upload
Dava-me este erro
Warning: move_uploaded_file(images/image1.jpg): failed to open stream: Permission denied in /var/www/Secure_File_Upload/index.php on line 26

Warning: move_uploaded_file(): Unable to move '/tmp/phpCUevwT' to 'images/image1.jpg' in /var/www/Secure_File_Upload/index.php on line 26

Andei a mexer nas permissões e lá consegui resolver o problema, Só que me disseram "A pasta www tem de pertencer ao grupo "apache" (ou o respectivo que tiveres associado ao apache), e os users desse grupo é que têm acesso às mesmas, se não vais ter sempre esse erro. "andei às voltas à procura e fui ao ficheiro /etc/apache2/envvars e estava lá isto.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Ou seja convém meter a pasta var/www com Dono: www-data e grupo para www-data.

Se meter assim a pasta fica "bloqueada" e assim já não posso criar ficheiros e pastas a vontade, se por outro lado mudar as configs do envvars sujeito-me a comprometer a segurança do sistema :S
 
Não sei se te estou a perceber bem, mas...
É um ponto assente que o Apache deve correr com o seu próprio user e como tal as pastas têm de lhe pertencer.

O teu problema é sendo administrador do sistema criares pastas à vontade?
Nesse caso o que não te falta são soluções.
1) Podes tornar o teu user membro do grupo www-data
2) Podes tornar-te no user pretendido, passas para root e depois com su www-data passas a ser o utilizador www-data
3) Podes fazer tudo como root ou o teu utilizador e depois como root mudares o dono e o grupo das pastas para o www-data com chown -R www.data:www-data
 
Se calhar o mais simples seria meter o meu username no grupo www-data e assim já poderia criar à vontade.
Os outros dois exemplo requerem andar a fazer alguma coisa antes, como ter de entrar em root e assim antes de mexer seja no que for certo?
 
Se calhar o mais simples seria meter o meu username no grupo www-data e assim já poderia criar à vontade.
Os outros dois exemplo requerem andar a fazer alguma coisa antes, como ter de entrar em root e assim antes de mexer seja no que for certo?

Certo.
Pertenceres ao grupo pode ser condição suficiente para não teres grandes chatices.
 
Back
Topo