Nesse artigo vamos compilar o Squid habilitando alguns parâmetros interessantes, tal como o suporte a autenticação PAM, configurar algumas funcionalidades, tal como bloqueio de site por IP ou URL e criar um ambiente de autenticação via browser.
O PAM, que significa Pluggable Authentication Modules (Módulos
de Autenticação Plugáveis), é um conjunto de bibliotecas fornecidos com a maioria
das distribuições Linux modernas e é instalado por padrão no RedHat
Linux. As bibliotecas PAM fornecem uma interface consistente a um protocolo de
autenticação. Uma aplicação pode usar essas bibliotecas para permitir o uso de
qualquer protocolo de autenticação dentro da aplicação. Assim, se o administrador
de sistema quer mudar de, por exemplo, autenticação /etc/passwd para o LDAP, a
aplicação não precisa ser reescrita ou recompilada. O PAM exige um módulo para cada
sistema de autenticação.
Infelizmente o PAM somente fornece parte da informação necessária para controlar os
usuários em um sistema Linux. Além de permitir checar se um usuário entrou com a senha
correta, um sistema Linux precisa outras informações, como o "ID" numérico do usuário,
o diretório HOME, o shell padrão, etc. Esta informação, que normalmente é armazenada
no arquivo /etc/passwd, pode ser determinada através de uma interface de sistema
conhecida como NSS, ou Name Service Switch.