LSBInitScripts no Debian: missing LSB tags and overrides
Dica publicada em Linux / Configuração
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...
Para exemplificar utilizarei um excelente script de firewall disponibilizado pelo usuário SMarcell do VOL em seu blog pessoal blog pessoal:
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:
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
Pronto estaria, mas ficaria sem as funções de stop|start|restart, para tal podemos utilizar o seguinte conteúdo no script:
Para finalizar vejam o mesmo sendo iniciado, parado e reinicializado...
E o conteúdo dos script executados na inicialização e desligamento do sistema...
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:
Dica publicada em meu Blog:
"
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:
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:
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
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...
E o conteúdo dos script executados na inicialização e desligamento do sistema...
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
- http://wiki.debian.org/LSBInitScripts
- http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
- http://www.wowza.com/forums/showthread.php?10077-debian-package-add-LSB-tags-and-overrides-to-etc-init-d-WowzaMediaServer
Dica publicada em meu Blog:
http://www.thegeekstuff.com/2012/03/lsbinit-script/