Skip to main content

Syslogd Linux og Unix Command

LINUX Logger command (Juni 2026)

LINUX Logger command (Juni 2026)
Anonim

Sysklogd gir to systemverktøy som gir støtte for systemlogging og kjernemelding. Støtte for både internett og unix domenekontakter gjør det mulig for denne verktøypakken å støtte både lokal og ekstern logging.

Systemlogging leveres av en versjon avsyslogd(8) avledet fra bestanden BSD kilder. Støtte for kjernelogging er gitt avklogd(8) verktøy som tillater kjernelogging å bli gjennomført på en frittstående måte eller som en klient til syslogd.

Syslogd gir en slags logging som mange moderne programmer bruker. Hver logget melding inneholder minst en tid og et vertsnavnfelt, vanligvis et programnavnfelt, men det avhenger av hvor pålitelig loggprogrammet er.

Menssyslogd kilder har blitt tungt modifisert et par notater er i orden. Først av alt har det vært et systematisk forsøk på å sikre at syslogd følger standard standard BSD-oppførsel. Det andre viktige konseptet er å merke seg at denne versjonen av syslogd samhandler transparent med versjonen av syslog som finnes i standardbibliotekene. Hvis en binær koblet til standard delte biblioteker ikke fungerer korrekt, ønsker vi et eksempel på den uregelmessige oppførelsen.

Hovedkonfigurasjonsfilen /etc/syslog.conf eller en alternativ fil, gitt med-f alternativet, leses ved oppstart. Alle linjer som begynner med hash-markeringen (`` # '') og tomme linjer blir ignorert. Hvis det oppstår en feil under parsing, ignoreres hele linjen.

Synopsis

syslogd -en stikkontakt -d -f config-fil -H l hostlist -m intervall -n -p stikkontakt -r -s domainlist -V -x

alternativer

-en stikkontakt

Ved hjelp av dette argumentet kan du angi flere stikkontakter fra detsyslogd må lytte til. Dette er nødvendig hvis du skal la noen demon løpe i et chroot () miljø. Du kan bruke opptil 19 ekstra kontakter. Hvis miljøet ditt trenger enda mer, må du øke symboletMAXFUNIX i kildefilen syslogd.c. Et eksempel på en chroot () demon er beskrevet av folk fra OpenBSD på http://www.psionic.com/papers/dns.html.

-d

Slår på feilsøkingsmodus. Daemonen vil ikke fortsette agaffel(2) å sette seg i bakgrunnen, men motsatt det forblir i forgrunnen og skrive mye feilsøkingsinformasjon på dagens tty. Se avsnittet DEBUGGING for mer informasjon.

-f config-fil

Angi en alternativ konfigurasjonsfil i stedet for /etc/syslog.conf , som er standard.

-H

Som standard vil syslogd ikke videresende meldinger det mottar fra eksterne verter. Hvis du spesifiserer denne bryteren på kommandolinjen, vil loggenenderen videresende eventuelle eksterne meldinger den mottar til videresending av verter som er definert.

l hostlist

Angi et vertsnavn som bare skal logges med sitt enkle vertsnavn og ikke fqdn. Flere verter kan spesifiseres ved hjelp av kolon (``: '') separator.

-m intervall

Desyslogd logger et merke tidsstempel regelmessig. Standaren intervall mellom to -- MERKE -- linjene er 20 minutter. Dette kan endres med dette alternativet. Innstilling av intervall til null slår den av helt.

-n

Unngå automatisk bakgrunnsbilde. Dette er nødvendig spesielt hvissyslogd er startet og kontrollert avi det(8).

-p stikkontakt

Du kan angi et alternativt unix domenekontakt i stedet for / Dev / log .

-r

Dette alternativet gjør det mulig for anlegget å motta en melding fra nettverket ved hjelp av en internettdomenetkontakt med syslog-tjenesten (se (5)). Standardinnstillingen er ikke å motta meldinger fra nettverket.

Dette alternativet er introdusert i versjon 1.3 av sysklogd-pakken. Vær oppmerksom på at standard oppførsel er motsatt av hvordan eldre versjoner oppfører seg, så du må kanskje slå på denne.

-s domainlist

Angi et domenenavn som skal fjernes før du logger. Flere domener kan spesifiseres ved hjelp av kolon (``: '') separator. Vær oppmerksom på at ingen underdomener kan angis, men bare hele domener. For eksempel hvis-s nord.de er spesifisert og vertsloggingen løser til satu.infodrom.north.de ingen domene ville bli kuttet, må du spesifisere to domener som:-s north.de:infodrom.north.de.

-V

Utskriftsversjon og utgang.

-x

Deaktiver navneoppslag når du mottar fjernmeldinger. Dette unngår deadlocks når navneserveren kjører på samme maskin som kjører syslog-demonen.

signaler

syslogd reagerer på et sett med signaler. Du kan enkelt sende et signal tilsyslogd bruker følgende:

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

SIGHUP

Dette larsyslogd utfør en re-initialisering. Alle åpne filer er stengt, konfigurasjonsfilen (standard er /etc/syslog.conf ) vil bli lest ogsyslog(3) anlegget startes igjen.

SIGTERM

Desyslogd kommer til å dø.

SIGINT, SIGQUIT

Hvis feilsøking er aktivert, ignoreres disse, ellerssyslogd kommer til å dø.

SIGUSR1

Slå feilsøking på / av. Dette alternativet kan bare brukes hvissyslogd er startet med-d feilsøkingsalternativ.

SIGCHLD

Vent på barn hvis noen ble født, på grunn av meldinger.

Konfigurasjonsfilsyntaksforskjeller

syslogd bruker en litt annerledes syntaks for sin konfigurasjonsfil enn de originale BSD-kildene. Opprinnelig ble alle meldinger av en bestemt prioritet og over videresendt til loggfilen.

For eksempel forårsaket følgende linje ALLE utdata fra daemoner som bruker demon-fasilitetene (feilsøking er den laveste prioriteten, så alle høyere vil også matche) for å gå inn i / Usr / adm / daemons :

# Eksempel på syslog.conf daemon.debug / usr / adm / daemons

Under den nye ordningen forblir denne oppførselen den samme. Forskjellen er tillegg av fire nye spesifiseringspersoner, stjernen (*) wildcard, ligningstegnet (=), utropstegnet (!), og minustegnet (-).

De* angir at alle meldinger for det angitte anlegget skal sendes til målet. Vær oppmerksom på at denne oppførselen er degenerert med å spesifisere et prioritetsnivå for feilsøking. Brukere har angitt at stjernenes notasjon er mer intuitiv.

De= wildcard brukes til å begrense logging til den angitte prioritetsklassen. Dette tillater, for eksempel, ruting kun feilsøkingsmeldinger til en bestemt loggingkilde.

For eksempel, følgende linje i syslog.conf ville sende feilsøkingsmeldinger fra alle kilder til / Usr / adm / debug fil.

# Eksempel syslog.conf *. = Feilsøking / usr / adm / debug

De! brukes til å utelukke logging av de angitte prioritetene. Dette påvirker alle (!) Mulighetene for å spesifisere prioriteringer.

For eksempel vil de følgende linjene logge alle meldinger til anleggets post, bortsett fra de med prioritetsinfo til / Usr / adm / mail fil. Og alle meldinger fra news.info (inkludert) til news.crit (eksklusive) vil bli logget til / Usr / adm / nyheter fil.

# Eksempel på syslog.conf mail. *; Post.! = Info / usr / adm / mail news.info; nyheter.! Crit / usr / adm / news

Du kan bruke det intuitivt som et unntak spesifiserer. Ovennevnte tolkning er ganske enkelt invertert. Gjør det du kan bruke

mail.none

eller

post.!*

eller

mail.! debug

å hoppe over hver melding som kommer med en postfasilitet. Det er mye plass til å leke med det. :-)

De- kan bare brukes til å prefikse et filnavn hvis du ikke vil synkronisere filen etter hver skriving til den.

Dette kan ta litt akklimatisering for de personene som pleide å ren BSD-oppførsel, men testere har antydet at denne syntaksen er noe mer fleksibel enn BSD-oppførselen. Vær oppmerksom på at disse endringene ikke bør påvirke standardensyslog.conf(5) filer. Du må spesifikt endre konfigurasjonsfilene for å oppnå forbedret oppførsel.

Støtte for ekstern logging

Disse endringene gir nettverksstøtte til syslogd-anlegget. Nettverksstøtte betyr at meldinger kan videresendes fra en node som kjører syslogd til en annen node som kjører syslogd der de faktisk vil bli logget på en diskfil.

For å aktivere dette må du spesifisere-r alternativ på kommandolinjen. Standard oppførsel er detsyslogd vil ikke høre på nettverket.

Strategien er å ha syslogd lytte på et unix domenekontakt for lokalt genererte loggmeldinger. Denne oppførselen vil tillate syslogd å interoperere med syslogen som finnes i standard C-biblioteket. Samtidig lytter syslogd på standard syslog port for meldinger videresendt fra andre verter. For å få dette til å fungere riktigtjenester(5) filer (vanligvis funnet i /etc ) må ha følgende oppføring:

syslog 514 / udp

Hvis denne oppføringen manglersyslogd verken kan motta eksterne meldinger eller sende dem, fordi UDP-porten ikke kan åpnes. I stedet, syslogd vil dø umiddelbart, blåser ut en feilmelding.

For å få meldinger til å bli videresendt til en annen vert, erstatt den normale fillinjen i syslog.conf fil med navnet på verten som meldingene skal sendes prepended med en @.

For eksempel, å videresendeALLE meldinger til en ekstern vert ved hjelp av følgende syslog.conf inngang:

# Prøv syslogd konfigurasjonsfil til # meldinger til en ekstern vert fremover alle. *. * @hostname

For å videresende allekernel meldinger til en ekstern vert vil konfigurasjonsfilen være som følger:

# Eksempel på konfigurasjonsfil for å videresende alle kjerne # meldinger til en ekstern vert. kjernen. * @hostname

Hvis det eksterne vertsnavnet ikke kan løses ved oppstart, fordi navnetjeneren kanskje ikke er tilgjengelig (det kan startes etter syslogd), trenger du ikke bekymre deg.syslogd vil forsøke å løse navnet ti ganger og deretter klage. En annen mulighet for å unngå dette er å plassere vertsnavnet i / etc / hosts .

Med normaltsyslogds du vil få syslog-sløyfer hvis du sender ut meldinger som ble mottatt fra en ekstern vert til den samme verten (eller mer komplisert til en tredje vert som sender den tilbake til den første, og så videre). I domenet mitt (Infodrom Oldenburg) har vi ved et uhell fått en og våre disker fylt opp med samme enkeltmelding. :-(

For å unngå dette i flere tider, blir ingen meldinger mottatt fra en ekstern vert sendt ut til en annen (eller den samme) eksterne verten lenger. Hvis det er scenarier der dette ikke gir mening, vennligst slipp meg (Joey) en linje.

Hvis den eksterne verten befinner seg i samme domene som verten,syslogd kjører på, blir bare det enkle vertsnavnet logget i stedet for hele fqdn.

I et lokalt nettverk kan du gi en sentral loggserver for å få all viktig informasjon holdt på en maskin. Hvis nettverket består av forskjellige domener, trenger du ikke å klage om å logge fullt kvalifiserte navn i stedet for enkle vertsnavn. Du vil kanskje bruke strip-domene-funksjonen-s av denne serveren. Du kan fortellesyslogd å fjerne flere domener enn den serveren befinner seg i, og logg bare på enkle vertsnavn.

Brukerl alternativet er det også en mulighet til å definere single hosts som lokale maskiner. Dette resulterer også i å logge bare deres enkle vertsnavn og ikke fqdns.

UDP-kontakten som brukes til å videresende meldinger til eksterne verter eller for å motta meldinger fra dem, åpnes kun når det trengs. I utgivelser før 1.3-23 ble det åpnet hver gang, men ikke åpnet for lesing eller videresending.

Utgang til navngitte rør (FIFOer)

Denne versjonen av syslogd har støtte for logging utdata til navngitte rør (femos). Et femo eller navngitt rør kan brukes som en destinasjon for loggmeldinger ved å prepending et pipysymbol (`` | '') til navnet på filen. Dette er nyttig for feilsøking. Merk at femo må opprettes med kommandoen mkfifo før syslogd er startet.

Følgende konfigurasjonsfil ruter feilsøkingsmeldinger fra kjernen til en femo:

# Prøvekonfigurasjon for å rute kjernen feilsøking # meldinger KUN til / usr / adm / debug som er en # navngitt pipe. core. = debug | / usr / adm / debug

Installasjonsproblemer

Det er sannsynligvis en viktig vurdering når du installerer denne versjonen av syslogd. Denne versjonen av syslogd er avhengig av riktig formatering av meldinger ved syslog-funksjonen. Funksjonen til syslog-funksjonen i de delte bibliotekene endret seg et sted i regionen libc.so.4. 2-4 .n. Den spesifikke endringen var å nullstille meldingen før den ble overført til / Dev / log stikkontakt. Korrekt bruk av denne versjonen av syslogd er avhengig av null oppsigelse av meldingen.

Dette problemet vil vanligvis manifestere seg hvis gamle statisk koblede binærprogrammer blir brukt på systemet. Binarier som bruker gamle versjoner av syslog-funksjonen, vil føre til at tomme linjer blir logget etterfulgt av meldingen med det første tegnet i meldingen fjernet. Tilbakestille disse binærene til nyere versjoner av de delte bibliotekene vil rette opp dette problemet.

Beggesyslogd(8) ogklogd(8) kan enten kjøres fra init (8) eller startes som en del av rc. * -Sekvensen. Hvis det er startet fra init, er alternativet -n må settes, ellers vil du få tonnevis av syslog daemons påbegynt. Dette er fordii det(8) avhenger av prosess ID.

Sikkerhetstrusler

Det er potensialet for syslogd-demonen å bli brukt som en kanal for et benektningsangrep. Takk, gå til John Morrison ([email protected]) for å varsle meg om dette potensialet. Et rogue-program (mer) kan veldig enkelt oversvømme syslogd-demonen med syslog-meldinger som resulterer i at loggfilene forbruker all gjenværende plass på filsystemet. Aktivering av logging over inet domene stikkontakter vil selvsagt utsette et system for å risikere utenfor programmer eller enkeltpersoner på den lokale maskinen.

Det finnes en rekke metoder for å beskytte en maskin:

  1. Implementer kjernebrannmur for å begrense hvilke verter eller nettverk som har tilgang til 514 / UDP-kontakten.
  2. Logging kan rettes til et isolert eller ikke-rotfilsystem som, hvis fylt, ikke vil svekke maskinen.
  3. Ext2-filsystemet kan brukes som kan konfigureres til å begrense en viss prosentandel av et filsystem til bruk bare ved hjelp av rot.MERK at dette vil kreve syslogd å bli kjørt som en ikke-rot prosess. OGSÅ MERK at dette vil forhindre bruk av fjernlogging, siden syslogd ikke vil kunne binde til 514 / UDP-kontakten.
  4. Deaktivering av inet domenekontakter begrenser risikoen for den lokale maskinen.
  5. Bruk trinn 4, og hvis problemet vedvarer og ikke er sekundært til et rogue-program / daemon, få en 3,5 m (ca. 1 meter) sugestang * og ha en prat med brukeren i spørsmålet. Sugestang def. --- 3/4, 7/8 eller 1in. Herdet stålstang, mannlig gjenget på hver ende. Primær bruk i oljeindustrien i Vest-North Dakota og andre steder å pumpe "suge" olje fra oljebrønner. Sekundære bruksområder er for bygging av storfefôr og for behandling av sporadisk tilbakevendende eller krigsførende person.

debugging

Når feilsøking er slått på med-d alternativ dasyslogd vil være veldig verbose ved å skrive mye av hva det gjør på stdout. Når konfigurasjonsfilen leses og re-parses, ser du en tabellform som samsvarer med den interne datastrukturen. Denne tabellen består av fire felt:

Nummer

Dette feltet inneholder et serienummer som starter med null. Dette tallet representerer posisjonen i den interne datastrukturen (dvs. arrayet). Hvis ett nummer er utelatt, kan det hende at det er en feil i den tilsvarende linjen /etc/syslog.conf .

mønster

Dette feltet er vanskelig og representerer den interne strukturen nøyaktig. Hver kolonne står for et anlegg (sesyslog(3)). Som du kan se, er det fortsatt noen fasiliteter igjen fri for tidligere bruk, bare de venstre mest brukte. Hvert felt i en kolonne representerer prioritetene (sesyslog(3)).

handling

Dette feltet beskriver den spesifikke handlingen som finner sted hver gang en melding mottas som samsvarer med mønsteret. Referere tilsyslog.conf(5) manpage for alle mulige handlinger.

argumenter

Dette feltet viser flere argumenter til handlingene i det siste feltet. For fillogging er dette filnavnet for loggfilen; for brukerlogging er dette en liste over brukere; For ekstern logging er dette vertsnavnet til maskinen for å logge på; for konsolllogging er dette den brukte konsollen; for tty-logging dette er den angitte tty; veggen har ingen ekstra argumenter.

Se også

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

samarbeidspartnere

syslogd er hentet fra BSD kilder, har Greg Wettstein ([email protected]) utført porten til Linux, Martin Schulze ([email protected]) fikset noen feil og lagt til flere nye funksjoner.klogdble opprinnelig skrevet av Steve Lord ([email protected]), gjorde Greg Wettstein store forbedringer.

Dr. Greg WettsteinEnjellic Systems Development

Oncology Research Division Computing FacilityRoger Maris Cancer CenterFargo, ND[email protected]

Stephen TweedieInstitutt for datavitenskapEdinburgh University, Scotland[email protected]

Juha Virtanen[email protected]

Shane Alderton[email protected]

Martin SchulzeInfodrom Oldenburg[email protected]

Viktig: Bruke Mann kommando ( % Mann ) for å se hvordan en kommando brukes på din datamaskin.

relaterte artikler

  • sysklogd - Linux Command - Unix Command
  • rwall - Hva er rwa