Manutenção de Endereços

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

[ Hits: 5.743 ]

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

Fazendo Backup com Rsync

Desklets DoItYourself como monitor do sistema

Ip dinâmico

getgazette - script para baixar a Linux Gazette

Enciclopédia em Shell-Script


  

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