squid_acl
Publicado por Edson G. de Lima 08/07/2004
[ Hits: 6.620 ]
Como a maioria do pessoal que administra o Squid utiliza acl's do tipo url_regex, fazendo menção a arquivos que são checados pelas regras; este script contém um menu interativo que facilita a edição destes arquivos.
Com alguns pequenos ajustes (/diretório/arquivo), você poderá adequá-lo ao SEU Squid (e poder tirar férias tranqüilo...) ;-)
Pela possibilidade de ser aproveitado, aproveitei para "carregar" este script também no "grupo squid-br".
Edson/Xxoin
#!/bin/bash clear echo echo ' Obrigado por prestigiar este configurador!!!' echo ' O que você deseja fazer?' echo ' Por favor, digite um número referente a sua escolha...' echo ### Opções no menu: select OPC in "Incluir_acl/regra" "Liberar_site" "Inserir_usuário" "Inserir_usuárioMaster" "Barrar_palavra" "Liberar_IP" "Zerar_cache" "Zerar_logs" "Backup_RelSarg" "Liberar_palavra" "Editar_arquivo_manualmente" "SAIR"; do break done #--------------------------------------------------------------------- ### (1) Se a escolha for inserir uma acl/regra: if [ $OPC = "Incluir_acl/regra" ] ; then echo echo 'Esta opção envolve a edição do arquivo /etc/squid/squid.conf...' echo echo 'Se você não está certo do que irá fazer, recomenda-se "abortar"...' echo echo 'Deseja continuar???' echo echo 'Pressione s para sim ou qualquer letra para sair.' read CONF if [ $CONF = "s" ]; then echo echo 'Ok, irei abrir o "squid.conf". Após a sua edição é necessário' echo ' o comando squid -k reconfigure' sleep 5 echo echo 'Você tem preferência pelo Editor VI?' echo echo 'Se você responder não (letra n), será aberto o MCEDIT' read VI if [ $VI = "n" ]; then mcedit /etc/squid/squid.conf else vi /etc/squid/squid.conf fi else echo echo 'Saindo sem fazer nada...' echo echo 'Caso queira editar o squid.conf, nesta etapa, digite s minúsculo.' fi #--------------------------------------------------------------------- ### (2) Se a escolha for liberar um site útil: elif [ $OPC = 'Liberar_site' ]; then echo echo 'Digite o nome do site (url) que deseja liberar' read SITE echo $SITE >> /etc/squid/sites_uteis squid -k reconfigure #--------------------------------------------------------------------- ### (3) Se a escolha for inserir um usuário: elif [ $OPC = "Inserir_usuário" ]; then echo echo 'Este usuário deverá estar cadastrado no PDC.' echo echo 'Digite o nome do usuário que deseja liberar' read USUARIO echo $USUARIO >> /etc/squid/usuarios_internet squid -k reconfigure #--------------------------------------------------------------------- ### (4) Se a escolha for inserir um usuário master: elif [ $OPC = "Inserir_usuárioMaster" ]; then echo echo 'Este usuário deverá estar cadastrado no PDC.' echo echo 'Digite o nome do usuário_master que deseja liberar' read MASTER echo $MASTER >> /etc/squid/master_users squid -k reconfigure #--------------------------------------------------------------------- ### (5) Se a escolha for barrar uma palavra: elif [ $OPC = "Barrar_palavra" ]; then echo echo 'Digite a palavra que deseja barrar' read PALAVRA echo $PALAVRA >> /etc/squid/porno squid -k reconfigure #--------------------------------------------------------------------- ### (6) Se a escolha for liberar um IP: elif [ $OPC = "Liberar_IP" ]; then echo echo 'Digite o IP da máquina que deseja liberar' read IP echo $IP >> /etc/squid/IPs_liberados squid -k reconfigure #--------------------------------------------------------------------- ### (7) Se a escolha for zerar o cache: elif [ $OPC = "Zerar_cache" ]; then cd /var/log/squid service squid stop cat/dev/null > cache.log squid -z service squid start #--------------------------------------------------------------------- ### (8) Se a escolha for zerar os logs: elif [ $OPC = "Zerar_logs" ]; then echo echo 'Deseja fazer um backup compactado do arquivo access.log? (s) (n)' echo echo 'O backup será /home/accesslog_"data_hoje".tar.gz' read ACCESS if [ $ACCESS = "n" ]; then cd /var/log/squid service squid stop cat/dev/null > store.log cat/dev/null > access.log service squid start else echo echo 'O backup será /home/accesslog_"data_hoje".tar.gz' tar cvf /home/accesslog_`date +%d_%b_%Y`.tar /var/log/squid/access.log gzip /home/accesslog_`date +%d_%b_%Y`.tar if [ -e /home/accesslog_`date +%d_%b_%Y`.tar.gz ]; then echo echo 'O backup foi criado. Zerando os logs...' cd /var/log/squid service squid stop cat/dev/null > store.log cat/dev/null > access.log service squid start else echo echo 'O backup não foi criado. Prosseguir? (s) (n)' read S_N if [ $S_N = "n" ]; then echo 'Saindo sem fazer nada...' else cd /var/log/squid service squid stop cat/dev/null > store.log cat/dev/null > access.log service squid start fi fi fi #--------------------------------------------------------------------- ### (9) Se a escolha for fazer back_up dos Relatórios do Sarg: elif [ $OPC = "Backup_RelSarg" ]; then BACKUP=$(date +%d_%b_%Y) tar cvf /var/BKP_RelSarg/RelSarg_$BACKUP.tar /srv/www/default/html gzip /var/BKP_RelSarg/RelSarg_$BACKUP.tar if [ -e /var/BKP_RelSarg/RelSarg_$BACKUP.tar.gz ]; then echo echo 'Realizado backup com sucesso! Listando diretório:' ls -la | less /var/BKP_RelSarg else echo echo echo 'Algo saiu errado, o backup não foi realizado.' fi #--------------------------------------------------------------------- ### (10) Se for para liberar uma palavra que está sendo barrada em uma url: elif [ $OPC = "Liberar_palavra" ]; then echo echo 'Utilize esta função se uma "palavra" estiver barrando uma url' echo 'Digite a palavra que deseja liberar' read WORD echo $WORD >> /etc/squid/liberar squid -k reconfigure #--------------------------------------------------------------------- ### (11) Se a escolha for editar um arquivo: elif [ $OPC = "Editar_arquivo_manualmente" ]; then echo echo 'Selecione o número da opção desejada' select EDITAR in "IPs_liberados" "Liberar_palavra" "Barrar_palavra" "Liberar_site" "Usuários_internet" "Master_users"; do break done echo echo '--------------------------- Atenção: ---------------------------' echo 'Após editar o arquivo, aplique o comando: squid -k reconfigure' echo if [ $EDITAR = "IPs_liberados" ]; then mcedit /etc/squid/IPs_liberados elif [ $EDITAR = "Liberar_palavra" ]; then mcedit /etc/squid/liberar elif [ $EDITAR = "Barrar_palavra" ]; then mcedit /etc/squid/porno elif [ $EDITAR = "Liberar_site" ]; then mcedit /etc/squid/sites_uteis elif [ $EDITAR = "Usuários_internet" ]; then mcedit /etc/squid/usuarios_internet elif [ $EDITAR = "Master_users" ]; then mcedit /etc/squid/master_users else clear echo '---------------------------------------------------------' echo 'Alguma coisa está provocando erro!' echo 'Possivelmente, você não esteja digitando um número.' echo 'Por favor, verifique a tecla "Num_Lock" e tente novamente.' echo '----------------------------------------------------------' fi #--------------------------------------------------------------------- ### (12) Se a escolha for sair: elif [ $OPC = "SAIR" ]; then clear echo echo echo ' ---------------------------------------------------------' echo ' | "Ninguém é insubstituível, porém, |' echo ' | ninguém deve ser tratado como se fosse descartável." |' echo ' | |' echo ' | Edson de Lima |' echo ' ---------------------------------------------------------' echo echo echo exit else clear echo echo ' Algo está saindo errado... Final inesperado do script!' echo ' Possivelmente, você não está fazendo uma escolha "numérica"...' echo echo ' Saindo sem fazer nada...' echo ' Por favor, verifique a tecla "Num_Lock" e repita a operação!' echo echo exit fi #===================================================================== ### ------------- Edson de Lima ### --------------------------- Campo Grande/MS, Jul_2004
Tratamento de zeros a esquerda
Bloquear contas em servidor Zimbra após 45 dias
Controle de banda individual com shaper
Firewall ideal para Servidor de Arquivos (iptables).
Nenhum comentário foi encontrado.
Vou voltar moderar conteúdos de Dicas e Artigos (0)
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
Instalação Uefi com o instalador clássico do Mageia (1)
[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