Autenticar usuários squid+shellscript+mysql
Publicado por Daniel Roque 05/02/2009 (última atualização em 14/07/2011)
[ Hits: 10.177 ]
Homepage: None
Download 1299029728.autenticador (versão 2)
Script para autenticar usuários cadastrados numa tabela mysql, no squid.
Leia a parte comentada no script para correta instalação e configuração.
O script pressupõe que já tenha instalado no computador mysql e squid. Espera também uma certa familiaridade com os dois.
Boa sorte!
Versão 2 - Enviado por Daniel Roque em 01/03/2011
Changelog: Nenhuma mudança drástica, apenas o script está mais robusto, melhor configurável e utiliza a função PASSWORD do mysql que melhora um pouco a segurança do processo.
E espero que desta vez ninguém tenha problemas em utilizar o script :D.
Boa sorte a todos!
Download 1299029728.autenticador
#!/bin/sh
#
#
# Daniel Roque - 2006roque@gmail.com
#
#
#
# 2008-11-23
#
#
# Copie o arquivo para /etc/squid/autenticador
#
# IMPORTANTE os dois comando abaixo.
# Nao importa onde o script estiver ele precisa se acessivel pelo usuario proxy, ou nao funcionara.
# chown proxy.proxy /etc/squid/autenticador
# chmod 771 /etc/squid/autenticador
#
# Adicione ao /etc/squid/squid.conf
# auth_param basic program "/etc/squid/autenticador"
# auth_param basic realm "Digite usuario e senha"
# acl geral proxy_auth REQUIRED
#
# ATENCAO EXECUTE OS COMANDOS DENTRO DO mysql
#
# GRANT ALL PRIVILEGES ON *.* TO adm@localhost IDENTIFIED BY 'minhasenha' WITH GRANT OPTION;
# GRANT ALL PRIVILEGES ON *.* TO adm@'%' IDENTIFIED BY 'minhasenha' WITH GRANT OPTION;
# GRANT RELOAD,PROCESS ON *.* TO adm@localhost;
# GRANT USAGE ON *.* TO adm@localhost;
#
# CREATE DATABASE IF NOT EXISTS dbsquid;
# USE dbsquid;
# CREATE TABLE IF NOT EXISTS usuarios(
# codigo int(6) primary key NOT NULL AUTO_INCREMENT,
# login varchar(40) unique NOT NULL,
# senha varchar(255) NOT NULL,
# status int(11) NOT NULL default 1,
# mudarsenha varchar(1),
# nivel int(1),
# visivel varchar(1),
# cadastro date
# )ENGINE=INNODB;
#
# PARA ADICIONAR USUARIOS, basta trocar daniel e senha por outro usuario outra senha
# insert into usuarios (login,senha,status,visivel,cadastro) values ('daniel','senha',1,'s',now());
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin/"
log='/tmp/auth-squid.log'
data=`date -d now`
db='dbsquid'
tabela='usuarios'
usql='adm'
psql='minhasenha'
valor=''
while read valor;
do
data=`date -d now`
if [ "$valor" != '' ];then
login=`echo $valor|sed 's/\(.*\)\( .*\)/\1/g'`
senha=`echo $valor|sed 's/\(.* \)\(.*\)/\2/g'`
if [ "$login" == '' ];then
echo "$data usario vazio" >>$log
echo ERR
exit 0
fi
echo "$data tentando autenticar '$login'" >>$log
sql="SELECT login FROM usuarios WHERE login='$login' AND senha='$senha' AND status='1';"
rslt=`mysql -u$usql -p$psql -t --database "$db" -e "$sql"|sed -n 's/|//g;s/ //g;4p'`
if [ "$login" == "$rslt" ];
then
echo "$data resposta OK para $login" >>$log
echo OK
else
echo "$data resposta ERR para $login" >>$log
echo ERR
fi
echo >>$log
else
echo "$data resposta ERR para $login" >>$log
echo ERR
fi
done
exit 0
script para travar usuario discado
Renomeia diretorio,subdiretorio e arquivos de maiuscula > minuscula
Testa a conexão com a internet e se não tem reinicia o pc.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (10)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









