Sysklogd pruža dva sustava alata koji pružaju podršku za bilježenje sustava i zalihe poruke kernela. Podrška internet i unix domenu omogućuje korisnicima da podržavaju lokalno i daljinsko bilježenje.
Sustavno bilježenje omogućeno je verzijomsyslogd(8) izvedeni iz izvora BSD izvora. Podrška za zapisivanje kernela osiguravaklogd(8) korisni programi koji dopuštaju pohranu kernela da se provede bilo na samostalnom modelu ili kao klijent syslogd.
Syslogd pruža vrstu zapisivanja koju koriste mnogi moderni programi. Svaka prijavljena poruka sadrži barem jedno vrijeme i polje naziva glavnog računala, inače polje naziv programa, ali to ovisi o tome koliko je pouzdan program bilježenja.
Doksyslogd izvori su jako izmijenjeni, a nekoliko bilježaka je u redu. Prije svega, postojao je sustavni pokušaj da se osigura da syslogd slijedi svoj zadani, standardni BSD ponašanje. Drugi važan koncept koji treba imati na umu je da ova verzija syslogd interakciju transparentno s verzijom syslog naći u standardnim knjižnicama. Ako binarnu vezu s standardnim dijeljenim bibliotekama ne funkcionira ispravno, želimo primjer anomalnog ponašanja.
Glavna konfiguracijska datoteka /etc/syslog.conf ili alternativnu datoteku, danu sf opcija se čita pri pokretanju. Bilo koja linija koja započinje s oznakom hashe (`` # '') i praznih redaka zanemaruje se. Ako se tijekom parsiranja pojavi pogreška, cijela linija se zanemaruje.
Sinopsis
syslogd -a utičnica -D f konfiguracijsku datoteku -h -l hostlist -m interval -n -p utičnica -r -s domainlist -v -x
Opcije
-a utičnica
Pomoću ovog argumenta možete odrediti dodatne utičnicesyslogd mora slušati. To je potrebno ako dopustite nekom daemonu da radi unutar okruženja chroot (). Možete koristiti do 19 dodatnih utora. Ako vaš okoliš treba još više, morate povećati simbolMAXFUNIX unutar izvorne datoteke syslogd.c. Primjer za demo chroot () opisuju ljudi iz OpenBSD na http://www.psionic.com/papers/dns.html.
-D
Uključuje način otklanjanja pogrešaka. Pomoću tog daemona neće nastavitiviljuška(2) da se postavite u pozadini, ali suprotno tomu boravku u prednjem planu i napišite mnogo informacija o ispravljanju trenutnog tty. Dodatne informacije potražite u odjeljku ODOBRAVANJE.
f konfiguracijsku datoteku
Umjesto toga navedite alternativnu konfiguracijsku datoteku /etc/syslog.conf , što je zadano.
-h
Prema zadanim postavkama syslogd neće prosljeđivati poruke koje prima od udaljenih računala. Navođenje ovog prekidača u naredbenom retku uzrokovat će demon da će proslijediti sve daljinske poruke koje prima za prosljeđivanje definiranih hostova.
-l hostlist
Navedite naziv hosta koji bi trebao biti prijavljen samo s jednostavnim nazivom hosta, a ne fqdn-om. Višestruki domaćini mogu se odrediti pomoću razdjelnika debelog crijeva (``: '').
-m interval
syslogd redovito bilježi oznaku vremenske oznake. Zadana je interval između dva - MARK - linija je 20 minuta. To se može promijeniti s ovom opcijom. Postavljanje interval na nulu isključuje ga u potpunosti.
-n
Izbjegavajte automatsko pozadinsko praćenje. To je potrebno osobito akosyslogd započinje i kontrolirau tome(8).
-p utičnica
Umjesto toga možete odrediti zamjensku jedinicu Unix domene / Dev / log .
-r
Ova opcija omogućit će objektu da primi poruku s mreže koristeći internetsku domenu sa syslog uslugom (vidi (5)). Zadana postavka je da ne primate nikakve poruke iz mreže.
Ova je opcija uvedena u verziji 1.3 paketa sysklogd. Napominjemo da je zadano ponašanje suprotno načinu na koji se starije verzije ponašaju, pa biste možda morali uključiti tu značajku.
-s domainlist
Navedite naziv domene koji bi trebao biti uklonjen prije zapisivanja. Višestruke domene mogu se odrediti pomoću razdjelnika debelog crijeva (``: ''). Imajte na umu da ne mogu biti navedene poddomene, već samo sve domene. Na primjer, ako-s north.de naveden je i bilježenje domaćinstva rješava se satu.infodrom.north.de niti jedna domena neće biti izrezana, morat ćete navesti dvije domene poput:-s north.de:infodrom.north.de.
-v
Ispis verzije i izlaz.
-x
Onemogućite traženja naziva prilikom primanja udaljenih poruka. To izbjegava zastoj kada servis naziva radi na istom stroju koji pokreće syslog daemon.
signali
Syslogd reagira na skup signala. Možete jednostavno poslati signalsyslogd koristite sljedeće:
ubiti -SIGNAL `cat / var / run / syslogd.pid`
Sighup
To omogućujesyslogd izvesti ponovno inicijalizaciju. Sve otvorene datoteke su zatvorene, konfiguracijska datoteka (zadana je /etc/syslog.conf ) će se ponovno pročitati isyslog(3) započinje s radom.
SIGTERM
syslogd umrijet će.
SIGINT, SIGQUIT
Ako je uklanjanje pogrešaka omogućeno, one se zanemaruju, inačesyslogd umrijet će.
SIGUSR1
Uključivanje / isključivanje uklanjanja pogrešaka. Ova se opcija može koristiti samo akosyslogd započinje s-D opcija uklanjanja pogrešaka.
SIGCHLD
Pričekajte dijete ako su neki rođeni zbog zidnih poruka.
Razlike u sintaksama konfiguracijskih datoteka
Syslogd upotrebljava malo drugačiju sintaksu za konfiguracijsku datoteku od izvornih BSD izvora. Izvorno su sve poruke određenog prioriteta i gore bile proslijeđene log datotekama.
Na primjer, sljedeći redak je prouzročio SVE izlaz iz demonova pomoću objekata daemona (debug je najniži prioritet, tako da će svaka veća također odgovarati) / Usr / ADM / daemoni :
# Uzorak syslog.conf daemon.debug / usr / adm / daemona
Prema novoj shemi, ovo ponašanje ostaje isto. Razlika je dodavanje četiri nove specifikacije, zvjezdicu (*) zamjenski znak, znak jednadžbe (=), uskličnik (!) i minus znak (-).
* određuje da se sve poruke za navedeni objekt trebaju usmjeriti na odredište. Imajte na umu da ovo ponašanje degenerira s određivanjem razine prioriteta uklanjanja pogrešaka. Korisnici su naznačili da je oznaka zvjezdice više intuitivna.
= zamjenska kartica se koristi za ograničavanje prijave na navedeni prioritetni razred. To omogućuje, primjerice, usmjeravanje samo debug poruka na određeni izvor zapisivanja.
Na primjer, sljedeći redak u syslog.conf će usmjeriti poruke o ispravljanju iz svih izvora na / Usr / adm / ispravljanje datoteka.
# Uzorak syslog.conf *. = Debug / usr / adm / debug
! se koristi za isključivanje prijave određenih prioriteta. To utječe na sve (!) Mogućnosti određivanja prioriteta.
Na primjer, sljedeće linije bilježit će sve poruke u postu objekta, osim onih s prioritetnim informacijama / Usr / adm / mail datoteka. I sve poruke iz news.info (uključujući) do news.crit (isključujući) će se prijaviti na / Usr / adm / vijesti datoteka.
# Uzorak syslog.conf pošte. *; Mail!! = Info / usr / adm / mail news.info; vijesti!! Crit / usr / adm / vijesti
Možete ga upotrijebiti intuitivno kao iznimka za određivanje. Gore spomenuto tumačenje jednostavno je obrnuto. To možete učiniti
mail.none
ili
pošte.! *
ili
pošte.! ispravljanje
da preskočite svaku poruku koja dolazi s objektom za poštu. Mnogo prostora za igranje s njim. :-)
- može se koristiti samo za prefiks naziva datoteke ako želite izostaviti sinkronizaciju datoteke nakon što ga svaki pisati.
To može potrajati nekim aklimatizacijom za one pojedince koji se koriste u čistom ponašanju BSD-a, ali testeri su naznačili da je ta sintaksa nešto fleksibilnija od BSD ponašanja. Imajte na umu da ove izmjene ne bi trebale utjecati na standardsyslog.conf(5) datoteka. Morate posebno izmijeniti konfiguracijske datoteke kako biste dobili poboljšano ponašanje.
Podrška za daljinsko bilježenje
Te izmjene pružaju mrežnu podršku sustavu syslogd. Mrežna podrška znači da se poruke mogu proslijediti iz jednog čvora koji pokreće syslogd u drugi čvor koji pokreće syslogd gdje će se zapravo prijaviti u datoteku diska.
Da biste to omogućili morate odrediti-r na komandnoj liniji. To je zadano ponašanjesyslogd neće slušati mrežu.
Strategija je da syslogd posluša na jednoj Unix domenskoj utičnici za lokalno generirane dnevničke poruke. Ovo ponašanje omogućit će syslogdu da surađuje s syslogom koji se nalazi u standardnoj C biblioteci. Istodobno syslogd sluša standardni syslog port za poruke proslijeđene od drugih hostova. Da biste ispravno radili ovaj posaousluge(5) datoteka (obično se nalazi u / etc ) mora imati sljedeći unos:
syslog 514 / udp
Ako ovaj unos nedostajesyslogd niti mogu primati daljinske poruke niti ih poslati, jer se UDP port ne može otvoriti. umjesto toga, syslogd odmah će umrijeti, ispuštajući poruku o pogrešci.
Kako biste prosljeđivali poruke drugom hostu, zamijenite uobičajenu liniju datoteka u syslog.conf datoteku s imenom glavnog računala na koju se poruke šalju dodan s @.
Na primjer, za prosljeđivanjeSVI poruke na udaljenom računalu pomoću sljedećeg syslog.conf unos:
# Prikažite syslogd konfiguracijsku datoteku na # poruke udaljenom računalu. *. * @hostname
Sve naprijedzrno poruke na udaljenom računalu konfiguracijska datoteka bi bila sljedeća:
# Primjer datoteke konfiguracije za prosljeđivanje svih kernel # poruka na udaljeno računalo. kern. * @hostname
Ako se daljinski naziv računala ne može riješiti prilikom pokretanja jer poslužitelj-naziv možda nije dostupan (može se pokrenuti nakon syslogd-a), ne morate se brinuti.Syslogd pokušat će ponovno riješiti naziv deset puta, a zatim se žaliti. Druga mogućnost da se to izbjegne jest postaviti ime računala u / etc / hosts .
S normalnimsyslogda dobivate syslog-petlje ako šaljete poruke koje su primljene s udaljenog domaćina na isti host (ili složenije za treći host koji ga šalje natrag na prvi, itd.). U mom domeni (Infodrom Oldenburg) slučajno smo dobili jedan i naši diskovi ispunjeni istom jedinom porukom. :-(
Kako biste to izbjegli u daljnjim vremenima, poruke koje su primljene s udaljenog računala više se ne šalju drugom (ili istom) udaljenom računalu. Ako postoje scenarija u kojima ovo nema smisla, molim vas da me ispustite (Joey).
Ako se udaljeni host nalazi u istoj domeni kao domaćin,syslogd pokrenut će se, umjesto cijele fqdn će biti zabilježen samo jednostavan hostname.
U lokalnoj mreži možete osigurati središnji dnevnik koji će imati sve važne informacije zadržane na jednom računalu. Ako se mreža sastoji od različitih domena, ne morate se žaliti na prijavljivanje potpuno kvalificiranih imena umjesto jednostavnih naziva hostova. Možda želite upotrijebiti značajku domene za strip-s ovog poslužitelja. Možete rećisyslogd da biste uklonili nekoliko domena, osim one na kojoj se poslužitelj nalazi i samo prijavite jednostavne nazive hostova.
Koristiti-l mogućnost postoji i mogućnost definiranja pojedinačnih domaćina kao lokalnih strojeva. To također dovodi do prijave samo jednostavnih naziva računala, a ne fqdnsa.
UDP utičnica koja se koristi za prosljeđivanje poruka udaljenim računalima ili za primanje poruka od njih otvara se samo kada je to potrebno. U izdanjima prije 1.3-23 otvorena je svaki put, ali nije otvorena za čitanje ili prosljeđivanje.
Izlaz iz nazivnih cijevi (FIFOs)
Ova verzija syslogd-a ima podršku za bilježenje izlaza na ime cijevi (fifos). Fino ili nazvanu cijev se može koristiti kao odredište za dnevnike zapisivanjem simbola pipy (`| | '') na naziv datoteke. Ovo je prikladno za uklanjanje pogrešaka. Imajte na umu da se fifo mora biti kreiran s mkfifo naredbom prije pokretanja syslogd-a.
Sljedeća konfiguracijska datoteka usmjerava poruke o ispravljanju iz kernela na petnaest:
# Primjer konfiguracije za usmjeravanje kernela debugging # messages SAMO na / usr / adm / debug koji je # named pipe. kern. = ispravljanje pogrešaka / usr / adm / debug
Zabrinutost za instalaciju
Vjerojatno je jedno važno razmatranje prilikom instaliranja ove verzije syslogda. Ova verzija syslogd ovisi o pravilnom oblikovanju poruka syslog funkcijom. Funkcija syslog funkcije u dijeljenim knjižnicama promijenila se negdje u regiji libc.so.4. 2-4 .n. Specifična promjena je bila da se poruka ne prekine prije nego što je proslijedi na / Dev / log utičnica. Pravilno funkcioniranje ove verzije syslogd ovisi o nul-prekidanju poruke.
Taj će se problem obično očitovati ako se na sustavu koriste stari statički povezani binari. Korištenje starih verzija syslog funkcije uzrokovat će zapisivanje praznih redaka nakon čega slijedi poruka s prvim znakom u poruci uklonjenoj. Ponovno povezivanje tih datoteka s binarnim verzijama na nove verzije dijeljenih biblioteka ispravit će taj problem.
Obasyslogd(8) iklogd(8) može pokrenuti iz init (8) ili započeti kao dio slijeda rc. *. Ako je započeo s init opcije -n mora biti postavljen, inače ćete dobiti tona syslog demona koji su započeli. Ovo je zbogu tome(8) ovisi o ID-u procesa.
Sigurnosne prijetnje
Postoji potencijal da se syslogd daemon koristi kao kanal za napad uskraćivanja usluga. Hvala vam na John Morrison ([email protected]) za upozorenje na ovaj potencijal. Program skitnica (mer) može vrlo lako preplaviti syslogd daemon sa syslog porukama, što rezultira log datotekama koje troše preostalo mjesto na datotečnom sustavu. Aktivacija prijave na utičnice inet domene će, naravno, izložiti sustavu rizicima izvan programa ili pojedinaca na lokalnom računalu.
Postoji niz metoda za zaštitu stroja:
- Provedite vatrozid kernela kako biste ograničili koje domaćine ili mreže imaju pristup 514 / UDP utičnici.
- Zapisivanje se može usmjeriti na izolirani ili ne-root datotečni sustav koji, ako je ispunjen, neće oštetiti uređaj.
- Možete koristiti ext2 datotečni sustav koji se može konfigurirati tako da ograničava određeni postotak datotečnog sustava samo korištenjem root-a.BILJEŠKA da će to zahtijevati da syslogd bude pokrenut kao ne-korijen proces. Također napomenuti da će to spriječiti korištenje daljinskog prijavljivanja budući da se syslogd neće moći vezati na 514 / UDP utičnicu.
- Onemogućavanje inet domene utičnica ograničit će rizik na lokalni stroj.
- Upotrijebite korak 4 i ako problem i dalje postoji i nije sekundaran programu skitnica / daemon, dobit ćete duljinu štapa za usitnjavanje od 3,5 m (oko 1 m) i razgovarajte s dotičnim korisnikom. Sucker štapić def. --- 3/4, 7/8 ili 1in. stvrdnutu čeličnu šipku, mušku navojem na svakom kraju. Primarna uporaba u naftnoj industriji u zapadnoj Sjevernoj Dakoti i drugim mjestima za pumpanje 'sisati' ulje iz uljnih bušotina. Sekundarne upotrebe služe za izgradnju stočne hrane za životinje i za rješavanje povremenih nepopustljivih ili ratobornih pojedinaca.
otklanjanje grešaka
Kada je uključeno uklanjanje pogrešaka-D zatim opcijusyslogd bit će vrlo opširan pisanjem velikog dijela onoga što radi na stdoutu. Kad god se konfiguracijska datoteka ponovno pročita i ponovno analizira, vidjet ćete tablični, što odgovara internoj strukturi podataka. Ova se tablica sastoji od četiri polja:
broj
Ovo polje sadrži serijski broj koji počinje nuli. Ovaj broj predstavlja položaj u internoj strukturi podataka (tj. Polje). Ako je jedan broj izostavljen, u odgovarajućem retku postoji pogreška /etc/syslog.conf .
uzorak
Ovo polje je lukav i predstavlja točno unutarnju strukturu. Svaki stupac označava objekt (pogledajtesyslog(3)). Kao što vidite, još uvijek postoje neki sadržaji koji su ostavljeni slobodni za nekadašnju uporabu, a koriste se samo lijevi most. Svako polje u stupcu predstavlja prioritete (pogledajte strsyslog(3)).
radnja
Ovo polje opisuje određenu radnju koja se odvija kad god se primila poruka koja odgovara uzorku. Pogledajtesyslog.conf(5) mana za sve moguće radnje.
argumenti
Ovo polje prikazuje dodatne argumente akcijama u zadnjem polju. Za zapisivanje datoteka ovo je naziv datoteke za log datoteku; za prijavu korisnika ovo je popis korisnika; za daljinsko bilježenje ovo je naziv hosta stroja za prijavu; za logiranje konzola ovo je upotrijebljena konzola; za tty-logging ovo je specificirano tty; zid nema dodatnih argumenata.
Vidi također
drvosječa(1), syslog(2), (5)
suradnici
Syslogd preuzeta je iz BSD izvora, Greg Wettstein ([email protected]) izvodio port u Linux, Martin Schulze ([email protected]) popravio neke bugove i dodao nekoliko novih značajki.Klogdje izvorno napisao Steve Lord ([email protected]), Greg Wettstein je napravio značajna poboljšanja.
Dr. Greg WettsteinEnjuički razvoj sustava Računalna djelatnost na području onkologijeRoger Maris Centar za karcinomFargo, ND[email protected] Stephen TweedieOdjel za računalnu znanostSveučilište Edinburgh, Škotska[email protected] Juha Virtanen[email protected] Shane Alderton[email protected] Martin SchulzeInfodrom Oldenburg[email protected] Važno: Koristiti čovjek naredba ( % čovjek ) kako biste vidjeli kako se naredba koristi na vašem računalu. povezani članci