LSBInitScripts no Debian: missing LSB tags and overrides

Publicado por edps em 29/02/2012

[ Hits: 41.210 ]

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

Wallpapers para Debian

APT com cores e barra de progresso

nixCraft FAQ PDF Collection

Comprimindo arquivos PDF no Nautilus

XFCE 4.12 no Slackware Current

Leitura recomendada

Chave GPG no Ubuntu Linux

Modem com Ubuntu no laptop HP DV6150

Convertendo arquivos para PDF a partir do menu de contexto do Nautilus

Limitando taxa de download do Yum (Fedora)

Slackware 13.1 com KDE em Português

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts