Acredito que como iniciante em Linux, posso entender com facilidade quais são as dificuldades de quem também está iniciando no mundo
GNU/Linux.
Fiz este tutorial enquanto desenvolvia meu
proxy/Squid, procurei detalhar o máximo possível.
Autor: Marcos Honorato de Souza
Data: 20-02-2009
Linux utilizado:
openSUSE 11
1) Copiar o arquivo
ncsa_auth, localizado na pasta /usr/sbin, para /usr/lib/squid:
# cp /usr/sbin/ncsa_auth /usr/lib/squid/
2) Modificar algumas linhas do arquivo
squid.conf, localizado em /etc/squid, da seguinte maneira:
Corrigir a linha:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/password
Observação:
- O arquivo "ncsa_auth" foi apontado para o local onde foi copiado /usr/lib/squid/;
- O arquivo "password" foi apontado para o local onde está localizado /etc/squid/.
Descomentar a linha:
auth_param basic children 5
Se quiser troque o comentário da linha "auth_param basic realm" para "Marcos Honorato" por exemplo...
Ainda dentro do arquivo "squid.conf", criar as regras (ACLs) abaixo de "PUT YOUR RULES HERE", como segue o exemplo abaixo.
acl acesso proxy_auth "/etc/squid/password"
acl basico proxy_auth "/etc/squid/basico"
acl basico-liberados url_regex -i "/etc/squid/basico-liberados.txt"
acl intermediarios proxy_auth "/etc/squid/intermediarios"
acl intermediarios-bloqueados url_regex "/etc/squid/intermediarios-bloqueados.txt"
acl avancado proxy_auth "/etc/squid/avancado"
acl avancado-liberados url_regex -i "/etc/squid/avancado-liberados.txt"
http_access allow basico basico-liberados
http_access deny intermediarios intermediarios-bloqueados
http_access allow avancado avancado-liberados
http_access deny all
Agora dentro da pasta "/etc/squid" criar os arquivos:
- basico - Onde serão incluídos os usuários básicos;
- basico-liberados - Onde serão incluídos os sites liberados para estes usuários;
- intermediario - Onde serão incluídos os usuários intermediários;
- intermediario-bloqueados - Onde serão incluídos os sites bloqueados para estes usuários;
- avancados - Onde serão incluídos os usuários avançados;
- avancados-liberados - Onde serão incluídos os sites liberados para estes usuários.
Pronto! Agora é só criar os usuários da seguinte maneira:
# cd /etc/squid
# htpasswd2 password.squid nome-usuario
Digitar o password:
E inserir o usuário em algum grupo. Exemplo:
# vi basico
Inserir o nome do usuário, como por exemplo: marcos
Salvar.
Agora é só reiniciar o Squid digitando:
# /etc/init.d/squid reload
The end!