Mailinglist Archive: opensuse-hu (142 mails)
| < Previous | Next > |
Re: [opensuse-hu] iptables kérdés
- From: Zsolt Papp <zpapp@xxxxxxxxxx>
- Date: Sun, 02 Jul 2006 10:33:18 +0200
- Message-id: <1151829198.3692.19.camel@xxxxxxxxxxxx>
2006. 07. 2, vasárnap keltezéssel 09.46-kor budacsik attila ezt írta:
> 1. Létrehoztam a firewall.sh szkriptet a /root/bin mappába
> 2. készítettem egy firewall nevő szkriptet a /etc/init.d mappába a
> SuSefirewall2 alapján. Íme:
> #!/bin/bash
>
> FIREWALL="/root/bin/firewall.sh"
>
> case "$1" in
> start) echo "Budacsik firewall start ..."
> $FIREWALL -q start
> ;;
> stop) echo "Budacsik firewall stop ..."
> $FIREWALL -q stop
> ;;
> restart) $FIREWALL -q stop
> $FIREWALL -q start
> ;;
> status) echo "Budacsik firewall check ..."
> iptables -L
> ;;
> * ) echo "Use: $1 {start|stop|restart|status}"
> ;;
> esac
Ezzel nincs semmi baj, ez így jó. Ami hiányzik egy picit az az init info
ld. lejjeb.
> Jobbat nem tudok, ennyit értek hozzá.
> 3. a szilinket megcsináltam, és elvileg jó lett, de automatikusan nem indult.
> 4. Ekkor a yast-ban beállítottam a 2 3 5-ös-re, hogy induljon el és mostmár
> megy. De mt csinált a yast amit én nem?
Valószínűleg az történt, hogy nem tettél a link nevének elejére egy
S-betűt és egy számot, az initrendszer csak ezeket a fájokat futtatja
le. Trükkös. ;) Nézd meg a link nevét most.
> > Hogyha írsz egy saját indítószkriptet, akkor éredemes megcsinálni
> > rendesen: /etc/init.d/skeleton. Hogyha megcsinálod a headert (BEGIN INIT
> > INFO) is, akkor azt a szkriptet is tudod kapcsolgatni a chkconfig
> > paranccsal.
> Igen, a skeletont közben megtaláltam és nézegetem is, de nem értek belőle
> dolgokat, például:
> # Check for missing binaries (stale symlinks should not happen)
> # Note: Special treatment of stop for LSB conformance
> FOO_BIN=/usr/sbin/FOO
> test -x $FOO_BIN || { echo "$FOO_BIN not installed";
> if [ "$1" = "stop" ]; then exit 0;
> else exit 5; fi; }
>
Ez a rész teszteli, hogy a futtatandó bináris (a te esetedben a szkript)
elérhető-e. Hogyha nem lehet futtatni a /usr/bin/FOO programot, akkor
nem megy tovább a szkript.
> # Check for existence of needed config file and read it
> FOO_CONFIG=/etc/sysconfig/FOO
> test -r $FOO_CONFIG || { echo "$FOO_CONFIG not existing";
> if [ "$1" = "stop" ]; then exit 0;
> else exit 6; fi; }
>
> # Read config
> . $FOO_CONFIG
Itt pedig az történik, hogy egy külön fájba lehet felvenni a default
változók értékét. pl a /etc/sysconfig/firewall fájlba beírhatod a
$FIREWALL változódat. Nézegesd meg a sysconfig fájlokat a /etc/sysconfig
könyvtárban, csak olyan fájlok vannak ott, amiben változók vannak
definiálva és mindet az initszkriptek használják. Tehát az initszkriptek
configjai vannak ott.
> > A kézzel való linkelést azért nem ajánlom, mert a YaST vagy
> > a chkconfig pl átrendezi az indulási sorrendet, hogyha nincs rendes init
> > info a szkriptedben.
> init info? azt hogy?
Az init info a szkripteknek az a része, ami a ### BEGIN INIT INFO és az
### END INIT INFO közötti rész. Itt van definiálva, hogy a szkript
milyen szolgáltatást nyújt, és hogy milyen szolgáltatásoktól függ.
Valamint az, hogy alapértelmezésként milyen futásiszinteken fusson.
init info pl
### BEGIN INIT INFO
# Provides: own_firewall
# Required-Start: $network $local_fs
# Should-Start: $ALL
# Required-Stop: $local_fs
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: This is my own firewall
# Description: This firewall closes all ports from the
# outside except ssh
### END INIT INFO
A YaST futásiszint szerkesztője és a chkconfig parancs is ez alapján
működik.
Üdv,
Papp Zsolt
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-hu-unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-hu-help@xxxxxxxxxxxx
> 1. Létrehoztam a firewall.sh szkriptet a /root/bin mappába
> 2. készítettem egy firewall nevő szkriptet a /etc/init.d mappába a
> SuSefirewall2 alapján. Íme:
> #!/bin/bash
>
> FIREWALL="/root/bin/firewall.sh"
>
> case "$1" in
> start) echo "Budacsik firewall start ..."
> $FIREWALL -q start
> ;;
> stop) echo "Budacsik firewall stop ..."
> $FIREWALL -q stop
> ;;
> restart) $FIREWALL -q stop
> $FIREWALL -q start
> ;;
> status) echo "Budacsik firewall check ..."
> iptables -L
> ;;
> * ) echo "Use: $1 {start|stop|restart|status}"
> ;;
> esac
Ezzel nincs semmi baj, ez így jó. Ami hiányzik egy picit az az init info
ld. lejjeb.
> Jobbat nem tudok, ennyit értek hozzá.
> 3. a szilinket megcsináltam, és elvileg jó lett, de automatikusan nem indult.
> 4. Ekkor a yast-ban beállítottam a 2 3 5-ös-re, hogy induljon el és mostmár
> megy. De mt csinált a yast amit én nem?
Valószínűleg az történt, hogy nem tettél a link nevének elejére egy
S-betűt és egy számot, az initrendszer csak ezeket a fájokat futtatja
le. Trükkös. ;) Nézd meg a link nevét most.
> > Hogyha írsz egy saját indítószkriptet, akkor éredemes megcsinálni
> > rendesen: /etc/init.d/skeleton. Hogyha megcsinálod a headert (BEGIN INIT
> > INFO) is, akkor azt a szkriptet is tudod kapcsolgatni a chkconfig
> > paranccsal.
> Igen, a skeletont közben megtaláltam és nézegetem is, de nem értek belőle
> dolgokat, például:
> # Check for missing binaries (stale symlinks should not happen)
> # Note: Special treatment of stop for LSB conformance
> FOO_BIN=/usr/sbin/FOO
> test -x $FOO_BIN || { echo "$FOO_BIN not installed";
> if [ "$1" = "stop" ]; then exit 0;
> else exit 5; fi; }
>
Ez a rész teszteli, hogy a futtatandó bináris (a te esetedben a szkript)
elérhető-e. Hogyha nem lehet futtatni a /usr/bin/FOO programot, akkor
nem megy tovább a szkript.
> # Check for existence of needed config file and read it
> FOO_CONFIG=/etc/sysconfig/FOO
> test -r $FOO_CONFIG || { echo "$FOO_CONFIG not existing";
> if [ "$1" = "stop" ]; then exit 0;
> else exit 6; fi; }
>
> # Read config
> . $FOO_CONFIG
Itt pedig az történik, hogy egy külön fájba lehet felvenni a default
változók értékét. pl a /etc/sysconfig/firewall fájlba beírhatod a
$FIREWALL változódat. Nézegesd meg a sysconfig fájlokat a /etc/sysconfig
könyvtárban, csak olyan fájlok vannak ott, amiben változók vannak
definiálva és mindet az initszkriptek használják. Tehát az initszkriptek
configjai vannak ott.
> > A kézzel való linkelést azért nem ajánlom, mert a YaST vagy
> > a chkconfig pl átrendezi az indulási sorrendet, hogyha nincs rendes init
> > info a szkriptedben.
> init info? azt hogy?
Az init info a szkripteknek az a része, ami a ### BEGIN INIT INFO és az
### END INIT INFO közötti rész. Itt van definiálva, hogy a szkript
milyen szolgáltatást nyújt, és hogy milyen szolgáltatásoktól függ.
Valamint az, hogy alapértelmezésként milyen futásiszinteken fusson.
init info pl
### BEGIN INIT INFO
# Provides: own_firewall
# Required-Start: $network $local_fs
# Should-Start: $ALL
# Required-Stop: $local_fs
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: This is my own firewall
# Description: This firewall closes all ports from the
# outside except ssh
### END INIT INFO
A YaST futásiszint szerkesztője és a chkconfig parancs is ez alapján
működik.
Üdv,
Papp Zsolt
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-hu-unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-hu-help@xxxxxxxxxxxx
| < Previous | Next > |