Autenticar usuários squid+shellscript+mysql
Publicado por Daniel Roque 05/02/2009 (última atualização em 14/07/2011)
[ Hits: 9.953 ]
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
Converte diretório, subdiretório e arquivos de Maiúscula -> minúscula.
Claro 3g Sony Ericsson md300 script conexao REVISAO 2
Criação de ports para slackware
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (1)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta