Syslogd Linux ug Unix Command

Ang Sysklogd naghatag og duha ka sistema sa mga utilities nga naghatag og suporta alang sa sistema sa pag-log ug kernel message nga pag-ipit. Suportado sa internet ug unix domain sockets ang kini nga utility nga pakete aron pagsuporta sa lokal ug remote nga logging.

Ang pag-log sa sistema gihatag pinaagi sa usa ka bersyon sa syslogd (8) nga gikuha gikan sa tinubdan sa BSD nga tinubdan. Ang suporta alang sa kernel logging gihatag sa klogd (8) utility nga nagtugot sa pag-log sa kernel nga ipahigayon sa bisan hain nga paagi o ingon nga kliyente sa syslogd.

Ang Syslogd naghatag og usa ka matang sa logging nga gigamit sa daghang mga modernong programa. Ang matag naka-log nga mensahe naglangkob sa labing menos sa usa ka panahon ug usa ka field sa hostname, kasagaran usa ka field name sa programa, usab, apan nagadepende kon unsa ka kasaligan ang programa sa logging.

Samtang ang mga tinubdan sa syslogd nausab pag-usab ang pipila ka mga nota anaa sa han-ay. Una sa tanan adunay sistematikong paningkamot aron masiguro nga ang syslogd nagsunod sa iyang default, standard BSD nga kinaiya. Ang ikaduha nga mahinungdanon nga konsepto nga namatikdan mao nga kini nga bersyon sa syslogd makigkomunikar sa tataw sa bersyon sa syslog nga makita diha sa mga standard nga mga librarya. Kung ang usa ka binary nga nalambigit sa standard shared shared libraries dili molihok sa husto nga gusto nato nga usa ka pananglitan sa anomaloso nga kinaiya.

Ang nag-una nga configuration file /etc/syslog.conf o usa ka alternatibo nga file, nga gihatag uban ang -f nga opsyon, mabasa sa pagsugod. Ang bisan unsang mga linya nga nagasugod sa hash mark (`` # '') ug walay sulod nga mga linya wala panumbalinga. Kung ang usa ka kasaypanan nga mahitabo sa panahon sa pag-parsing ang tibook nga linya wala manumbaling.

Sinopsis

syslogd [ -a socket ] [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] [ -m interval ] [ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ - v ] [ -x ]

Mga kapilian

-usa nga socket

Pinaagi sa paggamit niini nga argumento nga imong mahibal-an ang dugang nga mga tudlo gikan sa syslogd nga kinahanglan nga paminawon. Kini gikinahanglan kon imong tugotan ang pipila ka mga daemon nga modagan sulod sa chroot () nga palibot. Makagamit ka sa 19 ka dugang nga mga tungtongan. Kung gikinahanglan ang gikinahanglan sa imong kinaiyahan, imong dugangan ang simbolo nga MAXFUNIX sulod sa syslogd.c source file. Usa ka pananglitan alang sa usa ka chroot () nga daemon gihulagway sa mga tawo gikan sa OpenBSD sa http://www.psionic.com/papers/dns.html.

-d

Nag-on sa debug mode. Gigamit kini nga daemon dili magpadayon sa usa ka fork (2) aron sa pagpahimutang sa iyang kaugalingon sa luyo, apan sukwahi sa pagpabilin sa foreground ug isulat ang daghan nga impormasyon sa debug sa kasamtangan nga tty. Tan-awa ang DEBUGGING seksyon alang sa dugang kasayuran.

-f config file

Tinoa ang alternatibong file sa pagsumpo inay sa /etc/syslog.conf , nga mao ang default.

-h

Sa baylo ang syslogd dili mopadayon sa mga mensahe nga madawat gikan sa hilit nga mga panon. Ang pagtino niini nga switch sa command line maoy hinungdan sa log daemon nga ipadala ang bisan unsang mga remote nga mensahe nga nadawat niini ngadto sa forwarding hosts nga gihubit.

-l hostlist

Tinoa ang hostname nga kinahanglan nga ma-log in lamang sa yano nga hostname ug dili sa fqdn. Ang daghang panon mahimo nga matino gamit ang colon (``: '') separator.

-m gilay-on

Ang syslogd nag- log sa usa ka timestamp nga marka kanunay. Ang default interval tali sa duha ka linya nga MARK mao ang 20 minutos. Kini mahimong usbon uban niini nga kapilian. Ang pagpahimutang sa sal-ang ngadto sa zero hingpit nga nagpalayo niini.

-n

Likayi ang pag-usob sa auto. Kini gikinahanglan ilabi na kon ang syslogd gisugdan ug gikontrolar sa init (8).

-p socket

Mahimo nimong isulti ang usa ka alternatibo nga socket sa unix domain imbis nga / dev / log .

-r

Kini nga kapilian makahimo sa pasilidad nga makadawat sa usa ka mensahe gikan sa network nga gamit ang internet domain socket uban sa syslog service (tan-awa ang (5)). Ang default mao ang dili makadawat sa bisan unsa nga mensahe gikan sa network.

Kini nga kapilian gipaila sa bersyon 1.3 sa sysklogd nga pakete. Palihug timan-i nga ang default nga kinaiya mao ang kaatbang kung giunsa ang mga karaan nga mga bersyon nga nagagawi, aron mahimo nimo kini pag-usab.

-slistlist

Tinoa ang usa ka ngalan sa domain nga kinahanglang kuhaon sa dili pa ang pag-log. Ang daghang mga domain mahimo nga matino gamit ang colon (``: '') separator. Palihug hinumdomi nga walay mga sub-domain mahimo nga matino apan bug-os nga mga dominyo. Pananglitan kon ang -s north.de gihisgutan ug ang host logging molihok ngadto sa isa.infodrom.north.de walay domain nga pagaputlon, kinahanglan nimo ilista ang duha ka mga dominyo sama sa: -s north.de:infodrom.north.de .

-v

I-print ang bersyon ug exit.

-x

Ayaw paglantaw sa pagpangita sa ngalan sa pagdawat sa layo nga mga mensahe. Kini naglikay sa mga deadlocks sa dihang ang nameserver nagdagan sa sama nga makina nga midagan sa syslog nga daemon.

Mga signal

Ang reaksiyon sa Syslogd usa ka hugpong sa signal. Mahimong dali ka mopadala og signal sa syslogd gamit ang mosunod:

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

Sighup

Kini nagpahigayon sa syslogd sa pagpatuman pag-usab. Ang tanan nga mga bukas nga mga file gisirado, ang configuration file (default mao ang /etc/syslog.conf ) basahon pag-usab ug ang syslog (3) pasilidad magsugod pag-usab.

SIGTERM

Ang syslogd mamatay.

SIGINT , SIGQUIT

Kon ang debugging nakapahimo nga kini wala panumbalinga, kung dili ang syslogd mamatay.

SIGUSR1

Ibalhin ang debugging sa / off. Kini nga kapilian magamit lamang kon ang syslogd gisugdan uban sa -d debug option.

SIGCHLD

Paghulat sa mga bata kon ang uban natawo, tungod sa mga mensahe sa wall'ing.

Pag-usab sa Pag-synta sa File Configuration

Ang Syslogd naggamit sa usa ka gamay nga nagkalainlain nga syntax alang sa configuration file gawas sa orihinal nga mga tinubdan sa BSD. Sa sinugdanan ang tanan nga mga mensahe sa usa ka piho nga prayoridad ug sa ibabaw gipadala ngadto sa log file.

Pananglitan, ang mosunod nga linya hinungdan sa ALL output gikan sa mga daemon nga naggamit sa mga pasilidad sa daemon (ang debug mao ang labing ubos nga prayoridad, busa ang matag mas taas usab magkaparis) aron makaadto sa / usr / adm / daemon :

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

Ubos sa bag-ong plano, kini nga kinaiya nagpabilin nga pareho. Ang kalainan mao ang pagdugang sa upat ka mga bag-ong espisipiko, ang asterisk ( * ) nga wildcard, ang marka sa equation ( = ), ang marka sa exclamation ( ! ), Ug ang minus sign ( - ).

Ang * nagtino nga ang tanan nga mga mensahe alang sa gitakda nga pasilidad ibalhin ngadto sa destinasyon. Timan-i nga ang kini nga kinaiya nagkadunot sa pagtino sa usa ka prayoridad nga lebel sa debug. Gipakita sa mga tiggamit nga ang asterisk notation mas intuitive.

Ang = wildcard gigamit aron mapugngan ang pagtroso sa gitakda nga prayoridad nga klase. Pananglitan, kini makahimo sa pag-routing sa mga mensahe ngadto sa usa ka tinubdan sa logging.

Pananglitan, ang mosunod nga linya sa syslog.conf mag-direct debug mga mensahe gikan sa tanang tinubdan ngadto sa / usr / adm / debug file.

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

Ang ! gigamit aron dili ma-log ang mga gitakda nga mga prayoridad. Kini makaapekto sa tanan (!) Mga posibilidad sa pagtino sa mga prayoridad.

Pananglitan, ang mosunod nga mga linya mag log sa tanang mensahe sa mail sa pasilidad gawas niadtong adunay prayoridad nga impormasyon sa / usr / adm / mail file. Ug ang tanan nga mga mensahe gikan sa news.info (apil) ngadto sa news.crit (walay labot) mahimong ma-log sa / usr / adm / news file.

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

Mahimo nimo kini gamiton nga eksakto isip eksepsiyon. Ang gihisgotang gihisgutan sa ibabaw yano nga balitado. Paghimo nga mahimo nimo gamiton

mail.none

o

mail.! *

o

mail.! debug

sa paglaktaw sa matag mensahe nga adunay pasilidad sa koreo. Adunay daghan nga lawak sa pagdula uban niini. :-)

Ang - pwede lamang gamiton aron prefix ang usa ka filename kung gusto nimo oi ang pag-sync sa file human sa matag pagsulat niini.

Mahimo kini nga pag-acclimatization sa mga indibidwal nga gigamit sa lunsay nga batasan sa BSD apan ang mga tigpamatuod nagpakita nga kini nga syntax ingon og mas sayo kay sa BSD nga kinaiya. Hinumdomi nga kini nga mga kausaban dili makaapekto sa standard syslog.conf (5) nga mga file. Kinahanglan mo ilabi na nga usbon ang mga file sa pagsumpo aron makuha ang gipaayo nga pamatasan.

Support alang sa Remote Logging

Kini nga mga kausaban naghatag og suporta sa network sa pasilidad sa syslogd. Ang suporta sa network nagpasabot nga ang mga mensahe mahimo ipadala gikan sa usa ka node nga nagadagan syslogd ngadto sa laing node nga nagdagan syslogd diin kini tinuod nga gi-log sa usa ka disk file.

Aron mahimo kini kinahanglan nga imong itakda ang -r nga opsyon sa command line. Ang default nga kinaiya mao nga ang syslogd dili maminaw sa network.

Ang estratehiya mao ang pagpatalinghog sa syslogd sa unix domain socket alang sa lokal nga mga log nga mga mensahe nga gihimo. Kini nga kinaiya makahatag sa syslogd sa pag-inter-operate sa syslog nga makita sa standard C library. Sa samang higayon ang syslogd maminaw sa standard syslog port alang sa mga mensahe nga ipasa gikan sa laing panon. Aron husto kining pagtrabaho sa mga serbisyo (5) mga file (kasagaran makita sa / etc ) kinahanglan nga adunay mosunod nga entry:

syslog 514 / udp

Kung wala kini nga entry wala ang syslogd ni dili makadawat sa hilit nga mga mensahe ni ipadala sila, tungod kay ang UDP port dili mabuksan. Hinuon, ang syslogd mamatay dayon, nga maghatag og mensahe sa sayop.

Aron ang mga mensahe ipadala ngadto sa lain nga panon mopuli sa normal nga linya sa file sa syslog.conf file uban ang ngalan sa host diin ang mga mensahe ipadala mag-prepended sa usa ka @.

Pananglitan, aron ipadala ang TANANG mensahe ngadto sa usa ka hilit nga host gamit ang mosunod nga syslog.conf entry:

# Sample syslogd configuration file ngadto # mga mensahe ngadto sa usa ka hilit nga host sa tanan. *. * @hostname

Aron ipadala ang tanang mga mensahe sa kernel ngadto sa usa ka hilit nga host ang configuration file mahimo nga ingon niini:

# Sample configuration file aron ipadala ang tanan nga kernel # messages ngadto sa usa ka hilit nga host. kern. * @hostname

Kon ang hilit nga hostname dili masulbad sa pagsugod, tungod kay ang ngalan-server dili mahimong ma-access (mahimong gisugdan kini human sa syslogd) dili kinahanglan nga mabalaka. Ang Syslogd mosulay sa pagsulbad sa ngalan sa napulo ka higayon ug dayon magreklamo. Ang laing posibilidad nga likayan kini mao ang pagbutang sa hostname sa / etc / host .

Sa normal nga syslogd mahimo ka nga makakuha og mga syslog-loops kung imong ipadala ang mga mensahe nga nadawat gikan sa usa ka hilit nga host ngadto sa sama nga host (o mas komplikado sa usa ka ikatulo nga panon nga nagpadala niini balik sa una, ug uban pa). Sa akong domain (Infodrom Oldenburg) kita sa aksidente nakuha ang usa ug ang atong mga disk puno sa mao ra nga mensahe. :-(

Aron malikayan kini sa dugang nga mga panahon walay mga mensahe nga nadawat gikan sa usa ka hilit nga panon gipadala ngadto sa lain (o sama nga) hilit nga panon. Kung adunay mga sitwasyon kung diin kini dili makatarunganon, palihug ibutang ako (Joey) usa ka linya.

Kon ang hilit nga host nahimutang sa samang dominyo sama sa host, ang syslogd nagpadayon, ang yano nga hostname ang ilista sa baylo sa tibuok nga fqdn.

Diha sa usa ka lokal nga network mahimo ka nga maghatag og sentro sa log server aron mahuptan ang tanang importante nga impormasyon sa usa ka makina. Kon ang network naglangkob sa lainlaing mga dominyo wala ka magreklamo mahitungod sa pag-log sa hingpit nga mga kwalipikadong mga pangalan imbis sa yanong mga pinulongan. Mahimo nimo gamiton ang strip-domain feature -s niining server. Mahimo nimong sultian ang syslogd aron hubaron ang pipila ka mga dominyo gawas sa usa nga nahimutang sa server ug mag-log lang sa yanong mga hostname.

Ang paggamit sa -l nga opsyon adunay usa usab ka posibilidad sa paghubit sa nag-inusarang panon ingon nga mga lokal nga makina. Kini usab nagresulta sa pagtangtang lamang sa ilang yano nga mga tag-iya ug dili sa mga fqd.

Ang socket sa UDP nga gigamit sa pag-forward sa mga mensahe ngadto sa mga hilit nga panon o aron makadawat og mga mensahe gikan niini mabuksan lamang kung kini gikinahanglan. Sa pagpagawas sa wala pa ang 1.3-23 gibuksan kini sa matag higayon apan wala giablihan alang sa pagbasa o pagpadala sa tinagsa.

Output to Named Pipes (FIFOs)

Kini nga bersyon sa syslogd adunay suporta alang sa pag-logging nga output ngadto sa mga pipe (fifos). Ang usa ka fifo o gipangalan nga tubo mahimong gamiton isip usa ka destinasyon alang sa log messages pinaagi sa pag-prepay sa usa ka pipy symbol (`` | '') sa ngalan sa file. Kini nga gamit alang sa debugging. Hinumdomi nga ang fifo kinahanglan nga gimugna uban sa mkfifo nga commands sa dili pa magsugod ang syslogd.

Ang mosunod nga mga ruta sa pagsulbad sa file mag-debug sa mga mensahe gikan sa kernel ngadto sa usa ka fifo:

# Sample configuration aron sa pag-route kernel debugging # messages ONLY to / usr / adm / debug nga usa ka # pinangalan nga pipe. kern. = debug | / usr / adm / debug

Pag-instalar sa mga Kabalaka

Adunay usa ka mahinungdanon nga pagkonsiderar sa pag-instalar niini nga bersyon sa syslogd. Kini nga bersyon sa syslogd nagsalig sa tukmang pag-format sa mga mensahe sa syslog function. Ang pag-obra sa syslog function sa mga shared libraries nausab sa usa ka dapit sa rehiyon sa libc.so.4. [2-4] .n. Ang piho nga kausaban mao ang null-terminate sa mensahe sa dili pa ipadala kini sa socket / dev / log . Ang hustong paglihok niini nga bersyon sa syslogd nag-agad sa null-termination sa mensahe.

Ang kini nga suliran kasagaran magpakita sa kaugalingon kon ang daan nga gi-link nga mga binary sa estadistika gigamit sa sistema. Ang mga binary nga gigamit nga daan nga mga bersyon sa syslog function makahimo sa mga walay sulod nga mga linya nga masudlan nga gisundan gisundan sa mensahe nga ang una nga karakter sa mensahe nga gikuha. Ang pag-atubang niining mga binary ngadto sa mas bag-ong bersyon sa mga librarya nga nakigbahin ang magtul-id niini nga problema.

Ang syslogd (8) ug ang klogd (8) mahimong modagan gikan sa init (8) o gisugdan ingon nga bahin sa rc. * Nga han-ay. Kung kini gisugdan gikan sa init ang kapilian -n kinahanglan nga itakda, kung dili, makadawat ka daghang tonelada nga syslog nga mga daemon nga gisugdan. Kini tungod kay ang init (8) nagdepende sa proseso sa ID.

Mga Seguridad sa Seguridad

Adunay ang potensyal alang sa syslogd nga daemon nga gigamit ingon nga usa ka agianan alang sa paglimod sa pag-atake sa serbisyo. Salamat sa pag-adto kang John Morrison (jmorriso@rflab.ee.ubc.ca) sa pagpahibalo kanako niini nga potensyal. Ang usa ka rogue nga programa (mer) dali nga mubus sa syslogd nga daemon nga adunay mga mensahe sa syslog nga miresulta sa mga file sa log nga nagaut-ut sa tanang nabilin nga luna sa filesystem . Ang pag-activate sa logging sa mga socket sa inet nga siyempre ang siyempre magbutyag sa usa ka sistema sa mga kapeligrohan gawas sa mga programa o mga indibidwal sa lokal nga makina.

Adunay daghang pamaagi sa pagpanalipod sa usa ka makina:

  1. Ipatuman ang kernel firewalling aron limitahan ang mga host o network nga adunay access sa 514 / UDP socket.
  2. Ang pag-log mahimo nga ipunting ngadto sa usa ka nahilit o dili gamut nga mga filesystem nga, kon puno, dili makadaut sa makina.
  3. Ang ext2 filesystem mahimong gamiton nga mahimong ma-configure aron limitahan ang usa ka porsyento sa usa ka filesystem ngadto sa paggamit lamang sa gamut. HIMOA nga kini nagkinahanglan sa syslogd nga pagadagan ingon nga usa ka dili-gamut nga proseso. HINUMDUMI nga kini makapugong sa paggamit sa remote nga logging tungod kay ang syslogd dili makagapos sa 514 / UDP socket.
  4. Ang disabling inet domain sockets maglimite sa risgo sa lokal nga makina.
  5. Gamita ang lakang 4 ug kung ang problema nagpadayon ug dili ikaduha sa usa ka daotan nga programa / daemon makakuha og 3.5 ft (approx 1 meter) nga gitas-on sa sucker rod * ug makig-chat sa user nga nangutana. Sucker rod def. --- 3/4, 7/8 o 1in. gahi nga gunitanan nga puthaw, laki nga gitunob sa matag tumoy. Paggamit sa primer sa industriya sa lana sa Western North Dakota ug uban pang mga dapit aron sa pagpainom sa 'lana gikan sa mga oil well. Ang paggamit sa ikaduha mao ang pagtukod sa mga baka nga magpakaon ug alang sa pagsagubang sa panagsama nga panig-ingnan o palaaway nga indibidwal.

Debugging

Sa diha nga ang pag-debug gibuksan sa paggamit sa -d nga kapilian dayon ang syslogd mabatyagan pag-ayo pinaagi sa pagsulat sa kadaghanan kung unsa ang nahimo niini sa stdout. Sa matag higayon nga ang pag-usab sa kasayuran nga basahon ug basahon pag-usab masabtan nimo ang usa ka tabular, nga katumbas sa istraktura sa internal nga data. Kini nga tabula naglangkob sa upat ka natad:

gidaghanon

Kini nga field adunay usa ka serial number sugod sa zero. Kini nga numero nagrepresentar sa posisyon sa internal nga istraktura sa datos (ie ang laray). Kon ang usa ka numero nga nahibilin nan mahimo nga usa ka sayup sa katugbang nga linya sa /etc/syslog.conf .

sumbanan

Kini nga umahan malisud ug nagrepresentar sa internal nga gambalay nga eksakto. Ang matag kolum nagpasabut sa usa ka pasilidad (nagtumong sa syslog (3)). Sumala sa imong makita, aduna gihapoy mga pasilidad nga gibiyaan nga libre alang sa kanhing paggamit, ang labing gigamit lamang ang wala. Ang matag uma sa usa ka kolum nagrepresenta sa mga prayoridad (nagtumong sa syslog (3)).

aksyon

Kini nga laray naghulagway sa partikular nga aksyon nga nagakahitabo sa matag higayon nga ang usa ka mensahe madawat nga angayan sa sumbanan. Tan-awa ang syslog.conf (5) manpage alang sa tanan nga posible nga mga lihok.

mga argumento

Kini nga kapatagan nagpakita sa dugang nga mga argumento sa mga aksyon sa katapusang natad. Kay file-logging kini mao ang filename alang sa logfile; alang sa user-logging kini usa ka listahan sa mga tiggamit; alang sa remote logging kini mao ang hostname sa makina nga pag-log in; alang sa console-logging mao kini ang gigamit nga console; Kay tty-logging kini ang tino nga tty; ang bongbong walay dugang nga mga argumento.

Tan-awa usab

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

Mga kauban

Ang Syslogd gikuha gikan sa mga tinubdan sa BSD, si Greg Wettstein (greg@wind.enjellic.com) nagpahigayon sa pantalan sa Linux , si Martin Schulze (joey@linux.de) nagpagubot sa pipila ka mga bug ug nagdugang sa daghang mga bag-ong bahin. Ang Klogd orihinal gisulat ni Steve Lord (lord@cray.com), si Greg Wettstein naghimo sa dagkong kauswagan.

Dr. Greg Wettstein
Pagpalambo sa mga Sistema sa Enjellic

Oncology Research Division Computing Facility
Roger Maris Cancer Center
Fargo, ND
greg@wind.enjellic.com

Si Stephen Tweedie
Department of Computer Science
Edinburgh University, Scotland
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Infodrom Oldenburg
joey@linux.de

Importante: Gamita ang tawo nga sugo ( % man ) aron makita kung giunsa ang usa ka sugo nga gigamit sa imong partikular nga computer.

Nalangkit nga mga Artikulo