Manutenção de Endereços

Publicado por Robson Soares Nunes Júnior 18/10/2005

[ Hits: 5.730 ]

Download admin




Script criado para administração de uma lista de sites permitidos utilizada pelo SQUID na empresa onde trabalho. Simples, porém útil quando a idéia é tornar a rotina um pouco mais prática.

OBS: Crie uma lista de endereços chamada limitado para que tudo funcione corretamente.

  



Esconder código-fonte

#!/bin/sh

# FUNÇÃO PARA CADASTRAR

 cadastro ( ) {
clear
echo "Entre com o endereco a ser adicionado: "; read site
 if [ -z $site ]; then
  clear
   printf '\a' 
   echo "Por favor, digite um endereço."
    read a 
     cadastro
 else   
    echo "O site a ser incluído é: $site" 
     printf '\a' 
    echo "Confirma inclusão? "; read confirma 

if [ $confirma = "s" ]; then
   cat limitado | grep "."$site 
      case $? in
        1) echo "."$site >> limitado ; echo "Site incluído!" ;;
        0) printf '\a'; echo "Site já existe na lista!" ;;
      esac
fi  
    
 if [ $confirma = "n" ]; then
  printf '\a'
  echo "Inclusão cancelada!" 
 fi
  sleep 1
 clear
fi
}

# FUNÇÃO EXCLUIR

 excluir ( ) {
clear
cp limitado limitado.bkp
 echo "Digite o site a ser excluído: "; read excluido
 if [ -z $excluido ]; then
   clear
    printf '\a'
    echo "Por favor, digite um endereço." 
     read a
      excluir
  else 
 echo "O(s) site(s) a ser(erem) excluído(s) é(são): " 
  for excl in `cat limitado | grep $excluido`
   do
    echo $excl
     printf '\a'
      echo "Confirma exclusão?"; read confirma2
   case $confirma2 in
     s) cat limitado | grep -v -w $excl > limitado ;;
     n) printf '\a'; echo "Exclusão cancelada!" ; read a ;;
   esac
done
fi
}

# FUNÇÃO LISTAR

 listar ( ) {
clear
 more limitado;
  read a 
}

# FUNÇÃO BUSCAR

 buscar ( ) {
clear
  echo "Digite o endereço a ser pesquisado: "; read ender
   if [ -z $ender ]; then
    clear
     printf '\a'
      echo "Por favor, digite um endereço."
       read a
        buscar  
else  
  echo ""
  echo "Resultados da busca: "
  cat limitado | grep $ender
 read a
fi
}

# REINICIANDO SQUID

 reconfig ( ) {
clear 
 squid -k reconfigure
  printf '\a'
   echo "Reiniciando Squid";
    sleep 1; 
   echo "Squid reiniciado!";
    sleep 2;
     clear
}

# RESTAURAR BACKUP

 restaura ( ) {
clear
 echo "Restaurando backup!"
  cp limitado.bkp limitado
   sleep 1
 printf '\a'
  echo "Backup restaurado!"
   sleep 1 
}

# FECHANDO SCRIPT

 saida ( ) {
     
     echo ""
     echo ""
     echo ""
     echo ""
     echo ""
     echo ""
     echo "        ################################################################"
     echo "        #                                                              #"
     echo "        #      SCRIPT DESENVOLVIDO POR ROBSON SOARES (SMUGGLE)         #"
     echo "        #                                                              #"
     echo "        #      Agradecimentos: Lucas Carvalho                          #"
     echo "        #                                                              #"
     echo "        ################################################################"
   sleep 2
  clear
 exit
}

# MENU

while [ $opcao!=7 ]; do
 clear
  for usuario in `whoami`
   do
    if [ $usuario = "root" ]; then
    echo "###################### ADMINISTRAÇÃO DE URLS AUTORIZADAS ######################"
    echo ""
    echo "              1 - Cadastrar"
    echo "              2 - Excluir"
    echo "              3 - Listar"
    echo "              4 - Buscar"
    echo "              5 - Reiniciar Squid"
    echo "              6 - Restaurar backup"
    echo "              7 - Sair"
    
 read opcao;

case $opcao in
   7) saida ;;
   6) restaura ;;
   5) reconfig ;;
   4) buscar ;;
   3) listar ;;
   2) excluir ;;
   1) cadastro ;;
   *) echo "                                  Opção inválida"; read a;;
esac
  fi
   if [ $usuario != "root" ]; then
    printf '\a'
     echo "Esse script deve ser executado como root!";
      read a 
       exit
  fi

done
done

Scripts recomendados

Simples dialog script para escolha de gerenciador de janelas

Firewall iptables

Script para automatizar compilação e instalação do Squid

Script para converter um diretório de arquivos em mp3 para ogg.

Shell para extrair informações de impressoras Brother


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts