Re: scripts!!!!
On Mon, 2003-02-03 at 22:35, Marcxelo wrote:
> ----------------------------------------------------------------------------------------------------------------
> #!/bin/bash
>
> /etc/firewall/nombre_del_programa.
> ----------------------------------------------------------------------------------------------------------------
> este scripts esta bien no!!!!
Déjame ver si te entiendo... ¿Quieres que ese script se ejecute al
iniciar la máquina, y por tanto lo vas a poner en /etc/init.d?
Si es así, el script no está del todo bien. Los scripts de init.d
tienen una interfaz de usuario estándar: aceptan un parámetro, que puede
ser "start", "stop" ó "restart" (o algunos opcionales, como "reload").
Tu script debería verse algo así:
------------------------------------------------------------------------
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
case "$1" in
start)
... comandos a ejecutar en "start" ...
;;
stop)
... comandos a ejecutar en "stop" ...
;;
restart|force-reload)
... comandos a ejecutar en "reload" ...
;;
*)
echo "Usage: /etc/init.d/authd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
------------------------------------------------------------------------
En tu caso, entre los comandos a ejecutar en "start" seguramente habrá
un "/etc/firewall/loquesea". En "stop" deberías desactivar el firewall
(con algunos iptables -F, o con otro script, quizá). En "restart",
desactivas y activas el firewall.
Hecho el script y puesto en init.d, tienes que crear symlinks en uno o
varios directorios rc<N>.d, donde <N> es un "run level" en que quieres
que se ejecute. Definitivamente no me voy a meter en una discusión
sobre run levels; te refiero al manual init(8) para mas detalles. En tu
caso, probablemente quieres usar los run levels 2, 3, 4 y/o 5.
Ejemplo: ln -s /etc/init.d/loquesea /etc/rc2.d/S20loquesea
Que te sea leve.
-CR
Reply to: