Syslogd Linux ja Unix Command

Sysklogd pakub kaht süsteemi kommunikatsiooni, mis toetab süsteemi logimist ja kerneli sõnumilõksu. Nii Interneti-kui ka unix- domeenide pistikupesade toetamine võimaldab seda utiliidi paketti toetada nii kohalikku kui ka kaugmärgistamist.

Süsteemi logimine toimub syslogd (8) versioonilt, mis on tuletatud varude BSD allikatest. Kerneli logimise toetust pakub klogd (8) utiliit, mis võimaldab kerneli logimist teostada kas iseseisvalt või syslogdi kliendina.

Syslogd pakub teatavat metoodikat, mida paljud kaasaegsed programmid kasutavad. Iga sisselogitud sõnum sisaldab vähemalt aega ja hostinime välja, tavaliselt ka programmi nimi, kuid see sõltub sellest, kui usaldusväärne on logimisprogramm.

Kuigi syslogdi allikaid on oluliselt muudetud, on paar märket korras. Esiteks on toimunud süstemaatiline katse tagada, et syslogd järgib vaikimisi standardse BSD käitumist. Teine tähtis mõiste on see, et see syslogdi versioon suhtleb läbipaistvalt syslogi versiooniga, mis on leitud standard raamatukogudes. Kui standardsete jagatud raamatukogudega ühendatud binaar ei toimi korrektselt, tahaksime näidata anomaalset käitumist.

Peamise konfiguratsioonifaili /etc/syslog.conf või alternatiivne fail, mis on antud -f-ga , loetakse käivitamisel. Kõik read, mis algavad räsimärgiga (`` # '') ja tühjad read, ignoreeritakse. Kui parsimisel ilmneb viga, ignoreeritakse kogu joont.

Kokkuvõte

[ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ -h ] [ -l hosti nimekiri ] [ -m intervalli ] [ -n ] [ -p socket ] [ -r ] v ] [ -x ]

Valikud

- pistikupesa

Selle argumendi abil saate määrata täiendavad pistikupesad, mida syslogd peab kuulama. See on vajalik, kui lasete mõnel deemonil töötada chroot () keskkonnas. Saate kasutada kuni 19 täiendavat pistikupesa. Kui teie keskkond vajab veelgi rohkem, peate syslogd.c lähtefaili suurendama sümboli MAXFUNIX . Näited chroot () deemonist kirjeldavad OpenBSD-i inimesed aadressil http://www.psionic.com/papers/dns.html.

-d

Lülitab silumisrežiimi. Selle abil ei toeta deemon selle, et ennast taustal asetada, kahvlit (2), kuid vastupidi sellele jääb esiplaanile ja kirjutama praeguse tty kohta palju silumisteavet. Lisateavet leiate peatükist DEBUGGING.

-f config fail

Määrake alternatiivne konfiguratsioonifail faili /etc/syslog.conf , mis on vaikimisi.

-h

Vaikimisi ei edasta syslogd kaughastest saabuvaid kirju. Selle käsureali sisselülitamisel tuleb logi deemonil edastada kõik serverisse saadetud serverid, mis on määratud määratletud hostide edastamiseks.

-l hostlist

Määra hostinimi, mida tuleks sisse logida ainult selle lihtsa hostinimega, mitte fqdn-ga. Mitu võõrustajat võib täpsustada käärsoole (``: '') eraldajaga.

-m intervall

Syslogd logib regulaarselt märgi ajatempli. Vahekaugus kahe MARK- rida vahel on 20 minutit. Seda saab seda võimalust muuta. Intervalli seadistamine nulliks lülitab selle täielikult välja.

-n

Vältige automaatset taustamist. Seda on vaja eelkõige siis, kui syslogd käivitatakse ja kontrollitakse init (8).

-p pistikupesa

Saate määrata / dev / logi asemel alternatiivse unix domeeni sokli.

-r

See suvand lubab raadiosolekul saada sõnumit võrgust, kasutades syslogiteenusega Interneti-domeeni pistikut (vt punkt 5). Vaikimisi ei saa võrku saata ühtegi sõnumit.

See suvand kuvatakse sysklogdi paketi versioonis 1.3. Pidage meeles, et vaikimisi käitumine on vastupidine sellele, kuidas vanemad versioonid käituvad, seega peate selle sisse lülitama.

-s domeeninimekiri

Määrake domeeninimi, mida tuleks enne logimist ära võtta. Mitu domeeni võib täpsustada käärsoole (``: '') eraldajaga. Pange tähele, et ükski alamdomeen ei pruugi olla määratud, vaid ainult terved domeenid. Näiteks kui -s north.de on määratud ja hosti logimine lahendab satu.infodrom.north.de domeeni ei lõigata, peate määrama kaks domeeni, näiteks: -s north.de:infodrom.north.de .

-v

Prindiversioon ja väljumine.

-x

Kaugsõnumite vastuvõtmisel keelake nime otsingud. See väldib seiskamist, kui nimiserver töötab samal masinal, mis käitab syslog deemoni.

Signaalid

Syslogd reageerib signaalide komplektile. Võite kergesti saata signaali syslogdile, kasutades järgmist:

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

Sighup

See lubab syslogd uuesti initsialiseerida. Kõik avatud failid on suletud, konfiguratsioonifail (vaikimisi on /etc/syslog.conf ) loendatakse uuesti ja syslog (3) käivitatakse uuesti.

SIGTERM

Syslogd sureb.

SIGINT , SIGQUIT

Kui silumine on lubatud, ignoreeritakse, muidu syslogd sureb.

SIGUSR1

Vaheta silumine sisse / välja. Seda võimalust saab kasutada ainult siis, kui syslogd käivitatakse -d debug võimalusega.

SIGCHLD

Oodake lapsi, kui keegi on sündinud sõnumite seinakatte tõttu.

Konfiguratsiooni faili süntaksi erinevused

Syslogd kasutab konfiguratsioonifaili jaoks veidi teistsugust süntaksi kui originaal BSD allikad. Algselt edastati logifailile kõik konkreetsed prioriteedid ja eelmised sõnumid.

Näiteks järgmine joon tekitas daemonist kõikidest väljunditest daemonid (silumine on madalaim prioriteet, seega sobib ka iga suurem), et minna sisse / usr / adm / daemonid :

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

Uue skeemi kohaselt jääb see käitumine samaks. Erinevus on neli uut spetsifikaatorit, tärn ( * ), metamärki, võrrandi tähis ( = ), hüüumärk ( ! ) Ja miinusmärk ( - ).

* Määrab, et kõik määratud rajatise sõnumid suunatakse sihtkohta. Pidage meeles, et see käitumine on degeneratsioon, täpsustades silumise eelistustaset. Kasutajad on näidanud, et tärnide märgistus on intuitiivsem.

The = wildcard kasutatakse selleks, et piirata sisselogimist määratud prioriteetsusklassi. See võimaldab näiteks marsruutimine ainult silumispõhiseid sõnumeid konkreetse logimisallikaga.

Näiteks suunab syslog.conf järgmine rida kõikide allikate silumispõhiseid kirju / usr / adm / debug faili.

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

The ! kasutatakse selleks, et välistada määratud prioriteetide logimine. See mõjutab kõiki (!) Võimalusi prioriteetide täpsustamiseks.

Näiteks järgnevad read salvestavad kogu rajatiste kirjad, välja arvatud need, kellel on / usr / adm / maili prioriteedi info. Ja kõik sõnumid news.info (kaasa arvatud) news.crit (välja arvatud) salvestatakse / usr / adm / uudistefaili .

# Sample syslog.conf posti. *; Post.! = Info / usr / adm / mail news.info; uudised! Crit / usr / adm / news

Võite seda kasutada intuitiivselt erandite spetsifikatsioonina. Eespool nimetatud tõlgendus on lihtsalt ümberpööratud. Seda saate kasutada

mail.none

või

posti teel! *

või

posti.! debug

jätma vahele kõik sõnumid, mis kaasnevad e-posti vahendiga. Sellega on palju ruumi. :-)

Seda saab kasutada ainult faili nime lisamiseks, kui soovite katkestada faili sünkroonimise iga kirja järel.

See võib võtta mõningase aklimatiseerimise nendele üksikisikutele, kes kasutavad puhast BSD käitumist, kuid testijad on näidanud, et see süntaks on mõnevõrra paindlikum kui BSD käitumine. Pange tähele, et need muudatused ei tohiks mõjutada standardseid syslog.conf (5) faile. Täiustatud käitumise saamiseks peate täpsemalt muutma konfiguratsioonifailid.

Remote Logging tugi

Need muudatused pakuvad võrgutoetust syslogdi rajatisele. Võrgutugi tähendab seda, et sõnumeid saab edastada ühest sõlmisest, mis töötab syslogd teise syslogdiga töötava sõlmega, kus nad tegelikult logitakse kettfaili.

Selle lubamiseks peate käsurida määranud -r . Vaikimisi käitumine on see, et syslogd ei kuula võrku.

Strateegia eesmärk on, et syslogd kuulaks unix domeeni sokkel kohalikult loodud logiteateid. Selline käitumine võimaldab syslogdil interaktiivselt kasutada standardse C-teegi leitud syslogit. Samal ajal saab syslogd teistelt hostidelt edastatud sõnumitele kuulata standardset syslogiporti. Selle töö õigeks tegemiseks peavad teenuste (5) failid (tavaliselt leitud / jne ) olema järgmised kirje:

syslog 514 / udp

Kui see sisend on puudu, ei saa syslogd servereid saata ega saata, kuna UDP-porti ei saa avada. Selle asemel syslogd sureb kohe, puhub välja tõrketeade.

Selleks, et sõnumeid edastada teisele hostile, asendatakse failis syslog.conf tavapärane failirida hostiga, millele sõnumid tuleb saata koos @ -ga.

Näiteks, et edastada KÕIK sõnumeid kaughostile, kasutades järgmist sisselogimist syslog.conf :

# Proovige syslogdi konfiguratsioonifail # sõnumit kaughommile edastada kõik. *. * @ hostname

Kõigi kerneli sõnumite edastamine kaugseadmetele on konfiguratsioonifail järgmine:

# Proovi konfiguratsioonifaili, et edastada kõik kerneli # sõnumid kaugvõrgule. kern. * @ hostname

Kui kaughändi nime ei saa käivitamisel lahendada, kuna nimeserver ei pruugi olla juurdepääsetav (seda võib käivitada pärast syslogdit), ei pea te muretsema. Syslogd proovib küpset nime lahendada ja siis kaebab. Teine võimalus seda vältida on paigutada hostinimi / etc / hosts .

Tavaliste syslogd- de korral saadate syslog-silmuseid, kui saadate sõnumid, mis olid serverilt serverilt saadud samasse serverisse (või keerulisemad kolmandale hostile, mis saadab selle tagasi esimesele ja nii edasi). Minu domeenis (Infodrom Oldenburg) võtsime kogemata ühe ja meie kettad täidetakse sama sõnumiga. :-(

Selle vältimiseks edasistes aegades ei edastata serverist saadud kirju enam teisele (või sama) kaugarvutile. Kui on olemas stsenaariumid, kus see pole mõtet, palun lükka mind (Joey) rida.

Kui kaughost asub hostis samas domeenis, käivitatakse syslogd , kogu fqdn asemel sisestatakse ainult lihtsa hostinime.

Kohaliku võrgu kaudu saate anda keskse logiserveri, et kogu oluline teave oleks ühes masinas. Kui võrk koosneb erinevatest valdkondadest, ei pea te kaebama täielikult kvalifitseeritud nimede registreerimist lihtsate masinanimede asemel. Võib-olla soovite kasutada selle serveri riba-domeeni funktsiooni. Saate öelda, et syslogd laseb ära mitmed teised domeenid peale serveri ja logib ainult lihtsad hostinimed.

-l- valiku korral on ka võimalus määrata üksikettevõtteid kohalike masinatena. See toob kaasa ka ainult nende lihtsate masinanimede, mitte fqdnide logimise.

UDP-pistikupesa, mida kasutatakse serverites olevate sõnumite edastamiseks või nende jaoks sõnumite vastuvõtmiseks, avatakse ainult siis, kui see on vajalik. Enne 1,3-23 väljaannet avati iga kord, kuid ei avanud vastavalt lugemiseks või edastamiseks.

Nimetatud torude väljund (FIFO)

See syslogd versioon toetab nimesid kasutatavate torude väljastamist (FIFOS). Fondi või nimega toru saab kasutada logiteadete sihtkohana, lisades faili nimele pipi sümboli (`` | ''). See sobib silumiseks. Pidage meeles, et enne syslogd käivitamist tuleb viirus luua käsuga mkfifo.

Järgmine konfiguratsioonifail marsruudib kerneli silumispäsudest fifosõnumit:

# Näitekonfiguratsioon kerneli seiskamiseks # sõnumite AINULT kataloogile / usr / adm / debug, mis on # nimega toru. kern. = debug | / usr / adm / debug

Paigaldamise probleemid

Selle syslogdi versiooni installimisel on tõenäoliselt üks oluline kaalutlus. Syslogdi versioon sõltub syslogi funktsiooni sõnumite nõuetekohast vormistamist. Syslogifunktsiooni toimimine jagatud raamatukogudes muutus kusagil piirkonnas libc.so.4 [2-4] .n. Konkreetsed muudatused olid lõpetada sõnum enne selle edastamist / dev / logi pistikupessa. Syslogdi selle versiooni nõuetekohane toimimine sõltub sõnumi tühistamisest.

See probleem ilmneb tavaliselt siis, kui süsteemis kasutatakse vanu staatiliselt seotud binaries. Süsteemlogsfunktsiooni vanade versioonide kasutamine binaarfailides põhjustab tühjade readade sisselogimise, millele järgneb sõnum, mille eemaldatud sõnumis on esimene täht. Selle binaaride ümberpööramine jagatud raamatukogude uuemate versioonide abil parandab seda probleemi.

Nii syslogd (8) kui ka klogd (8) võivad olla kas käivitatud init (8) või käivitatud rc. * Järjestuse osana. Kui see käivitatakse init-st, tuleb valida -n , vastasel juhul saate syslog-deemoonide hulga alustamist. Seda seetõttu, et init (8) sõltub protsessi ID-st.

Julgeolekuohud

Syslogdi deemonil on potentsiaal kasutada teenusetõkestamise rünnaku kanalina. Tänan John Morrisonit (jmorriso@rflab.ee.ubc.ca), et teid mulle selle potentsiaali kohta teavitada. Pahkurprogramm (mer) võib syslogdi daemoni väga süstemaatiliselt sõnumit üle ujutada, mille tulemuseks on logifailid, mis kasutavad kogu ülejäänud ruumi failisüsteemis . Inet-domeeni pistikupesade sisselogimine aktiveerib loomulikult süsteemi, mis ohustab väljaspool kohalikku masinat asuvatest programmidest või üksikisikutest.

Masinat on võimalik kaitsta mitmel viisil:

  1. Rakendage kerneli tulemüüri, et piirata, millistel hostidel või võrkudel on juurdepääs 514 / UDP pistikupessa.
  2. Logimist saab suunata isoleeritud või mitte-root failisüsteemi, mis täidetuna ei kahjusta masinat.
  3. Kasutada saab ext2-failisüsteemi, mida saab konfigureerida piirama teatavat protsenti failemissüsteemi ainult juurest. MÄRKIGE, et see nõuab syslogdi käitamist mittejuureprotsessina. MÄRKIGE KA, et see takistab serveri logimise kasutamist, kuna syslogd ei saa 514 / UDP pistikupessa siduda.
  4. Inet domeeni pistikupesade keelamine piirab kohaliku masina riski.
  5. Kasutage 4. sammu ja kui probleem püsib ja ei ole petturitest programmide / daemonide jaoks sekundaarne, saate 3,5-tolline (ligikaudu 1 meeter) pikkune lisandivarras * ja pidage vastava kasutajaga vestelda. Sucker varras def. --- 3/4, 7/8 või 1in. kõvendatud terasvarda, mis on mõlemal otsal sisselülitatud. Primaarne kasutamine õlitööstuses Lääne-Põhja-Dakotas ja teistes kohtades, et pumpada õlipuuraukast õli. Sekundaarsed kasutusalad on veiste söödaosade ehitamiseks ja juhusliku kõlbmatu või kangekaelsu inimesega tegelemiseks.

Silumine

Kui silumisseade lülitatakse sisse, kasutades -d- valikut, on syslogd väga sõnaline, kirjutades palju sellest, mida ta stdoutis teeb. Iga kord, kui konfiguratsioonifaili uuesti lugeda ja uuesti analüüsida, näete tabelit, mis vastab sisemisele andmestruktuurile. See tabel koosneb neljast väljast:

number

See väli sisaldab seerianumbrit, mis algab nulliga. See number kujutab sisemise andmestiku struktuuri (st massiivi) positsiooni. Kui üks number jäetakse välja, võib see olla /etc/syslog.conf vastavas reas.

muster

See väli on keeruline ja täpselt kirjeldab sisemist struktuuri. Iga veerg tähistab rajatist (vt syslog (3)). Nagu näete, on endiselt kasutusel endiselt vaba ruumi, mida kasutatakse ainult kõige rohkem vasakpoolseteks. Kolmas väli veerus tähistab prioriteete (vt syslog (3)).

tegevus

See väli kirjeldab konkreetset tegevust, mis toimub alati, kui saabus sõnum, mis sobib mustriga. Kõigi võimalike toimingute kohta vt syslog.conf (5) manuaali.

argumendid

See väli näitab viimases väljaandes olevate tegevuste täiendavaid argumente. Failide kirjutamiseks on see logifaili failinimi; kasutaja registreerimiseks on see kasutajate loend; serveri logimiseks on see masina hostinimi logida; konsooli logimiseks on see kasutatav konsool; tty-logging jaoks on see määratud tty; seinal pole täiendavaid argumente.

Vaata ka

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

Koostööpartnerid

Syslogd on võetud BSD allikatest, Greg Wettstein (greg@wind.enjellic.com) tegi Linuxi porti, Martin Schulze (joey@linux.de) parandas mõned vead ja lisanud mitmeid uusi funktsioone. Kloogdi algselt kirjutas Steve Lord (lord@cray.com), Greg Wettstein tegi suuri edusamme.

Dr Greg Wettstein
Enjellic Systems Development

Onkoloogia Teadusosakonna Arvutustehnika Facility
Roger Marise vähkikeskus
Fargo, ND
greg@wind.enjellic.com

Stephen Tweedie
Arvutiteaduskond
Edinburghi ülikool, Šotimaa
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Infodrom Oldenburg
joey@linux.de

Tähtis: kasutage käsuga man ( % man ), et näha, kuidas käsku kasutatakse teie konkreetsel arvutis.

seotud artiklid