squid_acl
Publicado por Edson G. de Lima 08/07/2004
[ Hits: 6.616 ]
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
Removedor de arquivos vazios na pasta corrente
S-phoenix desliga/reinicia, quantos estão logado no PC, tempo ligado
KSH-93 orientado a objetos... SQN :P
Nenhum comentário foi encontrado.
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
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (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