LSBInitScripts no Debian: missing LSB tags and overrides

Publicado por edps em 29/02/2012

[ Hits: 45.994 ]

Blog: https://edpsblog.wordpress.com/

 


LSBInitScripts no Debian: missing LSB tags and overrides



Aqueles que tinham o costume de utilizar seus próprios scripts no Debian, com o lançamento do Squeeze passaram a receber a seguinte mensagem quando os mesmos eram executados...
"
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'nome-do-script' missing LSB tags and overrides
"

Para exemplificar utilizarei um excelente script de firewall disponibilizado pelo usuário SMarcell do VOL em seu blog pessoal blog pessoal:
Linux: LSBInitScripts no Debian: missing LSB tags and overrides

Como quase tudo nessa vida tem solução, a mesma foi encontrada na própria Debian Wiki, bastará adicionar o seguinte conteúdo logo abaixo da linha /bin/sh:

### BEGIN INIT INFO # Provides: firewall.sh # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start firewall.sh at boot time # Description: Enable service provided by firewall.sh. ### END INIT INFO

Linux: LSBInitScripts no Debian: missing LSB tags and overrides

O script original encontra-se neste link, http://my.opera.com/smarcell/blog/show.dml/32589512, como exemplo criei o arquivo firewall.sh em /etc/init.d/, após salvá-lo, dê-lhe permissão de execução:

# nano /etc/init.d/firewall.sh
# chmod +x /etc/init.d/firewall.sh


A seguir limpamos as regras de firewall porventura existentes:

# iptables -F
# iptables -X
# iptables -L -nv


Adicionamos e iniciamos o serviço:

# update-rc.d firewall.sh defaults
# /etc/init.d/firewall.sh start


Ou:

# service firewall.sh start
# iptables -L -nv


Linux: LSBInitScripts no Debian: missing LSB tags and overrides

Pronto estaria, mas ficaria sem as funções de stop|start|restart, para tal podemos utilizar o seguinte conteúdo no script:

#!/bin/sh

### BEGIN INIT INFO
# Provides:          firewall.sh
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start firewall.sh at boot time
# Description:       Enable service provided by firewall.sh.
### END INIT INFO

PATH="/bin:/sbin:/usr/bin:/usr/sbin"

firewall_start(){

IPT="/sbin/iptables"

# Bloqueio de ICMP.
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Desabilitando qualquer tipo de redirecionamento.
for i in /proc/sys/net/ipv4/conf/*
do
    echo 0 > ${i}/accept_redirects
        echo 0 > ${i}/accept_source_route
        echo 0 > ${i}/secure_redirects
done

# Limpando configuraçoes residuais.
$IPT -F
$IPT -X

# Descartar tudo! Politica padrao.
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

# Liberando loopback.
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# Descartando pacotes de entrada invalidos.
$IPT -A INPUT -m state --state INVALID -j DROP

# INPUT/OUTPUT liberado somente para as requisicoes feitas pela propria maquina.
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Fechando para todo o restante.
$IPT -A INPUT -p tcp --syn -j DROP

echo "Regras do Firewall aplicadas!"
sleep 1
}
firewall_stop(){
iptables -F
iptables -X
iptables -P INPUT   ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT  ACCEPT
}
 
case "$1" in
 "start")
firewall_start
        ;;
 "stop")
        firewall_stop
echo "Firewall desativado!"
        ;;
  "restart")
echo "Firewall reiniciando..."
        firewall_stop; firewall_start
        ;;
      *)
        iptables -L -nv
esac

Para finalizar vejam o mesmo sendo iniciado, parado e reinicializado...
Linux: LSBInitScripts no Debian: missing LSB tags and overrides

Linux: LSBInitScripts no Debian: missing LSB tags and overrides

E o conteúdo dos script executados na inicialização e desligamento do sistema...
Linux: LSBInitScripts no Debian: missing LSB tags and overrides

Linux: LSBInitScripts no Debian: missing LSB tags and overrides

Os créditos das regras de firewall aqui aplicadas são do usuário SMarcell, o script tomado como modelo teve sua publicação original no seguinte endereço:

Referências


Dica publicada em meu Blog:

Outras dicas deste autor

AdeskBar no Debian, em derivados e em outras distros

Adicionando Sintaxe Highlighting no Editor NANO

"sources.list" para o Ubuntu 11.10 - Oneiric Ocelot

Fedora: adicionando outras Distribuições Linux no Grub2

Wallpapers para Arch Linux

Leitura recomendada

WMA no XMMS

Preparando estações Linux para usar servidor de impressão CUPS

Stacer - um otimizador gráfico básico de Linux

Instalando a impressora matricial LX-300 (e outras do mesmo tipo), no Linux, com KDE

Medidor de bateria no XFCE4

  

Comentários
[1] Comentário enviado por removido em 21/03/2012 - 18:30h

Um outro exemplo para isso:

http://www.thegeekstuff.com/2012/03/lsbinit-script/

[2] Comentário enviado por civanlobo em 07/06/2012 - 17:11h

Muito obrigado, velho, resolveu.

[3] Comentário enviado por removido em 11/06/2012 - 18:16h

Beleza rapaz!

[4] Comentário enviado por thifuda em 11/03/2014 - 19:49h

Show de bola. Ajudou muito.
Precisei criar um script para inicializar o firewall automaticamente e este "### BEGIN INIT INFO" solucionou.

Só uma sugestão, hoje você pode alterar o:

update-rc.d firewall.sh defaults
para:
insserv -d firewall.sh

[5] Comentário enviado por adsuporte em 02/02/2015 - 15:06h

Boa tarde, apesar de o post ser antigo ele me ajudou muito!!!

meu firewall estava funcionando bem, porem eu não conseguia instalar algumas aplicações que acessam o script de firewall !!!

muito obrigado!

Abs

[6] Comentário enviado por fantonios em 10/02/2015 - 12:28h

Boa Tarde,

Obrigado pela explicação. Me ajudou muito.

Valeu!!!

[7] Comentário enviado por rodrigoamd em 07/09/2016 - 10:27h

Esses caras são feras mesmo....



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts