Comment puis-je activer le pare-feu via une ligne de commande sous Mac OS X?

8

Je peux utiliser le volet de préférences Sécurité et confidentialité pour activer et désactiver le pare-feu, mais comment puis-je le faire avec la ligne de commande - quelque chose avec defaults writepeut-être?

Picture.png

cwd
la source

Réponses:

12

Activer le pare-feu de l'application via

defaults write /Library/Preferences/com.apple.alf globalstate -int 1

(0 pour désactiver), et redémarrez les services

launchctl unload /System/Library/LaunchAgents/com.apple.alf.useragent.plist
launchctl unload /System/Library/LaunchDaemons/com.apple.alf.agent.plist

launchctl load /System/Library/LaunchDaemons/com.apple.alf.agent.plist
launchctl load /System/Library/LaunchAgents/com.apple.alf.useragent.plist

Le pare-feu de l'application peut être contrôlé avec le /usr/libexec/ApplicationFirewall/socketfilterfwbinaire.

Voir ici pour plus d'informations.

Notez que le pare-feu de l'application est entièrement différent du filtre de paquets BSD, qui peut être configuré avec l' ipfwutilitaire de ligne de commande.

Ansgar Wiechers
la source
1
Vous devez sudodécharger et charger le démon (/System/Library/LaunchDaemons/com.apple.alf.agent.plist); sinon, il tentera de les décharger et de les charger à partir de l'utilisateur launchd, ce qui ne fonctionnera pas correctement. Ne pas, cependant, sudoles commandes pour l'utilisateur.
Gordon Davisson
Sur les nouvelles versions de macOS, le redémarrage des services échouera en raison de "L'opération n'est pas autorisée lorsque la protection de l'intégrité du système est activée". Désactiver SIP n'est pas recommandé et assez difficile. Pour
résoudre ce problème