Protegendo diretórios ou arquivos com senha em Linux

De Wiki Locaweb
Ir para: navegação, pesquisa


A Locaweb se isenta de qualquer responsabilidade pelas configurações realizadas e não presta qualquer tipo de suporte para esse procedimento que é apenas uma sugestão permitindo personalização conforme conhecimento.


Atenção: O tutorial a seguir é funcional somente com Apache, em outros webservers e aplicações, como IIS, Tomcat e Jboss deve-se fazer a validação através de programação.

Importante

  • A diretiva Options Indexes não está habilitada no servidor compartilhado por questões de segurança.
  • Caso queira transferir por FTP o arquivo .htaccess para um diretório do seu site, certifique-se de utilizar tipo ASCII (e nao BINARY) na transmissão.
  • Para permitir acesso a todos os usuários cadastrados, substitua require user nome1 nome2 nome3 nome4 por require valid-user
  • O AuthName é a mensagem que irá aparecer na janela de senha (para usar mais de uma palavra, coloque entre " ").
  • Onde houver <LOGIN>, substituir por seu login de FTP.


Protegendo um diretório com senha

  • Certifique-se de que você está na raiz de sua hospedagem. Para isto basta digitar no SSH o comando cd sem argumentos.
  • Para criar um arquivo de senhas chamado .htpasswd e acrescentar um usuário nome1, digite:
htpasswd -c .htpasswd nome1
  • Será pedida a senha do novo usuário (nome1), que deverá ser digitada duas vezes.
  • Supondo que você queira proteger um DIRETÓRIO chamado secreto sob a raiz do site, deve-se criar um arquivo texto chamado .htaccess no diretório public_html/secreto com o conteúdo:


Warning-iconMENOR.png IMPORTANTE: Substitua <LOGIN> por seu login de FTP.

AuthUserFile /home/<LOGIN>/.htpasswd 
AuthGroupFile /dev/null 
AuthName Restrito 
AuthType Basic 
<Limit GET POST> 
require user nome1 nome2 ( somente os usuários nome1 e nome2 terão acesso a este diretório )
</Limit>

Pronto, diretório protegido! Tente acesso ao endereço de seu site /diretorio e entre com o login e senha criados.


Protegendo um arquivo com senha

  • Já para proteger um ARQUIVO chamado, por exemplo, secreto.php sob a raiz do site, o arquivo texto .htaccess no diretório public_html/ deverá ter o conteúdo a seguir:
AuthUserFile /home/<LOGIN>/.htpasswd 
AuthGroupFile /dev/null 
AuthName Restrito 
AuthType Basic 
<Files "secreto.php"> 
require user nome1 nome2 ( somente os usuários nome1 e nome2 terão acesso a este arquivo )
</Files>


  • Para proteger mais de um arquivo, basta incrementar com a TAG <Files> </Files>:
<Files "arquivo2.php"> 
require user nome1 nome2 nome3 ( os usuários nome1, nome2 e nome3 terão acesso a este arquivo )
</Files> 
<Files "arquivo3.php"> 
require user nome1 ( somente o usuário nome1 terá acesso a este arquivo )
</Files>


Adicionando mais usuários

Para adicionar mais usuários (o que pode também ser feito posteriormente) digite, por exemplo:

htpasswd .htpasswd nome2 (nome2 usuário novo)

Será pedida a senha do novo usuário (nome2), que deverá ser digitada duas vezes


Alterando as senhas

Para alterar as senhas de usuários digite, por exemplo:

htpasswd .htpasswd nome1 (nome2 usuário)

Será pedida nova senha, que deverá ser digitada duas vezes


Excluindo usuários

Para excluir usuários, digite, por exemplo:

htpasswd -D .htpasswd nome2 (nome2 usuário)


Veja também