Skip to main content

Syslogd Linux i Unix Command

logger command - Log Script Execution status into log file or syslog server (Lipanj 2025)

logger command - Log Script Execution status into log file or syslog server (Lipanj 2025)
Anonim

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:

  1. Provedite vatrozid kernela kako biste ograničili koje domaćine ili mreže imaju pristup 514 / UDP utičnici.
  2. Zapisivanje se može usmjeriti na izolirani ili ne-root datotečni sustav koji, ako je ispunjen, neće oštetiti uređaj.
  3. 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.
  4. Onemogućavanje inet domene utičnica ograničit će rizik na lokalni stroj.
  5. 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

  • sysklogd - Linux Command - Unix naredba
  • rwall - Što je rwa