Skip to main content

Syslogd Linux in Unix ukaz

Anonim

Sysklogd ponuja dve sistemski pripomočki, ki zagotavljajo podporo za sistemsko beleženje in zajemanje sporočil jedra. Podpora internetnih in enotnih domenskih vtičnic omogoča, da ta pripomoček podpira lokalno in oddaljeno sečnjo.

Sistemski dnevnik je na voljo z različicosyslogd(8), ki izhajajo iz virov zalog BSD. Podpora za sečnjo jedra zagotavljaklogd(8), ki omogoča, da se jemanje v jedru izvaja samostojno ali kot stranka syslogd.

Syslogd ponuja vrsto dnevnika, ki ga uporabljajo številni sodobni programi. Vsako zabeleženo sporočilo vsebuje najmanj časovno polje in ime gostitelja, običajno tudi polje z imenom programa, vendar je odvisno od tega, kako zanesljiv je program za dnevnike.

Medtem kosyslogd viri so bile močno spremenjene, nekaj noter je v redu. Najprej je bil sistematičen poskus zagotoviti, da syslogd sledi svojemu privzetemu, običajnemu vedenju BSD. Drugi pomemben koncept, ki ga je treba opozoriti, je, da ta različica syslogd deluje pregledno z različico syslog, ki je bila najdena v standardnih knjižnicah. Če binarna povezava s standardnimi knjižnicami v skupni rabi ne deluje pravilno, bi želeli primer nepravilnega vedenja.

Glavna konfiguracijska datoteka /etc/syslog.conf ali drugo datoteko, podano z-f možnost, se ob zagonu bere. Vse vrstice, ki se začnejo z oznako hash (`` # '') in prazne vrstice, se prezrejo. Če pride do napake pri razčlenjevanju, se celotna vrstica ne upošteva.

Povzetek

syslogd -a vtičnica -d -f konfiguracijska datoteka -H -l seznam gostiteljev -m interval -n -p vtičnica -r -s domainlist -v -x

Opcije

-a vtičnica

S tem argumentom lahko določite dodatne vtičnice iz tegasyslogd mora poslušati. To je potrebno, če boste dovolili, da se neki daemon izvaja v okolju chroot (). Uporabite lahko do 19 dodatnih vtičnic. Če vaše okolje potrebuje še več, morate povečati simbolMAXFUNIX znotraj izvorne datoteke syslogd.c. Primer za demon chroot () opisujejo ljudje iz OpenBSD na http://www.psionic.com/papers/dns.html.

-d

Vklopi postopek odpravljanja napak. Uporaba tega demona ne bo nadaljevalavilice(2), da se nastavite v ozadju, nasprotno pa ostanejo v ospredju in napišete veliko debugnih informacij o trenutnem tty. Za več informacij glejte razdelek DEBUGGING.

-f konfiguracijska datoteka

Namesto nastavite drugo datoteko /etc/syslog.conf , kar je privzeto.

-H

Po privzetku syslogd ne bo posredoval sporočil, ki jih prejme od oddaljenih gostiteljev. Določitev tega stikala v ukazni vrstici bo povzročila, da bi dnevnik dnevnika posredoval vsa oddaljena sporočila, ki jih prejme, za posredovanje gostiteljev, ki so bili definirani.

-l seznam gostiteljev

Navedite ime gostitelja, ki bi ga bilo treba registrirati samo s preprostim imenom gostitelja, ne pa s fqdn. Več gostiteljev je mogoče določiti s pomočjo ločila debelega črevesa (``: '').

-m interval

Thesyslogd redno beleži časovni žig znamke. Privzeto interval med dvema - MARK - linije je 20 minut. To možnost lahko spremenite s to možnostjo. Nastavitev interval do nič se izklopi v celoti.

-n

Izogibajte se samodejnemu ozadju. To je potrebno zlasti, česyslogd se začne in nadzirav(8).

-p vtičnica

Namesto. Lahko določite alternativno vtičnico za Unix / dev / log .

-r

Ta možnost bo objektu omogočila prejemanje sporočila iz omrežja z vtičnico internetne domene s storitvijo syslog (glej (5)). Privzeto je, da ne prejmete nobenega sporočila iz omrežja.

Ta možnost je predstavljena v različici 1.3 paketa sysklogd. Upoštevajte, da je privzeto vedenje v nasprotju s tem, kako se starejše različice obnašajo, zato boste morda morali to vklopiti.

-s domainlist

Določite ime domene, ki ga je treba pred prijavo odstraniti. Več razdelkov se lahko določi z uporabo ločila debelega črevesa (``: ''). Upoštevajte, da poddomen ne morete podati, temveč samo celotne domene. Na primer, če-s north.de je določen in se beleženje gostitelja razreši na satu.infodrom.north.de, nobena domena ne bi bila zmanjšana, morate določiti dve domeni, kot so:-s north.de:infodrom.north.de.

-v

Različica za tiskanje in izstop.

-x

Onemogočite lookups pri prejemu oddaljenih sporočil. S tem se izognete zaprtim blokom, ko se nameserver izvaja na istem računalniku, ki zažene syslog daemon.

Signali

Syslogd reagira na niz signalov. Z lahkoto lahko pošljete signalsyslogd uporabite naslednje:

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

Sighup

To omogočasyslogd izvedite ponovno inicializacijo. Vse odprte datoteke so zaprite, konfiguracijska datoteka (privzeto je /etc/syslog.conf ) se bo ponovno prebralo insyslog(3) se objekt ponovno začne.

SIGTERM

Thesyslogd bo umrl.

SIGINT, SIGQUIT

Če je omogočeno odpravljanje napak, se te ne upoštevajo, drugačesyslogd bo umrl.

SIGUSR1

Vklopite / izklopite odpravljanje napak. To možnost lahko uporabite samo, česyslogd se začne s-d možnost odpravljanja napak.

SIGCHLD

Počakajte otroke, če so se nekateri rodili zaradi stenskih sporočil.

Razlike v sintaksi v konfiguracijski datoteki

Syslogd uporablja malo drugačno sintakso za svojo konfiguracijsko datoteko kot izvorni viri BSD. Prvotno so bila vsa sporočila določene prioritete in zgoraj posredovana v datoteko dnevnika.

Na primer, naslednja vrstica je povzročila VSE izhode od demonov z uporabo objektov daemon (debug je najnižja prednostna naloga, tako da bo vsaka višja tudi ustrezala), da bi šla v / usr / adm / demoni :

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

V skladu z novo shemo to vedenje ostaja enako. Razlika je dodatek štirih novih oznak, zvezdico (*), znak enačbe (=), klicaj (!) in znak minus (-).

The* določa, da se vsa sporočila za določen objekt usmerijo v cilj. Upoštevajte, da je to vedenje degenerirano z določitvijo stopnje prednostne stopnje razhroščevanja. Uporabniki so pokazali, da je oznaka zvezdica bolj intuitivna.

The= nadomestni znak se uporablja za omejitev prijave v določen razred prednostnega razreda. To omogoča, na primer, usmerjanje samo razhroščevalnih sporočil v določen vir vira.

Na primer, naslednja vrstica v syslog.conf bi usmerjevala razhroščevalna sporočila iz vseh virov v / usr / adm / debug mapa.

# Vzorec syslog.conf *. = Debug / usr / adm / debug

The! se uporablja za izključitev beleženja določenih prednostnih nalog. To vpliva na vse (!) Možnosti določanja prednostnih nalog.

Na primer, naslednje vrstice bi zabeležile vsa sporočila poštne pošiljke, razen tistih s prednostnimi informacijami na / usr / adm / pošta mapa. In vsa sporočila iz news.info (vključno) do news.crit (brez) bi bila prijavljena v / usr / adm / novice mapa.

# Vzorec syslog.conf pošte. *; Pošta.! = Info / usr / adm / mail novice.info; novice.! Crit / usr / adm / novice

Uporabite ga lahko intuitivno kot izjemo. Omenjena razlaga je preprosto obrnjena. To lahko storite

mail.none

ali

pošta.! *

ali

pošta.! debug

da preskočite vsa sporočila, ki prihajajo s storitvijo pošte. Z njim je veliko prostora. :-)

The- se lahko uporabi samo za predpono imena datoteke, če želite, da po vsaki pisavi ne želite sinhronizirati datoteke.

To lahko zahteva aklimatizacijo za tiste posameznike, ki se uporabljajo za čisto vedenje BSD, vendar so testerji pokazali, da je ta sintaksa nekoliko prožnejša od vedenja BSD. Upoštevajte, da te spremembe ne smejo vplivati ​​na standardsyslog.conf(5) datotek. Za izboljšano vedenje morate posebej spremeniti konfiguracijske datoteke.

Podpora za oddaljeno prijavo

Te spremembe zagotavljajo omrežno podporo objektu syslogd. Omrežna podpora pomeni, da se lahko sporočila pošljejo iz enega vozlišča, ki se izvaja syslogd, v drugo vozlišče, ki se izvaja syslogd, kjer bodo dejansko prijavljeni v datoteko diska.

Če želite to omogočiti, morate določiti-r možnost v ukazni vrstici. Privzeto vedenje je tosyslogd ne posluša omrežja.

Strategija je, da ima syslogd poslušati v vtičnici unix domene za lokalno ustvarjena dnevnika sporočil. To vedenje bo omogočilo, da syslogd interoperira s sslogom, ki je v standardni knjižnici C. Hkrati syslogd posluša na standardnem portalu syslog za sporočila, posredovana drugim gostiteljem. Da bi to pravilno opravilistoritev(5) datotek (običajno najdemo v / etc ) mora imeti naslednji vnos:

syslog 514 / udp

Če ta vnos manjkasyslogd niti ne morejo sprejemati oddaljenih sporočil niti jih ne pošiljati, ker se vrata UDP ne morejo odpreti. Namesto tega, syslogd bo takoj umrl, pihal sporočilo o napaki.

Če želite sporočila poslati drugemu gostitelju, zamenjajte običajno vrstico datoteke v syslog.conf datoteko z imenom gostitelja, na katerega naj bodo sporočila poslana s @.

Na primer, za posredovanjeVSE sporočila oddaljenemu gostitelju z uporabo naslednjega syslog.conf vnos:

# Vzorec konfiguracijske datoteke syslogd na # sporočila oddaljenemu gostitelju posredujte vse. *. * @hostname

Za posredovanje vsehjedro sporočila oddaljenemu gostitelju bi bila konfiguracijska datoteka naslednja:

# Vzorec konfiguracijske datoteke za posredovanje vseh sporočil jedra # oddaljenemu gostitelju. kern. * @hostname

Če oddaljenega gostitelja ni mogoče odpraviti ob zagonu, ker name-strežnik morda ni dostopen (se lahko zažene po syslogd), vam ni treba skrbeti.Syslogd bo ponovno poskusil, da desetkrat razreši ime, nato pa se pritoži. Druga možnost, da se to izognete, je, da vnesete ime gostitelja v / etc / hosts .

Z normalnosyslogds dobite syslog-zanke, če pošljete sporočila, ki so bila sprejeta od oddaljenega gostitelja na isti gostitelj (ali bolj zapletena tretjemu gostitelju, ki jo pošlje nazaj na prvo, in tako naprej). V moji domeni (Infodrom Oldenburg) smo nenamerno dobili enega in naši diski napolnili z enim samim sporočilom. :-(

Da bi se temu izognili v prihodnosti, nobena sporočila, ki so bila sprejeta od oddaljenega gostitelja, niso več poslana na drug (ali isti) oddaljeni gostitelj. Če obstajajo scenariji, kjer to ni smiselno, prosim spustite me (Joey) črto.

Če se oddaljeni gostitelj nahaja na isti domeni kot gostitelj,syslogd se vklopi, namesto celotnega fqdn bo prijavljen samo preprosto ime gostitelja.

V lokalnem omrežju lahko posredujete osrednji dnevniški strežnik, da so na enem računalniku shranjeni vsi pomembni podatki. Če je omrežje sestavljeno iz različnih domen, vam ni treba pritoževati, da prijavite polno kvalificirana imena namesto preprostih imen gostiteljev. Morda boste želeli uporabiti funkcijo strip-domain-s tega strežnika. Lahko povešsyslogd da odstranite več domen, razen tistega, na katerem se nahaja strežnik, in samo prijavite preproste imena gostiteljev.

Uporabljati-l možnost obstaja tudi možnost, da se posamezni gostitelji opredelijo kot lokalni stroji. Tudi to privede do prijave samo njihovih preprostih imen gostiteljev in ne fqdns.

Vtičnica UDP, ki se uporablja za posredovanje sporočil oddaljenim gostiteljem ali prejemanje sporočil od njih, se odpre le, ko je to potrebno. V izpustih pred 1.3-23 je bil odprt vsakič, ne pa tudi za branje ali posredovanje.

Izhod do imenovanih cevi (FIFO)

Ta različica syslogd podpira izpisovanje v imenske cevi (fifos). Fifo ali imenovana cev lahko uporabite kot destinacijo za sporočila dnevnika, tako da napišete simbol pip (`` | '') na ime datoteke. To je priročno za odpravljanje napak. Upoštevajte, da mora biti fifo ustvarjen z ukazom mkfifo, preden se začne syslogd.

Naslednja konfiguracijska datoteka usmerja sporočila za razhroščevanje iz jedra v fazo:

# Vzorec konfiguracije za usmerjanje kernelov razhroščevanje # sporočil SAMO v / usr / adm / debug, ki je # imenovan cev. kern. = debug | / usr / adm / debug

Namestitev Concerns

Pri namestitvi te različice syslogd je verjetno ena pomembna skrb. Ta različica syslogd je odvisna od pravilnega oblikovanja sporočil s funkcijo syslog. Delovanje funkcije syslog v skupnih knjižnicah se je spremenilo nekje v regiji libc.so.4 2-4 .n. Posebna sprememba je bila, da sporočilo prekličete, preden ga pošljete na / dev / log vtičnica. Pravilno delovanje te različice syslogd je odvisno od ničle končanja sporočila.

Ta težava se običajno manifestira, če se v sistemu uporabljajo stare statično povezane binarne datoteke. Binarne datoteke z uporabo starejših različic funkcije syslog bodo povzročile, da bodo zabeležene prazne vrstice, nato pa sporočilo s prvim znakom v odstranjenem sporočilu. Ta problem se bo odpravil s preusmeritvijo teh binarnih datotek na novejše različice knjižnic v skupni rabi.

Obasyslogd(8) inklogd(8) lahko poteka bodisi iz init (8) bodisi se začne kot del zaporedja rc. *. Če se začne z možnostjo initiranja -n morate nastaviti, sicer boste dobili tone syslog demonov. To je zato, kerv(8) je odvisna od ID-ja procesa.

Varnostne grožnje

Obstaja možnost, da se syslogd daemon uporabi kot kanal za napadi zavrnitve storitve. Hvala, da pojdite na John Morrison ([email protected]), da me opozorite na ta potencial. Zločinski program (mer) bi lahko zelo enostavno poplavil syslogd daemon s sporočili syslog, zaradi česar so datoteke dnevnika porabile ves preostali prostor v datotečnem sistemu. Aktiviranje beleženja preko vtičnic domene inet bo seveda izpostavilo sistem tveganjem zunaj programov ali posameznikov na lokalnem računalniku.

Obstaja več načinov za zaščito stroja:

  1. Implementirajte požarni zid jedra, da omejite, kateri gostitelji ali omrežja imajo dostop do vtičnice 514 / UDP.
  2. Logiranje se lahko usmeri v izolirani ali nekorenski datotečni sistem, ki, če je napolnjen, ne bo oviral naprave.
  3. Datotečni sistem ext2 se lahko uporabi, ki ga je mogoče konfigurirati tako, da določen odstotek datotečnega sistema omeji samo na root.OPOMBA da bo to zahtevalo, da se syslogd izvaja kot nekorenski postopek. TUDI OPOMBA da bo to preprečilo uporabo oddaljenega zapisovanja, saj se syslogd ne bo mogel povezati s vtičnico 514 / UDP.
  4. Onemogočanje vtičnic domene inet bo omejilo tveganje za lokalni računalnik.
  5. Uporabite korak 4 in če se težava še naprej odpravi in ​​ni sekundarna za prevarantski program / daemon, dobite 3,5-palčno dolžino droga za sesirje * in se pogovorite z zadevnim uporabnikom. Sesalna palica def. --- 3/4, 7/8 ali 1in. utrjena jeklena palica, moški navoj na vsakem koncu. Primarna uporaba v naftni industriji v zahodni Severni Dakoti in na drugih lokacijah za črpanje "sesati" olje iz naftnih vodnjakov. Sekundarne rabe so za gradnjo goveda in za obravnavo občasnega nepremagljivega ali vojskovalnega posameznika.

Razhroščevanje

Ko je odpravljanje napak vklopljeno-d potem možnostsyslogd bo zelo pomešan, tako da piše veliko o tem, kaj počne na stdoutu. Kadarkoli se ponovno preberi in ponovno razčleni konfiguracijska datoteka, se prikaže tabela, ki ustreza notranji strukturi podatkov. To tabelo sestavljajo štiri polja:

številka

To polje vsebuje serijsko številko, ki se začne z ničlo. To število predstavlja položaj v notranji podatkovni strukturi (to je matriki). Če je ena številka izpuščena, je morda v ustrezni vrstici prišlo do napake /etc/syslog.conf .

vzorec

To polje je težavno in natančno predstavlja notranjo strukturo. Vsak stolpec pomeni objekt (glejsyslog(3)). Kot lahko vidite, še vedno obstajajo nekateri prostori, ki so za nekdanjo uporabo ostali brezplačni, uporabljajo se le levi najbolj. Vsako polje v stolpcu predstavlja prednostne naloge (glejsyslog(3)).

ukrepanje

V tem polju je opisano posamezno dejanje, ki se izvede, ko prejmete sporočilo, ki se ujema z vzorcem. Glejtesyslog.conf(5) za vse možne ukrepe.

argumente

To polje prikazuje dodatne argumente za dejanja v zadnjem polju. Za prijavo v datoteko je to ime datoteke za log datoteko; za prijavo uporabnika je seznam uporabnikov; za oddaljeno prijavo je ime gostitelja za prijavo v račun; za konzolo sečnje je to uporabljena konzola; za tty-logging je to tty; stena nima nobenih dodatnih argumentov.

Poglej tudi

logger(1), syslog(2), (5)

Sodelavci

Syslogd je vzeto iz virov BSD, Greg Wettstein ([email protected]) je pristanišče na Linuxu, Martin Schulze ([email protected]) popravil nekaj napak in dodal nekaj novih funkcij.Klogdje bil prvotno napisal Steve Lord ([email protected]), Greg Wettstein je naredil velike izboljšave.

Dr. Greg WettsteinEnjellic Systems Development

Raziskovalni oddelek za računalniške raziskaveRoger Maris Cancer CenterFargo, ND[email protected]

Stephen TweedieOddelek za računalništvoUniverza Edinburgh, Škotska[email protected]

Juha Virtanen[email protected]

Shane Alderton[email protected]

Martin SchulzeInfodrom Oldenburg[email protected]

Pomembno: Uporabi človek ukaz ( % človek ), da vidite, kako se na vašem računalniku uporablja ukaz.

povezani članki

  • sysklogd - ukaz Linux Linux - Unix
  • rwall - Kaj je Rwa