shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Script de Firewall


From: Alexandre
Subject: Re: Script de Firewall
Date: Wed, 11 Jul 2012 23:13:07 -0000
User-agent: eGroups-EW/0.82

Boa Noite Alysson,

Obrigado pela resposta!!!

Testei suas alterações, porém, não consegui chegar no resultado que desejava.
Depois de vários outros testes, finalmente consegui fazer o que queria, segue 
como ficou no final:

####################################
# VERIFICACAO DE SUPORTE A MODULOS #
####################################

MODULOS=(
   "ip_tables"
   "iptable_filter"
   "iptable_mangle"
   "iptable_nat"
   "ipt_MASQUERADE"
   "ipt_LOG"
   "ipt_REDIRECT"
)

for N in $(seq 0 $[${#MODULOS[@]}-1]); do
   /sbin/modprobe ${MODULOS[$N]}
   if [ -z "$(lsmod | grep ${MODULOS[$N]})" ]; then
      echo "Seu Kernel nao possui suporte ao modulo: ${MODULOS[$N]}"
      echo "Por favor instale ou compile um Kernel com suporte."
      exit 0
   else
      echo "Carregado Modulo: ${MODULOS[$N]}"
   fi
done

#################################
# FIM DA VERIFICACAO DE MODULOS #
#################################

Tenho que fazer um curso de shell script ;)
Tenho certeza que o tempo que gastei fuçando como chegar nesse resultado se 
deve a não conhecer bem ainda o shell script, mas aos poucos vou me aprimorando.

Muito obrigado pela ajuda.
Abs

Alexandre F

--- Em address@hidden, Robson Alexandre <alexandrerobson@...> escreveu
>
> Caro Alexandre,
> 
> vc poderia fazer deste modo
> 
> #!/bin/bash
> MODULOS="ip_tables
> iptable_filter
> iptable_mangle
> iptable_nat
> ipt_MASQUERADE
> ipt_LOG
> ipt_REDIRECT
> ipt_nat"
> 
> for N in $MODULOS
> do
> echo "Verificando $N..."
> if [ "$(lsmod | grep $N)" ]
> then
> echo "Módulo $N encontrado."
> else
> echo "Módulo $N não encontrado.\nCarregando...\n"
> modprobe $N
> fi
> done
> ######################
> 
> Fica mais enxuto assim
> 
> Atenciosamente
> Robson Alexandre
> 
> Em 10 de julho de 2012 22:50, Julio C. Neves <julio.neves@...>escreveu:
> 
> > **
> >
> >
> > Tb seria certo:
> > $ echo -e '\nModulo ${MODULOS[$N] nao foi encontrado [ ERRO ]}\n'
> >
> > Ou ainda:
> >
> >
> > $ echo '
> > Modulo ${MODULOS[$N] nao foi encontrado [ ERRO ]}
> > '
> >
> > Abcs,
> > Julio
> >
> > *
> > *
> >
> > Em 10 de julho de 2012 22:27, Alysson Gonçalves de Azevedo <
> > agalysson@...> escreveu:
> >
> >
> > > Não que seja um problema nem nada, só pra caso você não saiba, mas você
> > > pode trocar:
> > > echo ""
> > > echo "Modulo ${MODULOS[$N] nao foi encontrado [ ERRO ]}"
> > > echo ""
> > >
> > > por apenas:
> > > echo $'\n'"Modulo ${MODULOS[$N] nao foi encontrado [ ERRO ]}"$'\n'
> > >
> > > Alysson Gonçalves de Azevedo
> > > (11) 8491-7730
> > >
> > >
> > >
> > >
> > > Em 10 de julho de 2012 19:18, Alexandre <byalefp@...> escreveu:
> > >
> > > > **
> > > >
> > > >
> > > > Boa noite pessoal,
> > > >
> > > > Sou novo aqui e espero poder aprender com vocês bastante sobre Shell
> > > > Script, assim como compartilhar meu conhecimento também ;)
> > > >
> > > > Estou tentando elaborar um script para verificacao de firewall onde
> > > > deveria verificar se o usuário possui um kernel com suporte a
> > > determinados
> > > > modulos, o código que estou trabalhando é o seguinte:
> > > >
> > > > ######################################
> > > > # VERIFICACAO DE SUPORTE A MODULOS #
> > > > ######################################
> > > >
> > > > MODULOS=(
> > > > "ip_tables"
> > > > "iptable_filter"
> > > > "iptable_mangle"
> > > > "iptable_nat"
> > > > "ipt_MASQUERADE"
> > > > "ipt_LOG"
> > > > "ipt_REDIRECT"
> > > > )
> > > >
> > > > for N in $(seq 0 $[${#MODULOS[@]}-1]); do
> > > > if [ -z "$(lsmod | grep ${MODULOS[$N]})" ]; then
> > > > /sbin/modprobe $${MODULOS[$N]}
> > > > echo ""
> > > > echo "Modulo ${MODULOS[$N] nao foi encontrado [ ERRO ]}"
> > > > echo ""
> > > > exit 0
> > > > else
> > > > echo "${MODULOS[$N]} carregado!"
> > > > fi
> > > > done
> > > >
> > > > #################################
> > > > # FIM DA VERIFICACAO DE MODULOS #
> > > > #################################
> > > >
> > > > Fui me baseando em n exemplos da internet que estou lendo para aprender
> > > > sobre iptables.
> > > > Sem reiniciar o server e adaptando os exemplos para meu objetivo, esse
> > IF
> > > > aparentou estar ok (os modulos já haviam sido carregados
> > anteriormente),
> > > > pois não havia reiniciado o servidor.
> > > >
> > > > Depois de um restart essa verificação começou a parar em cada 1 dos
> > > > módulos, ai precisava executar 1 vez para cada módulo, onde acabei por
> > > > entender que não estou verificando a disponibilidade de suporte dos
> > > > módulos, mas sim se estão carregados ou não...
> > > >
> > > > Alguém poderia me ajudar a adaptar esse trecho para a verificação se o
> > > > sistema suporta esses módulos especificamente?
> > > >
> > > > Obrigado,
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como
> > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> >
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]