squid_acl
Publicado por Edson G. de Lima 08/07/2004
[ Hits: 6.667 ]
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
Estatística dos MB's consumidos pela internet
Verifica arquivos indevidos nos servidores
Script para Criação de ips para utilizar em controle de banda
Monitora HD e envia e-mail caso atinja a um limite utilizado
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Instalação do drive do adaptador wiffi (2)
atualizar o linux com o comando apt update (11)