Protecção de pastas da zona pública com password

 

Introdução

Este tutorial tem como objectivo ensinar-vos a proteger zonas da vossa área com password, isto é, imaginemos que têm uma página na área cujo acesso querem restringir por password - é uma das aplicações deste tutorial.

Antes de prosseguir com o objectivo propriamente dito, é conveniente explicitar de forma breve a forma de criar a zona pública na vossa área, que será acessível via protocolo HTTP com um browser da vossa preferência. Para então criar esta zona basta depois de acederem por SSH à vossa área tal como está explicado aqui, escrevam "new_homepage" e uma pasta de nome "public_html" será criada com um ficheiro " index.html" lá dentro.

 

 

Caso desejem fazer uma homepage na vossa zona pública basta então criar uma página de entrada com nome index.* em que * é o formato que escolheram (html, htm, php, ...) e a partir daí criar a vossa página como acharem melhor. Se não quiserem fazê-lo, eliminem simplesmente o ficheiro index.html que foi criado automaticamente.

 

"Protecting my dirty little secrets"

1. Passemos então ao objectivo propriamente dito, suponhamos que na minha área pública quero ter uma pasta "loveletters" apenas acessível com uma password. Começo então por criar essa pasta dentro da pasta "public_html".

 

 

2. Óptimo, pasta criada. Agora abro a pasta e lá dentro cria-se um ficheiro .htaccess, podem fazê-lo escrevendo "pico .htaccess". Este ficheiro vai controlar o tipo de acesso que se tem a esta pasta.

 

 

3. Vão agora entrar no pico, um editor de texto em linha de comandos para UNIX. Deverão estar a ver os conteúdos do ficheiro .htaccess, que como foi criado agora está vazio.

 

 

4. Deverão copiar para lá as linhas seguintes:

AuthName "Mellow Loveletters"
AuthType Basic
AuthUserFile /users/left/abc/public_html/loveletters/.htpasswd
require valid-user
Options Indexes

 

5. Explicitando o significado destas linhas, a primeira linha é meramente o nome da área protegida, isto é, quando tentarem aceder com o vosso browser e aparecer uma janela a pedir username e password, ela vai dizer que se quiserem aceder a "Mellow Loveletters" precisam de inserir username e password. É meramente estético, ponham aqui o nome que acharem que a vossa área protegida deve ter.

A segunda linha é o tipo de autenticação, vamos usar atenticação básica por isso limitem-se a copiar o que está na segunda linha.

Na terceira linha temos o path do ficheiro onde vamos ter a lista de usernames e passwords encriptadas que estão autorizados a aceder à área protegida. Mais à frente mostrarei como gerar e manipular este ficheiro mas por agora limitem-se a colocar um caminho com o seguinte formato:

AuthUserFile /users/left/o_meu_usermame/public_html/a_pasta_que_quero_proteger/.htpasswd

Nota: Chamo à atenção para colocarem o caminho certo deste ficheiro e não o do exemplo, usem o path da pasta que estão a tentar proteger.

A quarta linha copiem tal como está, diz apenas que vamos aceitar um utilizador que seja válido quando tentam aceder à pasta protegida.

A quinta linha é opcional. Introduzam apenas se desejarem ao aceder à pasta via browser, ver uma lista de ficheiros tipo explorer como está na imagem seguinte; caso não queiram que esta visualização seja possível e queiram apenas que os utilizadores naveguem nas páginas que eventualmente terão na zona protegida não incluam esta última linha.

 

 

6. Agora vamos criar o ficheiro onde vamos ter a lista de utilizadores e respectivas passwords encriptadas, o infame .htpasswd. Uma vez que este ficheiro tem que ter as passwords encriptadas existe um comando próprio para o podermos gerar, esse comando é o "/usr/sbin/htpasswd2". Desta forma para adicionarmos o primeiro username e respectiva password ao nosso ficheiro de autenticação escrevemos "/usr/sbin/htpasswd2 .htpasswd o_username_que_quero", ele vai então pedir uma password, escolham a password que querem introduzir.

Podem optar por fazer tudo de uma só vez escrevendo "/usr/sbin/htpasswd2 -b .htpasswd o_username_que_quero a_password_que_quero". Sempre que quiserem adicionar mais usernames ou alterar passwords corram o "/usr/sbin/htpasswd2" como aqui indiquei.

 

 

7. Caso queiram eliminar usernames, editem o ficheiro .htpasswd e apaguem as linhas (cada linha tem um username e a respectiva password encriptada) onde estão os usernames que querem apagar.

 

 

8. Por fim, é conveniente atribuir as permissões correctas à área protegida recém criada. Escrevam o comando "chmod -R 755 a_minha_pasta_protegida". Podem aplicá-las globalmente à vossa área pública garantindo assim que as coisas funcionam escrevendo "chmod -R 755 public_html".

 

 

9. Finalmente, vamos ver se a coisa funciona. Escrevemos no browser o endereço da área protegida "http://www.nfist.ist.utl.pt/~o_meu_username/a_minha_pasta_protegida". Uma janela aparece onde introduzimos um dos usernames válidos que criámos anteriormente e a repsectiva password.

 

 

10. E finito, cá está a área protegida e acessível via HTTP.

 

 

Bom amigos, o tutorial fica-se por aqui. Em caso de dúvidas mandem um mail para o endereço do costume info@nfist.ist.utl.pt.

André Cunha

 

[Tutoriais]

Copyright © 2005-2013 NFIST, Todos os direitos reservados.

[XHTML 1.0] [CSS]