Jak zmusić syslogd do akceptowania połączeń przychodzących ze zdalnych hostów na Snow Leopard?
Chciałbym scentralizować rejestrowanie w taki sposób, aby różne urządzenia i systemy wysyłały dzienniki do syslogd systemu Snow Leopard, który zwykle znajduje się na UDP 514. Jednak nie jestem w stanie sprawić, by zostały pomyślnie zaakceptowane przez dobry ole syslogd. Rzuciłem tcpdump na pole Snow Leopard, aby sprawdzić, czy pakiety są wysyłane do portu 514 - są. Sprawdziłem, że syslogd nasłuchuje na 514 - nie jest.
Googling powiedział mi, że w starszych wersjach OSX (czy nie podoba ci się to, jak rzeczy zmieniają się tak szybko w OSX), wystarczyło dodać flagę do demona syslogd, aby umożliwić zdalne; zrobiono to w com.apple.syslogd.plist. Jednak demon syslogd nie ma flag (przynajmniej na swojej stronie podręcznika), które sugerują jakiekolwiek zdalne sterowanie.
Jakie jest na to rozwiązanie?
Wtórne, mniej ważne, ale istotne pytanie: co to jest „newsyslog”? Widzę plik plist, ale nie jest uruchomiony (najwyraźniej).
Dzięki
Odpowiedzi:
Nie próbowałem tego, ale szukałem na liście syslogd (/System/Library/LaunchDaemons/com.apple.syslogd.plist) i widzę, że ta część skomentowała:
Usuń komentarze, a następnie ponownie załaduj usługę:
i prawdopodobnie jesteś w drodze.
Odpowiedź na twoje drugie pytanie -
newsyslog
jest podobny do logrotate często spotykanego w systemach Linux.man newsyslog
(lub online ) powie ci więcej.Zainstalowany w systemie Snow Leopard jest uruchamiany co 30 minut
launchd
na ten bit w swojej liście:źródło
Pamiętaj, że jeśli próbujesz to zrobić na komputerze z systemem Snow Leopard Server (przynajmniej w wersji 10.6.4), przekonasz się, że w /System/Library/LaunchDaemons/com.apple.syslogd nie ma komentarza. .plist (i że plik plist jest przechowywany w formacie binarnym).
Jednak skopiowanie i wklejenie klucza cytowanego powyżej przez Douga załatwi sprawę, chociaż najpierw trzeba będzie przekonwertować format pliku na tekst:
... i powinieneś prawdopodobnie przekonwertować go później (konwersje mają miejsce in situ):
... następnie ponownie załaduj uruchomionego demona zgodnie z instrukcjami Douga.
Następnie pełny plik Plist powinien wyglądać następująco:
Jeszcze jedna uwaga: jeśli, podobnie jak ja, chcesz wysłać wyniki syslogu stacji bazowych AirPort (i / lub Time Capsules) na swój serwer, używają one funkcji 0, której nie można zmienić . Oznacza to, że zostaną automatycznie zalogowani do /var/log/appfirewall.log z powodu następującego domyślnego wpisu w /etc/syslog.conf:
W wersji serwerowej systemu operacyjnego możesz bezpiecznie zmienić nazwę pliku na np. AirPort.log po wydaniu następującego polecenia:
... ponieważ Zapora aplikacji Apple (socketfilterfw) jest domyślnie wyłączona (i powinna pozostać wyłączona na serwerze - ipfw jest wszystkim, czego naprawdę chcesz). Nie jestem pewien, czy można zmienić konfigurację socketfilterfw, aby użyć innej funkcji syslog.
źródło
<key>ProgramArguments</key> <array> <string>/usr/sbin/syslogd</string> <string>-udp_in</string> </array>
Inną metodą włączenia dostępu sieciowego do syslogd w systemie Snow Leopard jest użycie programu wiersza poleceń PlistBuddy,
Następnie uruchom ponownie demona,
Możesz użyć lsof, aby sprawdzić, czy syslogd nasłuchuje na standardowym porcie syslog, 514,
źródło