Question bête mais sans réponse sur les startup scripts.

MajorTom

Membre confirmé
22 Septembre 2001
83
0
Visiter le site
Bonjour,

Je souhaite placer une règle de firewall dans le script de démarrage Unix de Mac OS X 10.1.1.

J'ai donc édité /etc/rc.boot (en root bien entendu) et ajouté mes règles de firewall juste avant

##
# Exit
##
exit 0

J'ai rebooté pour tester et paf, mon ordinateur était une passoire, ces commandes n'ayant pas été exécutées.

Je fais une erreur quelque part, mais où ? Où suis-je censé placer mes règles de firewall ?

Autre question, par extension : y a-t-il un site qui explique clairement les détails de démarrages propres à Darwin ? C'est-à-dire qui reprenne toutes les touches qui permettent de booter directement en mode console, celles qui permettent de booter normalement mais en mode texte et surtout qui donne la hiéarchie commentée des scripts de boot.

Merci,

Stéphane
 
Il me semble qu'il faut placer tes regles dans un fichier appeler ipfw.conf...Pour le reste, resp. ou le placer et tous les details, il y a un article a ce propos dans Macup (journal mac allemand)...Si j'ai le temps, ben je jette un coup-d'oeil ce soir...Mais avant faudra que je fasse encore ma serie de math et de physique et surtout que j'installe mon adsl que j'ai recu hier...souhaite moi bonne chance...Je ne t'oublierai pas et je viendrai poster au plus tard demain, si qqun n'a pas deja poster...

++
 
Le site d'apple parle du demarrage de OS X Server.
Mais au sujet de darwin, c'est sur
http://www.opensource.apple.com/projects
qu'il faut chercher la doc.
rc.boot, n'est pas le lieu ideal pour placer un firewall,
le mieux est d'ecrire un StartupItem bundle.
C'est un repertoire qui doit se trouver dans
/Library/StartupItems
qui doit contenir:
Un srcipt du meme nom que le fichier,
et un fichier de proprietes StartupParameters.plist
et accessoirement d'un fighier dossier Resources localise pour le boot panel.

j'en ai deja poste pas mal la dessus, mais la doc "officielle" des StartupItems est par la: http://www.opensource.apple.com//projects/documentation/howto/html/SystemStarter_HOWTO.html

ta regle devrait ressembler a ca (sauf que celle la est une passoire;-), juste pour l'exemple)
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ppp0
/sbin/ipfw add pass all from any to any

donc, exemple:
un dossier FireWall,

un script FireWall

#!/bin/sh

. /etc/rc.common

/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ppp0
/sbin/ipfw add pass all from any to any

(avec tes reglages perso)


et StartupParameters.plist

qui contientdrait:

{
Description = "FireWall";
Provides = "my FireWall";
Requires = ("Network");
OrderPreferece = "none";
Messages =
{
start = "Starting FireWall.";
stop = "Stopping FireWall.";
restart = "Restarting FireWall.";
}
}


(c'est la meme syntaxe que pour NetInfo)

le . /etc/rc.common permet d'initialiser quelques variables d'environement. (lorsque qu'un script est executer dans un NSTask, il n'herite pas de l'environement du pere, dont, il faut reconstituer un mini enviroment et l'exporter.)

rc.boot, sert a savoir si tu bootes en single user ou pas, sur un cd ou pas, etc... et d'exporter quelques fonctions et variable a la suite.

le demarrage de darwin, c'est un peu comme tout les unix,
decompression du noyau, lancement du process init (pid=1) et pas loins derriere, il y a /sbin/SystemStarter qui va lire tout les StartupItems.
 
A, encore un detail qui est bon a savoir pour le debug,
en single user, seule l'interface lo0 est lance (localhost)
certainement pour des raisons de securite.