Instalando Chpasswd no Debian para Squid

Publicado: 26/03/2011 em Instalação no Linux

Este Tutorial mostra como compilar e configurar o chpasswd, script cgi para que o próprio usuário possa trocar sua senha da internet (Squid). Muito útil para economizar o preciso tempo dos administradores de rede 😀

Site do projeto: http://sarg.sourceforge.net/chpasswd.php

Site com explicação do arquivo chpasswd.conf:
http://sarg.sourceforge.net/chpasswd.README.txt

1- Primeiro, vamos baixar o chpasswd:
wget -c http://ufpr.dl.sourceforge.net/project/orsochpasswd/orsochpasswd/chpasswd-2.2.4/chpasswd-2.2.4.tar.gz

2- Vamos descompactar o arquivo, criar a pasta dele no /var/www , e entrar na pasta descompactada:
tar -xvf chpasswd-2.2.4.tar.gz
mkdir /var/www/cgi-bin
mkdir /var/www/cgi-bin/chpasswd
cd chpasswd-2.2.4

3- Dentro da pasta, vamos compilar o arquivo, mas antes, temos que ter instalado o gcc (aptitude instal gcc) e o make (aptitude install make):

# compilando:

./configure -–prefix=/etc/squid/chpasswd -–enable-language=Portuguese -–enable-cgidir=/var/www/cgi-bin/chpasswd/

make

make install

Explicação: o –prefix=etc/squid/chpasswd, é onde ficará a configuração do chpasswd
o –enable-language=Portuguese, é a linguagem que será compilada pra página que vai ser usada para trocar as senhas, e o –enable-cgidir, é a pasta onde estão os .cgi para execução.

# configurando:
edite o arquivo chpasswd.conf
e altere o parâmetro password_file apontando para seu arquivo de senhas.
Ex.: password_file /etc/squid/users_passwd

Entre no arquivo de configuração do apache (/etc/apache2/apache2.conf), e add as seguintes linhas no final do arquivo:

ScriptAlias /var/www/cgi-bin/ /usr/lib/apache2/modules/

AddHandler cgi-script .cgi .pl
Options +ExecCGI
SetHandler cgi-script

Onde a linha ScrpitAlias, tem respectivamente a pasta onde estão os .cgi a serem executados, e depois a localização do modulo cgi que fará essa execução.
A linha Directory é a pasta que estão os arquivos .cgi

Dê permissão de escrita e leitura no seu arquivo de senhas do squid. Você tem duas opções:

1- Mudar o dono do arquivo, de modo que o apache consiga escrever no arquivo sendo ele mesmo o dono.
2- Dar permissão de escrita para que outros consigam escrever no arquivo (segurança 0 😉

1) chown www-data:www-data /etc/squid/users_passwd   (isso faz com que vc mude o usuário e grupo do arquivo /etc/squid/users_passwd para ser o apache)

2) chmod 644 /etc/squid/users_passwd  (permissão da seguinte forma: u=wr , g=r , a=r)

# testando:

http://ip_do_servidor/cgi-bin/chpasswd/chpasswd.cgi

Qualquer dúvida/sugestão, estamos aí….

Lucas Marques

comentários
  1. Reginaldo disse:

    Todo a instalação sem problema. Mas na hora de testar
    The requested URL /cgi-bin/chpasswd/chpasswd.cgi was not found on this server.

  2. Reginaldo disse:

    Só dá o erro, ajuda. The requested URL /cgi-bin/chpasswd/chpasswd.cgi was not found on this server.
    Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny10 with Suhosin-Patch Server at 10.144.71.2 Port 80

  3. Jorge disse:

    Estou com esse erro, poderia ajudar: Senha inválida para o usuário

  4. William Galera disse:

    No meu caso resolvi a questão da Senha inválida para o usuário refazendo a senha dos usuários com o comando htpasswd -d arquivo usuario

Deixe um comentário