FAQ - Dúvidas Frequentes | FAQ – Páginas Web

Qual o problema de ter permissão com escrita global no meu HOME?

O principal problema é que todos poderão escrever nele. Se for um diretório significa que qualquer um pode criar e remover arquivos nele. Se for um arquivo, significa que qualquer um pode editá-lo e alterar completamente o seu conteúdo.

Porque isto é mais grave no public_html?

Porque o public_html é visível pelos navegadores a partir de qualquer lugar da Internet. Se o usuário “fulano”, por exemplo, deixou o seu public_html com estas permissões, qualquer um poderia inserir uma página de nome teste.html, por exemplo, e ela seria acessível por http://www.inf.ufrgs.br/~fulano/teste.html.

Mas eu preciso ter arquivos ou diretórios com esta permissão no meu public_html. Como faço?

Existem diversas formas de melhorar a segurança. Uma delas, caso estes arquivos sejam acessados por algum script PHP ou outro, é colocar tais diretórios fora do public_html. Um exemplo típico é o uso de logs. Ao invés de colocar em ~/public_html/logs, coloque, por exemplo, em ~/logs. O diretório continua podendo ser escrito por qualquer um, mas não será acessível por http.
Outra solução mais imediata, que não necessita reescrever os códigos PHP, é mover os arquivos para fora do public_html e referenciá-los no public_html através de links simbólicos. Isto evita o acesso por http.

Como posso deixar meu HOME mais seguro?

A menos que você saiba o que está fazendo, uma boa prática é tirar a permissão de leitura do seu HOME, mantendo apenas permissão de “execução”. Quando aplicado a diretórios, esta permissão significa “entrar no diretório” e, sem permissão de leitura, não se pode listar o conteúdo.
Se você possui páginas pessoais, JAMAIS tire a permissão de executar por todos! Neste caso, no seu HOME, uma boa permissão seria drwx–x–x, bastante conservador.
Para se ter estas permissões, deve-se executar em um console Linux (na máquina html, por exemplo) o comando:

chmod 711 ${HOME}

Quanto ao seu public_html, a mesma permissão seria suficiente, ou seja, permissão apenas de execução, porém OS ARQUIVOS DE SUAS PÁGINAS precisam ter permissão de LEITURA global. Não tem nenhum motivo para eles terem permissão de escrita!!