LaunchDaemon for pf wird beim Start nicht geladen

2

Ich habe eine Liste /Library/LaunchDaemons/, die beim Start als root ausgeführt werden sollte.

Wenn ich renne sudo launchctl load /Library/LaunchDaemons/com.apple.pfctl.plist, funktioniert es. Beim Neustart funktioniert es jedoch nicht.

Interessanterweise heißt es nach dem Neustart, wenn ich diesen Befehl ausführe, /Library/LaunchDaemons/com.apple.pfctl.plist: service already loadedaber er funktioniert nicht. Wenn ich es jedoch entlade und lade, funktioniert es normal.

In meiner Fehlermeldung wird nichts angezeigt /tmp/pfctl.err.

Meine Liste ist hier:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.pfctl</string>
<key>ProgramArguments</key>
        <array>
                <string>pfctl</string>
                <string>-e</string>
                <string>-f</string>
                <string>/etc/pf.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
<key>StandardErrorPath</key>
<string>/tmp/pfctl.err</string>
<key>StandardOutPath</key>
<string>/tmp/pfctl.out</string>
</dict>
</plist>
Jake der Hund
quelle
Können Sie die Boot-Meldungen, die spezifisch für sind, veröffentlichen, pfctlindem Sie den Befehl ausgeben? dmesg | grep -i pfctl Wir müssen sehen, welche Fehler generiert werden, falls vorhanden.
Allan
Versuchen Sie , <string>pfctl</string>zu <string>/sbin/pfctl</string>oder fügen <key>Program</key>und <string>/sbin/pfctl</string>vor ProgramArguements.
fd0
für die Aufzeichnung dmesg | grep -i pfctlzeigte keine Ausgabe
Jakethedog

Antworten:

1

Das Problem war, dass es eine Standard-Plist für pfctl bei gibt /System/Library/LaunchDaemons/com.apple.pfctl.plist. Sie waren Konflikte.

In dieser Liste setze ich <key>Disabled</key>auf <true/>und alles funktioniert wie erwartet.

Jake der Hund
quelle