Syslogd Linux a Unix Command

Sysklogd bidd zwee System Utilities, déi Ënnerstëtzung fir den System Protokoll an d'Kernel Message Trapping ubidden. Ënnerstetzung vun Internet an Unix Domain Sockets erlaabt dëst Utility Package fir lokal a Fernsehdokumenter ze ënnerstëtzen.

Systemer Protokoll gëtt vun enger Versioun vu syslogd (8) zur Verfügung gestoppt aus den BSD Quellen. Ënnerstëtzung fir den Kernwierder Protokoll gëtt vum klogd (8) Utility agefouert, wat de Kneel net ze protokolléieren an entweder e Standalone oder als Client vu syslogd ze maachen.

Syslogd bitt eng Art Protokoller, déi vill modernen Programmer benotzen. All logesch Noriicht ass op d'mannst e Zäit an e Hostnummfeld, normalerweis e Programmbezeechnungefelder, awer dat hänkt dovun of wéi festleeft de Protokollprogramm.

Während d' Syslogd Quellen staark modifizéiert goufen e puer Noten sinn amgaang. Eischtens ass et e systematescht Versuch fir sécher ze stellen, datt syslogd seng Default-Standard BSD Verhalen nogeet. Déi zweet wichteg Konzept ze bemierken ass datt dës Versioun vu syslogd transparent mat der Versioun vu Syslog interagéiert an de Standardbibliothéiken ass. Wann eng binär mat den Standardbibliothéik verbonne fehlerhaft funktionéiert, géift Dir gären e Beispill vum ongeheeschte Verhalen.

Déi Haaptkonfiguratiounsdatei /etc/syslog.conf oder eng alternativ Datei, déi mat der -f Option ass, gëtt beim Startup gelies. All Zeilen déi mat der Hash matmaachen (`` # '') an eidel Linn sinn ignoréiert. Wann e Feeler beim Parsing passéiert ass déi ganz Linn ignoréiert.

Synopsis

Syslogd [ -a socket ] [ -d ] [ -f config file ] [ -h ] [ -l Hosterheet ] [ -m Intervall ] [ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ - v ] [ -x ]

Optiounen

-a Socket

Mat dësem Argument kënnt Dir spezielle Sockets vun deem Syslogd spezifizéieren. Dëst ass gebraucht ginn wann Dir eppes Daemon an enger chroot () Ëmfeld lafen léisst. Dir kënnt bis zu 19 Zocker benotzen. Wann Är Ëmwelt méi nach méi brauch, musst Dir d'Symbol MAXFUNIX innerhalb der syslogd.c-Source-Datei erhéijen. E Beispill fir e chroot () Daemon gëtt vun de Leit vun OpenBSD bei http://www.psionic.com/papers/dns.html beschriwen.

-d

Den Debug-Modus ëmsetzt. Dir benotzt de Dämon net a Gabel (2) fir sech am Hannergronn ze setzen, awer dogéint datt de Stay in the foreground a schreiwt vill Debug-Informatiounen iwwer déi aktuell Datei. Kuckt de Abschnitt DEBUGGING fir méi Informatioun.

-f Configuratiounsdatei

Gitt eng alternativ Konfiguratioundatei anstelle vun /etc/syslog.conf , deen ass Standard.

-h

Standardiséierungssyslogd gëtt net de Forward geschéckt. Dee Schalter an der Kommandozeechnung feststellt datt de Logdämon fir all Remote-Nacher déi hien kritt hat fir Forwarden ze retartéieren, déi definéiert sinn.

-l Hostell

Gitt e Hostnumm dee benotzt soll nëmme mat sengem einfache Hostnamen a net de fqdn. Multiple hosts kënnen ugewise ginn mat dem Colon (``: '') Separator.

-m Intervall

De Syslogd protokolléiert regelméisseg ze markéieren. De Standardintervall tëscht zwee - MARK - Linnen ass 20 Minutten. Dëst kann mat dëser Optioun geännert ginn. Den Intervall op Null festleege wandert et ganz aus.

-n

Vermeiden Auto-Backgrounding. Dëst ass speziell néideg, wann de Syslogd vun init (8) ugefouert gëtt a kontrolléiert gëtt.

-p Socket

Dir kënnt eng alternativ Unix Domain Socket an / dev / log spezifizéieren.

-r

Dës Optioun erlaabt d'Installatioun eng Noriicht aus dem Netz mat engem Internet Domainsockel mat dem Syslog Service ze kréien (kuckt (5)). De Standard gëtt et keng Noriicht aus dem Netz.

Dës Optioun gëtt an der Versioun 1.3 vun der Sysklogd-Package agefouert. Maacht weg datt de Standardverhalen d'Géigendeel wéi äeren al Versioune sech verännert, well Dir musst dës Säit maachen.

-s DomainWell

Gitt e Domainnamen un, deen sollt virgezunn sinn. Verschidde Domainen kënnen mat dem Doppelpunkt (``: '') ofgeschloss ginn. Gitt weg datt Dir keng Ënnerr domains gegeben hutt, awer nëmmen ganz Domains. Zum Beispill wann -s north.de gëtt spezifizéiert an d'Protokolléierung vum Host ass op Satu.infodrom.north.de keng Domain zougeschnidden ginn, Dir musst zwou Domänen wéi: -s north.de:infodrom.north.de .

-v

Drockversion an Ausfahrt.

-x

De Passwuert änneren net beim Remote Message. Dat vermeide Deadbléiser, wann den Nummerverch op der selweschter Maschinn ass, déi den Syslog Daemon läuft.

Signaler

Syslogd reagéiert op eng Rei vu Signaler. Dir kënnt e Signal ganz einfach op syslogd schécken :

Kill -SIGNAL `cat / var / run / syslogd.pid`

Sighup

Dëst léisst Syslogd e Re-Initialiséierung maachen. All oppene Dateien ginn zougemaach, d'Konfiguratiounsdatei (Standard gëtt /etc/syslog.conf ) erofgelooss ginn an d' Syslog (3) -Option ass erëm ugefaang.

SIGTERM

De Syslogd wäert stierwen.

SIGINT , SIGQUIT

Wann dës Debugging aktivéiert gëtt, ginn se ignoréiert, soss gëtt syslogd stierwen.

SIGUSR1

Den Debugging um / ausschalten. Dës Optioun kann nëmme benotzt ginn, wann syslogd ugefaang mat der -d Debug-Optioun gestartet gëtt .

SIGCHLD

Waart fir Kanner wann e puer gebuer waren, wéinst wall'ing Messagen.

Configuratiounsdatei Syntax Differenzen

Syslogd benotzt e puer aner Syntax fir seng Configuratiounsdatei wéi d'ursprénglech BSD Quelle. Ursprénglech goufen all Message vun enger spezifescher Prioritéit an uewen un d'Logbicher geschéckt ginn.

Zum Beispill, déi folgend Linn verursaacht ALL Dausende vun Dämonen mat der Dämon Installatioun (Debug ass déi niddreg Prioritéit, also all méi héich gëtt mat) fir op / usr / adm / daemons ze kommen :

# Sujet syslog.conf daemon.debug / usr / adm / daemons

Ënnert dem neie Schema bleiwt dëst Verhalen d'selwecht. Den Ënnerscheed ass d'Ergänzung vu véier nei Spezifikatiounen, d'Asterisk ( * ) Platzhalter, d'Gläichungssignal ( = ), d'Ausrufezeeche ( ! ) An d'Minuszeichen ( - ).

De * spezifizéiert datt all Messagen fir dës spezifizéierter Facultéit op de bestëmmte Wee geleet ginn. Bedenkt datt dëst Verhalen degeneréiert ass mat der Prioritéit vum Debug ze spezifizéieren. D'Benotzer hunn uginn datt d'Noterkennung méi intuitiv ass.

D' = Plazplaz gëtt benotzt fir d'Protokolléierung un d'spezifizéierter Prioritéitsklass ze beschränken. Dëst erméiglecht et zB d'Routing nëmmen d'Debug-Nacher an enger spezieller Protokollquelle.

Zum Beispill, d'Zeilennummer vun syslog.conf wäerte Debug Messagen aus allen Quellen direkt op der / usr / adm / Debug- Datei zoumaachen .

# Probe syslog.conf *. = Debug / Usr / adm / Debug

Dee ! gëtt benotzt fir d'Protokolléierung vun de spezifizéierten Prioritéiten auszeschléissen. Dëst beaflossen all (!) Méiglechkeeten fir Prioritéite ze spezifizéieren.

Zum Beispill markéieren déi folgend Linnen sämtlech Messagen vun der Facility Mail, ausser déi mat der Prioritéit Info op d' Datei / usr / adm / mail . An all Noriichte vun news.info (och) zu news.crit (ausgeschloss) wäerte an der / usr / adm / news- Datei protokolléiert sinn .

# Prouwe syslog.conf Mail. *, Mail!! = = / Usr / adm / mail news.info; news.! Crit / usr / adm / news

Dir kënnt et intuitiv als Ausnahmemechanismus benotzen. Déi fräicher Auswertung gëtt einfach ëmgeleet. Maacht dat Dir benotzt

mail.none

oder

Mail *. *

oder

Mail. debug

All Message, déi mat enger Mailbox installéiert ass, gëtt iwwerpréift. Et ass vill Plaz fir ze spillen. :-)

De - Dir kënnt nëmmen e Präfix engem Dateinumm benotzen, wann Dir all dës Schreiwstonnen synchroniséiere wëllt.

Dëst kann d'Aklimatizatioun fir déi Leit, déi zum reinen BSD-Verhalen gebraucht ginn, awer Tester hunn uginn datt dës Syntax méi flexibel ass wéi d'BSD Verhalen. Bedenkt datt dës Ännerungen net u normalen Syslog.conf (5) Dateie sinn. Dir musst d'Konfiguratiounsdateuren spezifesch änneren fir de verbessert Verhalen ze kréien.

Ënnerstetzung fir Remote Logbicher

Dës Ännerungen erlaaben en Ënnerstëtzung vun der Syslogd-Facility. Netzbetreiung heescht datt d'Noriichte vun engem Knäpp weise kënnen syslogd laafen an engem anere Knäpp mat Syslogd lafen, wou se an enger Scheifdatei protokolléiert sinn.

Fir dëst z'aktivéieren, musst Dir d'Option -r op der Kommandozeilegung spezifizéieren. De Standardverhalen ass dat syslogd net op de Netz.

D'Strategie ass en syslogd op eng Unix Domain Socket fir lokal generéiert Logbicher ze lueden. Dëse Verhalensweis erlaabt syslogd fir mat der Syslog an der Standard C Bibliothéik interagéieren. Zur selwechter Zäit héiert syslogd op de Standardsyslog-Hafen fir Noriichte vun anere Hosten. Fir dës Aarbecht richteg ze maachen, sinn d' Servicer (5) Dateien (typesch fonnt an / etc ) mussen de folgende Eintritt hunn:

syslog 514 / udp

Wann dësst Passwuert kee Syslogd fehlt, kann ni keng Ferner Noriicht kréien an se schécken, well de UDP-Port net opgemaach ginn. Stellt och syslogd direkt of, stëppelt eng Fehlermeldung.

Fir Ursachen ze verwierklechen an engem anere Provider weiderzeleeën, ersetzen déi normale Datei Zeil an der syslog.conf Datei mat dem Numm vum Provider, op deen d'Noriichte mat engem @ geschéckt ginn ass.

Zum Beispill, ALL E- Mailen an e Remote-Provider ze benotze mat dem folgenden syslog.conf- Eintrag:

# Sample syslogd Konfiguratiounsdatei an # E-Mailen an e Remote-Host virun allem. *. * @hostname

Fir all kernel Message un e Remote Host z'erzielen, ass d'Konfiguratiounsdatei esou:

# Konfiguratiounsdatei vum Konfiguratiounsdatei fir all Kernel # Messagen an engem Remote Host virzeliesen. kern. * @hostname

Wann de Remote HostName beim Startup net opgeléist ginn ass, well den Nummerserver net zougänglech ass (et kann no der Syslogd ugefaangen ginn) musst Dir keng Gedanken maachen. Syslogd versprécht d'zéngmol den Numm ze léisen an dann beschwéiert. Eng aner Méiglechkeet dat ze vermeiden ass den Hostnamen an / etc / hosts .

Mat normalen Syslogd hutt Dir Syslog-Loop kritt, wann Dir Botschaften schéckt, déi vun engem Remote Host zu dem selwechten Host geschéckt ginn (oder méi komplizéiert fir e drëtte Host deen et an d'éischt erstallt an esou weider). An mengem Domän (Infodrom Oldenburg) hu mir versammelt eent an eis Platten hunn déi selwecht Single Message gemaach. :-(

Fir dëst ze vermeiden nach keng Meldungen, déi aus engem Remote Host erhieft ginn, ginn an engem aneren (oder eelste) Remote Host geheescht. Wann et Szenarie sinn, wou dat net Sënn mécht, gitt mir (Joey) eng Linn.

Wann de Remote Host an der selwechter Domain wéi de Provider geläscht gëtt, gëtt syslogd ausgeführt , nëmmen de einfache HostName gëtt protokolléiert anstatt de ganzen fqdn.

An engem lokalen Netzwierk kann Dir e Logbuch vun engem zentrale Logbuch ubidden fir all déi wichteg Informatioune vun enger Maschinn ze hunn. Wann de Réseau aus verschiddene Beräicher steet, musst Dir net beschwéieren datt Dir ganz qualifizéiert Nimm ass wéi an einfache Hostnamen. Dir wëllt d'Band-Domain-Feature -s vun dësem Server benotzen. Dir kënnt d' Syslogd soen , verschidden Domänen z'erreechen wéi déi, déi de Server ass an nëmmen logesch Hostnames ze protokolléieren.

Benotz den -l Option ass och e Méiglechkeet fir eenzel Gastgeber als lokale Computer ze definéieren. Dëst gëllt och fir se nëmme einfacht Hostnumm ze notzen an net déi fqdns.

D'UDP-Socket benotzt fir d'Noriichten an d'Remissereien ze forwarden oder d'Botschaft vuneneen ze kréien kréien nëmme geännert wann et néideg ass. Bei Releases vu 1.3 bis 23 Auer gouf et all Kéier opgemaach, awer net fir Liesen oder Forwarden geöffnet.

Ausgab zu Named Pipes (FIFO)

Dës Versioun vum syslogd huet d'Ënnerstëtzung vum Protokoll vun den genannten Pipes (Fifos) ënnerstëtzt. E FIFO oder genannt Pipe kann als Destinatioun fir Logbicher benotzt ginn andeems en e Pipi-Symbol (`` | '') op den Numm vum Fichier ofgebaut gëtt. Dëst ass praktesch fir Debuggen. Fuerderen datt de FIFO mat dem Befehl mkfifo geschaf ginn ier de syslogd ugefaang ass.

Déi folgend Konfiguratiounsdateien route Debug Messagen aus dem Kernel zu enger Fifo:

# Préift Konfiguratioun fir de Kernel Debuggen # E-Mail NEMMEN / usr / adm / debug ze maachen, dat ass en # genannt Pipe. kern. = debug | / usr / adm / debug

Installatioun Concerten

Et gëtt wahrscheinlech eng wichteg Roll bei der Installatioun vun dëser Versioun vu syslogd. Dës Versioun vum syslogd ass ofhängeg vun der korrekt Formatéierung vun den Messagen vun der Syslog-Funktion. D'Funktioun vun der Syslog Funktion an de gemeinsam Bibliothéiken war iergendwou an der Regioun libc.so.4 geännert. [2-4] .n. Déi spezifesch Ännerung war d'Null-Enn-Message ze korrigéieren, ier se se an den / dev / Log Socket überträgt. D'Funktioun vun dëser Versioun vum syslogd ass ofhängeg vun der Nulltemminatioun vun der Noriicht.

Dëse Problem wäert normalerweis ervirsträichen ob al statistesch verbonne binäre Bicher op dem System benotzt ginn. Binaries mat alen Versioune vun der Syslog-Funktion veruersaachen lee Zeilen ze protokolléieren an duerno mat der éischt Zeechen an der Message rembourséiert ginn. Verknüpfung vun dëse Bicher op nei méi nei Versioune vun de gemeinsame Bibliothéik korrigéiert dëse Problem.

Six syslogd (8) an de Klogd (8) kënnen entweder vun init (8) lafen oder als Deel vun der rc * * Sequenz begonnen ginn. Wann et ugefangen gëtt vun init d'Option -n muss gesat ginn, soss wäerte Dir Tonnen vu Syslog Daemonen kréien. Dëst ass well Init (8) hängt vun der Prozess ID.

Sécherheetsdrock

Et gëtt de Potenzial fir den syslogd Daemon als Conduit fir eng Verleetznung vum Service Attack benotzt. Merci un den John Morrison (jmorriso@rflab.ee.ubc.ca) fir mech op dësen Potenzial ze alertéieren. E Schuedprogramm (mer) kéint ganz einfach den Syslogd-Daemon mat Syslog-Botschaften fléien, déi zu de Log-Dateien erofhuelen déi all de verbleffe Raum op dem Dateiesystem verbrauchen. Aktivéiert d'Protokolléierung vun den Inet-Domänen-Docker natierlech och e System fir Risiken ausserhalb vu Programmer oder Leit op der lokaler Maschinn erauszekréien.

Et gi verschidde Methoden fir eng Maschinn ze schützen:

  1. Korrigéiere vun der Kernel Firewall fir ze limitéieren wat hôtelt oder Netzwierker Zougang zum 514 / UDP-Socket hunn.
  2. Logged ginn op e isoléiert oder net-root-Dateisystem geleet, deen, wann gefüllt, d'Maschinn net verschlechtert.
  3. Den ext2-Dateisystem kann benotzt ginn, dee konfiguréiert kënne ginn fir e gewësse Prozentsaz vun engem Dateisystem op d'Benotzung nëmmen duerch root ze beschränken. HËBLECH datt dëst Syslogd muss als net-root-Prozess erfuerderlech sinn. AUSSOEN NOTÉIERT, datt dëst d'Verwäertung vun der Fernentrëff verhënnert, well syslogd kann net an d'514 / UDP-Socket binden.
  4. D'Inet-Domäner-Dockets deaktivéieren limitéieren den Risiko op déi lokal Maschinn.
  5. Benotzt Schrëtt 4 a wann de Problem weider geet an net sekundär ass op e Rogue-Programm / Daemon en 3,5m (1m) Längt vun Sauerstull * an hunn e Gespréich mam Benotzer opgefuerdert. Sucker rod def. --- 3/4, 7/8 oder 1in. gehämmt Stahlstéck, männlech an all Enn gefëmmt. Primärnutzung an der Ölindustrie an der Westeuropa North Dakota an an aneren Orte fir "Saugen" Ueleg aus Uelegbunnen ze pumpen. D'Secondaire benotzt fir d'Konstruktioun vu Véirën d'Fudder fir ze vill an zum Ëmgang mat der heiansdo rekalzitant oder kräizent Persoun.

Debuggen

Wann de Debugging op d'Benotzung vu -d opgelooss gëtt, gëtt syslogd ganz verbose wann et vill ze schreiwen wat et op stdout mécht. Wann d 'Konfiguratiounsdatei eran gedréckt an erëm gepost gëtt, gesitt Dir eng tabulär, déi der interner Datebank entsprécht. Dës tabellaresch ass aus vier Felder:

Zuel

Dëst Feld enthält eng Haaptzuel nom Startschoss. Dës Nummer stellt d'Positioun an der interner Datebank (dh d'Array). Wann eng Nummer ofgelenkt gitt ass et e Feeler an der entspriechender Zeil an /etc/syslog.conf .

Muster

Dëst Feld ass schwiereg a vertrëtt d'intern Struktur net genee. All Kolonn steet fir eng Facilitéit (kuckt op Syslog (3)). Wéi Dir gesitt, sinn et nach e puer Ariichtungen déi nach fréier gebraucht goufen, just déi lénks meescht sinn benotzt. All Felder an enger Kolonn representéiert d'Prioritéite (kucke op Syslog (3)).

Aktioun

Dëst Feld beschreift déi speziell Aktioun déi alleng ass, wann eng Message mat dem Muster entsprécht. Gitt op d' Syslog.conf (5) Manpage fir all méiglech Aktiounen.

Argumenter

Dëst Feld weist zousätzlech Argumenter fir d'Aktiounen am leschte Feld. Fir Datei-Protokoll dat ass de Dateinumm fir den Logfile; fir Benotzer-Protokolléieren ass eng Lëscht vun de Benotzer; fir d 'Fernmeldung dat ass de HostName vun der Maschinn fir ze protokolléieren; fir Konsole-Protokolléierung ass d'gebrauchte Konsole; fir tty-protokolléieren dat ass de spéideren Tty; Mauer huet keng aner Argumenter.

Kuck och

Logger (1), syslog (2), (5)

Collaborators

Syslogd ass aus BSD Quellen agefouert, de Greg Wettstein (greg@wind.enjellic.com) huet den Hafen op Linux gemaach , Martin Schulze (joey@linux.de) huet e puer Bugs fixéiert an huet méi nei Features gesat. Klogd gouf ursprénglech vum Steve Lord geschriwwen (lord@cray.com), Greg Wettstein huet grouss Verbesserungen gemaach.

Dr. Greg Wettstein
Enjellic Systems Development

Onkologescher Research Division Computing Facility
Roger Maris Cancer Center
Fargo, ND
greg@wind.enjellic.com

Stephen Tweedie
Departement fir Informatik
Edinburgh University, Schottland
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Infodrom Oldenburg
joey@linux.de

Wichteg: Benotzt de Mann Kommando ( % Mann ) fir ze kucken wéi e Kommando op Äre Computer benotzt.

Verbonnen Artikelen