Vamos especificar algumas palavras-chave.
FTPUSER = you with your ftp client
WWWDAEMON = program (servers) that's responsible for processing your web pages and scripts
WWWUSER = user as which the WWWDAEMON processes your pages
BROWSER = Someone looking at your website with a browser
FILES = files that reside in your www/ftp site
yourgroup = group that your FTPUSER belongs to and WWWUSER does not
Você acessa seus arquivos como FTPUSER com um programa de ftp
-rwxr-xr-x 2 FTPUSER yourgroup 72 2012-01-18 13:56 somescript.php
Agora ... porque WWWDAEMON usuário WWWUSER não é você (FTPUSER) ele respeita OUTRAS permissões quando tenta read
seu script. (Há sites de hospedagem que executam seus scripts como FTPUSER).
A remoção da outra permissão de leitura e execução bloqueará o uso de somescript.php
# this scipt is unusable trough a browser
-rwxr-x--- 2 FTPUSER yourgroup 72 2012-01-18 13:56 somescript.php
A criação de um diretório com permissões graváveis permitirá que o seu script seja escrito, mas a menos que você proteja esse diretório de alguma forma (como com o .htaccess ou coloque-o fora do diretório www) também pode significar que o BROWSER pode acessar esses arquivos diretamente porque:
BROWSER contacts WWWDAEMON which runs as WWWUSER so
BROWSER can see everything processed by WWWDAEMON that the WWWUSER can.
Processado também significa que o WWWDAEMON também respeita o .htaccess ou similar ao bloqueio de acesso.
O conselho é criar digamos phpwritedir
e dar a ele direitos + rwx. Adicione o arquivo .htaccess
lá (se o seu serviço de hospedagem permitir)
deny from all
Com este script rodando como WWWUSER ainda pode usar este diretório, mas o WWWDAEMON bloqueará qualquer acesso do BROWSER a ele.