Wie kann ich syslogd dazu bringen, eingehende Verbindungen von Remote-Hosts auf Snow Leopard zu akzeptieren?
Ich möchte die Protokollierung so zentralisieren, dass verschiedene Geräte und Systeme Protokolle an Snow Leopards syslogd senden, das normalerweise unter UDP 514 hängt. Ich kann sie jedoch nicht dazu bringen, dass sie von good ole syslogd erfolgreich akzeptiert werden. Ich habe die Snow Leopard-Box überprüft, um zu überprüfen, ob Pakete an Port 514 gesendet werden - das sind sie. Ich habe überprüft, ob syslogd 514 abhört - das ist es nicht.
Das Googeln hat mir gesagt, dass man in älteren OSX-Versionen (magst du nicht, wie sich die Dinge unter OSX so schnell ändern) dem syslogd-Daemon nur ein Flag hinzufügen musste, um Remote zuzulassen? man tat dies in com.apple.syslogd.plist. Der syslogd-Daemon verfügt jedoch über keine Flags (zumindest in seiner Manpage), die auf eine Remote-Verbindung hinweisen.
Was ist die Lösung dafür?
Sekundäre, weniger wichtige, aber relevante Frage: Was ist "Newsyslog"? Ich sehe eine Plist-Datei, aber sie läuft (anscheinend) nicht.
Vielen Dank
Antworten:
Ich habe dies nicht versucht, aber ich habe in der Liste nach syslogd gesucht (/System/Library/LaunchDaemons/com.apple.syslogd.plist) und festgestellt, dass dieser Teil auskommentiert ist:
Entfernen Sie die Kommentare und laden Sie den Dienst neu:
und du bist wahrscheinlich auf dem Weg.
Antwort auf Ihre sekundäre Frage -
newsyslog
ähnelt der Protokollierung, die häufig auf Linux-Systemen zu finden ist.man newsyslog
(oder online ) wird Ihnen mehr erzählen.Wie bei Snow Leopard installiert, wird es alle 30 Minuten von
launchd
diesem Bit in seiner Liste ausgeführt:quelle
Wenn Sie dies auf einem Snow Leopard Server- Computer versuchen (zumindest mit 10.6.4), finden Sie in /System/Library/LaunchDaemons/com.apple.syslogd keinen auskommentierten Abschnitt .plist (und dass die plist-Datei in einem Binärformat gespeichert ist).
Das Kopieren und Einfügen des Schlüssels, den Doug oben zitiert, reicht jedoch aus, obwohl Sie zuerst das Format der Datei folgendermaßen in Text konvertieren müssen:
... und Sie sollten es wahrscheinlich später wieder konvertieren (Konvertierungen erfolgen in situ):
... dann laden Sie den Launchd-Daemon gemäß den Anweisungen von Doug neu.
Danach sollte die vollständige Plist-Datei wie folgt lauten:
Noch ein Hinweis: Wenn Sie wie ich die Syslog-Ausgaben Ihrer AirPort-Basisstationen (und / oder Time Capsules) an Ihren Server senden möchten, verwenden sie die Funktion 0, die nicht geändert werden kann . Dies bedeutet, dass sie aufgrund des folgenden Standardeintrags in /etc/syslog.conf automatisch in /var/log/appfirewall.log protokolliert werden:
In der Serverversion des Betriebssystems können Sie den Dateinamen sicher in z. B. AirPort.log ändern, sobald Sie den folgenden Befehl ausgegeben haben:
... da Apples Anwendungsfirewall (socketfilterfw) standardmäßig deaktiviert ist (und auf einem Server deaktiviert bleiben sollte - ipfw ist alles, was Sie wirklich wollen). Ich bin nicht sicher, ob es möglich ist, socketfilterfw neu zu konfigurieren, um eine andere Syslog-Funktion zu verwenden.
quelle
<key>ProgramArguments</key> <array> <string>/usr/sbin/syslogd</string> <string>-udp_in</string> </array>
Eine andere Methode, um den Netzwerkzugriff auf syslogd auf Snow Leopard zu ermöglichen, ist die Verwendung des Befehlszeilenprogramms PlistBuddy.
Und dann starten Sie den Daemon neu,
Mit lsof können Sie überprüfen, ob syslogd jetzt den Standard-Syslog-Port 514 überwacht.
quelle