A configuração pode ser disparada por um arquivo “.htaccess” que verifica a autenticação do usuário por outro arquivo que é especificado na configuração. Os usuários são adicionados ao arquivo de configuração com o comando “htpasswd”.
1 | htpasswd -c /home/dominio/public_html/security/.htpasswd user1 |
Argumentos válidos para o comando htpasswd:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # htpasswd Usage:htpasswd [-cmdpsD] arquivo usuario htpasswd -b[cmdpsD] arquivo usuario senha htpasswd -n[mdps] usuario htpasswd -nb[mdps] usuario senha -c Cria um novo arquivo. -n Não atualiza o arquivo, Mostra os resultados de saida stdout. -m Força encriptação MD5 para a senha. -d Força encriptação CRYPT para o arquivo de senha. (Padrão) -p Não encripta a senha (Texto pleno). -s Força encriptação SHA para a senha. -b Usa a senha na linha de comando ao invés de perguntar para o usuário. -D Remove um usuário específico. No Windows, NetWare e sistemas TPF sinalizador '-m' é usado por padrão. Em todos os outros sistemas, a flag '-p' provavelmente não funcionará. |
Simulação
Nada melhor do que a prática para fixar o aprendizado. Suponha que queiramos protejer o diretório “libs” dentro do diretório “public_html”, podemos iniciar a configuração da seguinte maneira. Primeiro crie um arquivo “.htaccess” dentro de “/home/seu-usuario/public_html/libs”.
Se possuir acesso SSH basta entrar com o seguinte comando ou efetue o upload do arquivo já configurado por FTP.
1 | touch /home/seu-usuario/public_html/libs/.htaccess |
1 2 3 4 5 6 | # Controle de acesso ao diretório da pasta [/home/seu-usuario/public_html/libs] AuthType Basic AuthName "Zona Restrita" AuthUserFile /home/meu-usuario/public_html/libs/.htpasswd Require valid-user Options FollowSymLinks Indexes |
Ou por SSH linha de comando:
cat << EOF > /home/seu-usuario/public_html/libs/.htaccess # Controle de acesso ao diretório da pasta [/home/seu-usuario/public_html/libs] AuthType Basic AuthName "Zona Restrita" AuthUserFile /home/meu-usuario/public_html/libs/.htpasswd Require valid-user Options FollowSymLinks Indexes EOF |
A configuração acima diz ao apache para restringir o diretório atual, liberando acesso somente aos usuários válidos pelo arquivo especificado pela propriedade “AuthUserFile”, que no nosso caso é “/home/seu-usuario/public_html/libs/.htaccess”.
A propriedade “AuthType” pode receber dois parametros diferentes: (Mais detalhes AuthType)
1 | AuthType Basic|Digest |
A diretiva “Require valid-user”, que fala por sí só, requer um usuário válido, ou seja os usuários especificados no arquivo “.htpasswd”.
E por fim a diretiva “Options FollowSymLinks Indexes”, que no nosso caso fará com que o apache liste os arquivos e diretórios existentes na pasta restrita.
Agora basta criar o arquivo que irá conter os usuários ou usuário de acesso ao diretório restrito.
1 | htpasswd -c /home/seu-usuário/public_html/libs/.htpasswd user1 |
Pronto, Agora basta ir ao seu navegador e digitar a sua URL, como abaixo:
Se tudo ocorreu bem a caixa de diálogo a seguir ira aparecer na tela requisitando o nome do usuário configurado e a senha para acessar o diretório especificado.
Insira o nome de usuário e senha para ter acesso ao conteúdo do diretório restrito.
Nenhum comentário:
Postar um comentário