Administração Squid
Publicado por Eduardo Adriano Ramos (última atualização em 19/06/2011)
[ Hits: 7.350 ]
Homepage: http://www.openti.info
Script para administração de Squid e Usuários Administradores do MSN-PROXY (cadastro senha Apache)
configurações para funcionamento:
######MSN-PROXY########
arquivo senhas : /var/www/msn_password
########SQUID##########
arquivo de senha do squid: /etc/squid/senhas/password
sites bloqueados : /etc/squid/bloqueados
usuarios com acesso total: /etc/squid/acesso_total
configuracao squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senhas/password
auth_param basic children 5
auth_param basic realm Acesso Negado! Digite Suas Credenciais.
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
redirect_program /usr/lib/squid/jesred
redirect_children 10
acl MsnSources url_regex -i "/etc/squid/sites.msn"
acl MsnDomains dstdomain -i "/etc/squid/sites.msn"
acl MsnUrls urlpath_regex -i "/etc/squid/sites.msn"
acl MsnProgram req_mime_type application/x-msn-messenger
acl MsnManual dstdomain byrdr.omega.contacts.msn.com local-bay.contacts.msn.com byfiles.storage.msn.com akhtm.nspmotion.com blufiles.storage.msn.com www.gowindowslive.com view.atdmt.com local-sn.contacts.msn.com ec.atdmt.com tkrdr.storage.msn.com livefiles19.vo.msecnd.net www.sqm.microsoft.com sqmserver.dll switch.atdmt.com rsi.hotmail.com nspmotion.com icover.com.br rad.msn.com rmd.atdmt.com t.msn.com
http_access allow MsnManual
http_access allow MsnDomains
http_access allow MsnProgram
http_access allow MsnSources
acl password proxy_auth REQUIRED
#--------------ACESSO TOTAL-------------------#
acl total proxy_auth "/etc/squid/acesso_total"
http_access allow total
#----------------ACESSO RESTRITO-------------------#
acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
bin/bash #Script De Cadastro de Usuarios no Squid #Autor: Eduardo A. Ramos while : ; do acao=$( dialog --stdout \ --menu "Cadastro Squid - Shogun Informatica Ltda." 0 0 0 \ 1 "Cadastro de Usuario Proxy" \ 2 "Cadastro de Sites Bloqueado" \ 3 "Desbloquear Site"\ 4 "Listar Usuarios Proxy"\ 5 "Lista Sites e Palavras Bloqueadoas"\ 6 "Excluir Usuario do Proxy"\ 7 "Dar Acesso Total a Usuario"\ 8 "Tirar Acesso Total a Usuario"\ 9 "Listar Usuarios com Acesso total"\ a "Gerar Relatorio de Acesso a Internet"\ b "Monitorar Proxy Tempo Real Por IP"\ c "Alterar Senha Usuario"\ d "Adiciona Admin. Msn-Proxy"\ 0 "Sair") case "$acao" in 1) if login=$(dialog --stdout --inputbox "Digite o nome do Usuario:" 0 0) [ $? -ne 0 ] && continue [ "$login" ] || continue cat /etc/squid/senhas/password |grep "$login:" 1>/dev/null\ 2>/dev/null then dialog \ --title 'Cadastro' --sleep 2 --msgbox 'Usuario ja cadastrado!' 6 40 else senha=$(dialog --stdout --passwordbox "Digite a Senha:" 0 0) [ $? -ne 0 ] && continue [ "$senha" ] || continue senha2=$(dialog --stdout --passwordbox "Confirme sua Senha:" 0 0 ) [ $? -ne 0 ] && continue [ "$senha2" ] || continue htpasswd -b /etc/squid/senhas/password "$login" "$senha" sed -i "82s/^/acl $login proxy_auth $login\n/" /etc/squid/squid.conf sed -i "83s/^/http_access allow $login\n/" /etc/squid/squid.conf squid -k reconfigure sleep 3 dialog \ --title 'Cadastro' --sleep 3 --msgbox 'Usuario Cadastrado Com Sucesso!' 6 40 clear fi ;; 2) site=$(dialog --stdout --inputbox "Digite o Site a Ser Bloqueado:" 0 0 ) [ $? -ne 0 ] && continue [ "$site" ] || continue echo $site >> /etc/squid/bloqueados dialog \ --title 'Site Bloqueado' --sleep 3 --msgbox 'Site Bloqueado Com Sucesso!' 6 40 clear ;; 3) desbloquear=$(dialog --stdout --inputbox "Digite o Site a ser Desbloqueado" 0 0 ) [ $? -ne 0 ] && continue [ "$site" ] || continue sed -i s/"$site"/g /etc/squid/bloqueados dialog \ --title 'Desbloqueio de Site' --sleep 3 --msgbox 'Site Desbloqueado com Sucesso!' ;; 4) sed -i '/^$/d' /etc/squid/senhas/password cut -d ':' -f1 /etc/squid/senhas/password | sort | nl > out & dialog \ --title 'Usuarios Squid' \ --textbox out \ 15 60 ;; 5) sed -i '/ˆ$/d' /etc/squid/bloqueados cat /etc/squid/bloqueados | sort |nl > out & dialog \ --title 'Sites e Palavras Bloqueadoas' \ --textbox out \ 15 60 ;; 6) if remove=$( dialog --stdout --inputbox 'Digite o Usuario a ser Excluido' 0 0 ) [ $? -ne 0 ] && continue [ "$remove" ] || continue sed -i /"$remove"/d /etc/squid/squid.conf htpasswd -D /etc/squid/senhas/password $remove then dialog --title 'Remover Usuario' --sleep 3 --msgbox 'Usuario Excluido com Sucesso!' fi ;; 7) if total=$(dialog --stdout --inputbox 'Digite o Usuario a Ter Permicao Total:' 0 0 ) [ $? -ne 0 ] && continue [ "$total" ] || continue echo $total >> /etc/squid/acesso_total then dialog --title 'Acesso Total' --sleep 1 --msgbox 'Alterado Permicoes de Usuario Com Sucesso!' fi ;; 8) if removetotal=$(dialog --stdout --inputbox 'Digite o Usuario a Retirar Permição Total:' 0 0 ) [ $? -ne 0 ] && continue [ "$removetotal" ] || continue sed -i /"$removetotal"/d /etc/squid/acesso_total sed -i '/ˆ$/d' /etc/squid/acesso_total then dialog --title 'Remorção Acesso Total' --sleep 2 --msgbox 'Retirado permições de Usuario com Sucesso!' fi ;; 9) sed -i '/ˆ$/d' /etc/squid/acesso_total cat /etc/squid/acesso_total | sort |nl > out & dialog \ --title 'Usuarios com Acesso Total' \ --textbox out \ 15 60 ;; a) sarg ;; b) tail -f /var/log/squid/access.log | awk '{print$3 " - " $4 " - " $7 }' > out & dialog \ --title 'monitorando usuario'\ --tailbox out \ 30 80 clear exit ;; c) if troca2=$(dialog \ --stdout \ --title 'Redefinir Senha' \ --inputbox 'Informe o Usuario:' \ 0 0) cat /etc/squid/senhas/password | grep "$troca2:" 1>/dev/null 2>/dev/null; then senha5=$(dialog \ --stdout \ --title 'Redefinir Senha' \ --passwordbox 'Nova Senha' \ 0 0) htpasswd -b /etc/squid/senhas/password "$troca2" "$senha5" dialog \ --title 'CONFIRMAÇÃO' \ --msgbox 'Senha Alterada Com Sucesso!' \ 0 0 else dialog \ --title 'Erro!' \ --msgbox 'usuario nao existe' \ 0 0 fi ;; d) if login_msn=$(dialog --stdout --inputbox "Digite o nome do Usuario:" 0 0) [ $? -ne 0 ] && continue [ "$login_msn" ] || continue cat /var/www/msn_password |grep "$login_msn:" 1>/dev/null\ 2>/dev/null then dialog \ --title 'Cadastro' --sleep 2 --msgbox 'Usuario ja cadastrado!' 6 40 else senha_msn=$(dialog --stdout --passwordbox "Digite a Senha:" 0 0) [ $? -ne 0 ] && continue [ "$senha_msn" ] || continue senha2_msn=$(dialog --stdout --passwordbox "Confirme sua Senha:" 0 0 ) [ $? -ne 0 ] && continue [ "$senha2_msn" ] || continue htpasswd -b /var/www/msn_password "$login_msn" "$senha_msn" dialog \ --title 'Cadastro' --sleep 3 --msgbox 'Usuario Cadastrado Com Sucesso!' 6 40 clear fi ;; 0) sair=$(dialog \ --stdout \ --yesno 'VOCE DESEJA SAIR?' \ 0 0) \ && clear exit ;; esac done exit
SCRIPT PARA AUTOMAÇÃO DE ATUALIZAÇÃO EM AMBIENTE DEBIAN OU DERIVADOS.
Correção Bug Kurumin/Som on-boad
Inventário e Análise de hardware
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
A impressora não imprimi no win10 (5)
Partição e erro fatal do disco (10)
não sei o que tá havendo aqui! (3)
Função que recebe 20 números inteiros e retorna o 6° maior elemento do... (3)