Syslogd Linux na Amri ya Unix

Sysklogd hutoa huduma mbili za mfumo ambazo hutoa msaada kwa mfumo wa magogo na ugavi wa ujumbe wa kernel. Msaada wa matoleo yote ya mtandao na ya unix huwezesha mfuko huu wa huduma ili kuunga mkono magogo ya ndani na ya kijijini.

Ukataji wa mfumo unatolewa na toleo la syslogd (8) linalotokana na vyanzo vya BSD vya hisa. Msaada kwa ukingo wa kernel hutolewa na matumizi ya klogd (8) ambayo inaruhusu ukingo wa kernel ufanyike kwa mtindo wa kawaida au kama mteja wa syslogd.

Syslogd hutoa aina ya magogo ambayo programu nyingi za kisasa zinatumia. Ujumbe wowote ulioingia una angalau shamba na jina la mwenyeji wa majina, kwa kawaida shamba la jina la programu, pia, lakini inategemea jinsi mpango wa kuingia kwa uaminifu ulivyoaminika.

Wakati vyanzo vya syslogd vimebadilishwa sana maelezo kadhaa ni kwa utaratibu. Awali ya yote imekuwa na jaribio la utaratibu wa kuhakikisha kuwa syslogd ifuatavyo tabia yake ya default ya BSD. Dhana ya pili muhimu kutambua ni kwamba toleo hili la syslogd linaingiliana kwa uwazi na toleo la syslog linapatikana kwenye maktaba ya kawaida. Ikiwa binary inayohusishwa na maktaba yaliyoshirikiwa kawaida hayashindwa kufanya kazi kwa usahihi tunapenda mfano wa tabia mbaya.

Faili kuu ya usanidi / etet //syslog.conf au faili mbadala, iliyotolewa na -f chaguo, inasoma wakati wa kuanza. Mstari wowote unaoanza na alama ya hashi (`` # '') na mistari tupu hazikupuuzwa. Ikiwa hitilafu hutokea wakati wa kupitisha mstari mzima unapuuzwa.

Sahihi

syslogd [ -a tundu ] [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] [ -m muda ] [ -n ] [ -p tundu ] [ -r ] [ -s domain domain ] [ - v ] [ -x ]

Chaguo

-ta tundu

Kutumia hoja hii unaweza kutaja soketi za ziada kutoka kwa syslogd ambayo inasikiliza . Hii inahitajika kama utaenda kuruhusu daemon fulani kukimbia ndani ya mazingira ya chroot (). Unaweza kutumia hadi matako 19 ya ziada. Ikiwa mazingira yako yanahitaji hata zaidi, unapaswa kuongeza alama MAXFUNIX ndani ya faili ya chanzo cha syslogd.c. Mfano wa daemon ya chroot () huelezwa na watu kutoka OpenBSD kwenye http://www.psionic.com/papers/dns.html.

-d

Inabadilisha hali ya kufuta. Kutumia hii daemon haitakwenda uma (2) ili kujitegemea nyuma, lakini kinyume na kile kinakaa mbele na kuandika taarifa nyingi za uharibifu kwenye tty ya sasa. Tazama sehemu ya DEBUGGING kwa maelezo zaidi.

-f faili ya usanidi

Taja faili mbadala ya usanidi badala ya /etc/syslog.conf , ambayo ni default.

-h

Kwa default syslogd haitatuma ujumbe unaopokea kutoka kwa majeshi ya mbali. Kufafanua kubadili hii kwenye mstari wa amri itasababisha daemon ya kuingia ili kupeleka ujumbe wowote wa kijijini unaopokea kwa kupeleka majeshi yaliyoelezwa.

-l hostlist

Taja jina la mwenyeji ambalo linapaswa kuingia tu kwa jina lake la mwenyeji na sio fqdn. Majeshi mengi yanaweza kutajwa kwa kutumia kachunguzi cha colon (``: '').

-m muda

Syslogd kumbukumbu ya timestamp ya alama mara kwa mara. Kipindi cha kati kati ya mistari mbili - MARK ni dakika 20. Hii inaweza kubadilishwa kwa chaguo hili. Kuweka muda hadi sifuri kugeuka kabisa.

-n

Epuka asili ya asili. Hii inahitajika hasa ikiwa syslogd imeanza na kudhibitiwa na init (8).

-p tundu

Unaweza kutaja tundu mbadala ya kikoa cha unix badala ya / dev / logi .

-r

Chaguo hili litawezesha kituo kupokea ujumbe kutoka kwenye mtandao kwa kutumia tundu la kikoa cha mtandao na huduma ya syslog (angalia (5)). Kichapishaji ni kupokea ujumbe wowote kutoka kwenye mtandao.

Chaguo hili linaletwa katika toleo la 1.3 la mfuko wa sysklogd. Tafadhali kumbuka kuwa tabia ya default ni kinyume cha jinsi matoleo ya zamani yanavyofanya, hivyo huenda ukageuka.

- orodha ya kikoa

Taja jina la kikoa ambalo linapaswa kufutwa kabla ya kuingia. Vipengele vingi vinaweza kutajwa kwa kutumia kijiko cha rangi (``: ''). Tafadhali eleuriwa kuwa hakuna mada ndogo ya chini yanaweza kutajwa lakini vikoa vyenye tu. Kwa mfano kama -s north.de ni maalum na magogo ya mwenyeji huamua kutatua satu.infodrom.north.de hakuna kikoa kinachokatwa, utahitaji kutaja domain mbili kama: -s north.de:infodrom.north.de .

-v

Toleo la uchapishaji na uondoke.

-x

Lemaza upakuaji wa jina wakati unapokea ujumbe wa mbali. Hii inakataa vikwazo wakati majina ya majina yanaendesha kwenye mashine hiyo inayoendesha daemon syslog.

Ishara

Syslogd humenyuka kwa seti ya ishara. Unaweza kutuma kwa urahisi ishara kwa syslogd kwa kutumia zifuatazo:

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

Sighup

Hii inaruhusu syslogd kufanya uanzishaji upya. Faili zote zilizo wazi zimefungwa, faili ya usanidi (default ni /etc/syslog.conf ) itasoma tena na kituo cha syslog (3) kinaanzishwa tena.

SIGTERM

Syslogd itafa .

SIGINT , SIGQUIT

Ikiwa uharibifu wa marufuku umewezeshwa haya hayapuuzwa , vinginevyo syslogd itakufa.

SIGUSR1

Badilisha kubadili / kuzima. Chaguo hili linaweza kutumika tu kama syslogd imeanza na chaguo -d debug.

SIGCHLD

Kusubiri kwa watoto kama wengine walizaliwa, kwa sababu ya ujumbe wa wall'ing.

Mipangilio ya Picha Tofauti ya Syntax

Syslogd inatumia syntax tofauti kidogo kwa faili yake ya usanidi kuliko vyanzo vya awali vya BSD. Ujumbe wa awali wa kipaumbele maalum na juu ulipelekwa kwa faili ya logi.

Kwa mfano, mstari uliofuata ulisababisha pato zote kutoka kwa daemons kutumia vituo vya daemon (kufuta ni kipaumbele cha chini kabisa, hivyo kila juu pia itafanana) kwenda / usr / adm / daemons :

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

Chini ya mpango mpya, tabia hii inabakia sawa. Tofauti ni kuongeza kwa specifiers mpya nne, asterisk ( * ) wildcard, ishara ya equation ( = ), alama ya kufurahisha ( ! ), Na ishara ndogo ( - ).

* Inasema kwamba ujumbe wote kwa kituo maalum unafaa kuelekezwa kwenye marudio. Kumbuka kwamba tabia hii inafungua na kutaja kiwango cha kipaumbele cha kufuta. Watumiaji wamesema kuwa notation ya asterisk intuitive zaidi.

The = wildcard hutumiwa kuzuia magogo kwenye darasa la kipaumbele. Hii inaruhusu, kwa mfano, kupitisha ujumbe wa kufuta tu kwenye chanzo fulani cha kuingia.

Kwa mfano, mstari wafuatayo katika syslog.conf utaongoza ujumbe wa kufuta ujumbe kutoka vyanzo vyote hadi faili / usr / adm / debug faili.

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

Ya ! hutumiwa kutengwa magogo ya vipaumbele maalum. Hii inathiri uwezekano wote (!) Wa kutaja vipaumbele.

Kwa mfano, mistari ifuatayo ingeingia kwenye ujumbe wote wa barua pepe isipokuwa wale walio na maelezo ya kipaumbele kwenye faili / usr / adm / mail . Na ujumbe wote kutoka news.info (ikiwa ni pamoja) na news.crit (ukiondoa) utaingia kwenye faili / usr / adm / news .

# Mfano wa barua ya syslog.conf. *; Mail.! = Info / usr / adm / mail news.info; habari.! Crit / usr / adm / news

Unaweza kutumia intuitively kama specifier exception. Tafsiri iliyotajwa hapo juu inabadilika tu. Kufanya kwamba unaweza kutumia

mail.none

au

barua.! *

au

mail.! kufuta

kuruka kila ujumbe unaokuja na kituo cha mail. Kuna nafasi kubwa ya kucheza nayo. :-)

A - inaweza tu kutumika kwa kuanzisha jina la faili kama unataka kuacha kusawazisha faili baada ya kila kuandika.

Hii inaweza kuchukua acclimatization kwa wale watu kutumika kwa tabia safi BSD lakini watazamaji wameonyesha kwamba syntax hii ni kiasi kidogo zaidi kuliko tabia BSD. Kumbuka kuwa mabadiliko haya haipaswi kuathiri faili za syslog.conf (5) zilizo kawaida. Lazima uweze kurekebisha faili za usanidi ili kupata tabia iliyoimarishwa.

Msaidizi wa Kuingia kwa Remote

Marekebisho haya hutoa msaada wa mtandao kwenye kituo cha syslogd. Usaidizi wa mitandao ina maana kuwa ujumbe unaweza kutumwa kutoka kwenye node moja inayoendesha syslogd kwenye node nyingine inayoendesha syslogd ambapo watakuwa watumiaji wa kweli kwenye faili ya disk.

Ili kuwezesha hii unapaswa kutaja chaguo-- r kwenye mstari wa amri. Tabia ya default ni kwamba syslogd haitasikiliza mtandao.

Mkakati ni kuwa na syslogd kusikiliza kwenye tundu la uwanja wa unix kwa ujumbe wa logi uliozalishwa ndani. Tabia hii itaruhusu syslogd kuingiliana na syslog iliyopatikana kwenye maktaba ya kawaida ya C. Wakati huo huo syslogd inasikiliza bandari ya syslog ya kawaida kwa ujumbe uliotumwa kutoka kwa majeshi mengine. Ili kuwa na kazi hii kwa usahihi huduma (5) files (kawaida hupatikana katika / nk ) lazima iwe na kuingia zifuatazo:

syslog 514 / udp

Ikiwa kuingia hii haipo syslogd wala hawezi kupokea ujumbe wa mbali au kuwatuma, kwa sababu bandari ya UDP haifunguliwe . Badala yake, syslogd itafa mara moja, ikitoa ujumbe wa kosa.

Ili kusababisha ujumbe kutumiwa kwa mwenyeji mwingine kuchukua nafasi ya mstari wa kawaida wa faili katika faili ya syslog.conf na jina la mwenyeji ambayo ujumbe unatakiwa kutumiwa na @.

Kwa mfano, kusambaza ujumbe wote kwa jeshi la kijijini ukitumia ijayo kuingia kwa syslog.conf :

# Sampuli ya faili ya usanidi syslogd kwa ujumbe # kwa jeshi la mbali mbali. *. * @hostname

Ili kupeleka ujumbe wote wa kernel kwa jeshi la kijijini faili ya usanidi itakuwa kama ifuatavyo:

# Sample faili ya usanidi wa mbele ujumbe wote wa kernel # kwa jeshi la mbali. kern. * @hostname

Ikiwa jina la jeshi la kijijini haliwezi kutatuliwa wakati wa kuanza, kwa sababu jina la seva huwezi kupatikana (linaweza kuanza baada ya syslogd) huna budi kuwa na wasiwasi. Syslogd itajaribu kutatua jina mara kumi na kisha kulalamika. Uwezekano mwingine wa kuepuka hii ni kuweka jina la mwenyeji katika / nk / majeshi .

Kwa kawaida syslogd s ungepata loops ya syslog ikiwa unatuma ujumbe uliopokea kutoka kwa jeshi la kijijini hadi jeshi moja (au ngumu zaidi kwa mwenyeji wa tatu ambaye hutuma nyuma ya kwanza, na kadhalika). Katika uwanja wangu (Infodrom Oldenburg) tulipata ajali moja na disks yetu iliyojaa ujumbe huo huo. :-(

Ili kuepuka hili kwa nyakati zaidi hakuna ujumbe uliopokea kutoka kwa jeshi la mbali hutumwa tena (au sawa) jeshi la kijijini tena. Ikiwa kuna matukio ambapo hii haina maana, tafadhali niponyeze (Joey) mstari.

Ikiwa mwenyeji wa kijijini iko kwenye uwanja sawa na mwenyeji, syslogd inaendelea, jina la mwenyeji rahisi ni lolote badala ya fqdn nzima.

Katika mtandao wa ndani unaweza kutoa seva ya kati ya kumbukumbu ili kuwa na taarifa zote muhimu zilizowekwa kwenye mashine moja. Ikiwa mtandao una mada tofauti hauna haja ya kulalamika juu ya ukataji wa majina wenye sifa kamilifu badala ya majina ya majina rahisi. Huenda unatumia kipengele cha mstari-wa uwanja wa seva hii. Unaweza kuwaambia syslogd kuondoa vikoa kadhaa zaidi ya ile seva iko na ingia tu hostnames rahisi.

Kutumia chaguo -hii pia kuna uwezekano wa kufafanua majeshi moja kama mashine za ndani. Hii, pia, husababisha kuingia magogo ya majina yao rahisi na sio fqdns.

Tundu la UDP kutumika kupeleka ujumbe kwa majeshi ya mbali au kupokea ujumbe kutoka kwao hufunguliwa tu wakati inahitajika. Katika utoaji kabla ya 1.3-23 ulifunguliwa kila wakati lakini haukufunguliwa kwa kusoma au kupeleka kwa mtiririko huo.

Pato kwa Mabomba Maitwazo (FIFOs)

Toleo hili la syslogd lina msaada wa pato la magogo kwa mabomba yaliyoitwa (fifos). Bomba la tano au jina linaweza kutumika kama marudio kwa ujumbe wa logi kwa kutayarisha ishara ya pipy (`` | | ') kwa jina la faili. Hii ni rahisi kwa kufuta. Kumbuka kuwa tano lazima iundwa na amri ya mkfifo kabla syslogd imeanza.

Njia za faili za ufuatiliaji zifuatazo hutoa ujumbe kutoka kwa kernel hadi tano:

# Mfano wa usanidi wa kutengeneza ujumbe wa uharibifu wa kernel # KUNA tu / usr / adm / debug ambayo ni bomba # inayoitwa. kern = = debug | / usr / adm / debug

Matatizo ya Ufungaji

Kuna uwezekano wa kuzingatia muhimu wakati wa kufunga toleo hili la syslogd. Toleo hili la syslogd linategemea muundo sahihi wa ujumbe na kazi ya syslog. Kazi ya kazi ya syslog kwenye maktaba yaliyoshirikiwa iliyopita mahali fulani katika eneo la libc.so.4. [2-4] .n. Mabadiliko maalum yalikuwa ya kufuta ujumbe kabla ya kuipitisha kwenye tundu la / dev / logi . Kazi sahihi ya toleo hili la syslogd inategemea uondoaji wa ujumbe usio wazi.

Tatizo hili litajitokeza kwa kawaida kama umri uliounganishwa kwa binary unatumika kwenye mfumo. Binaries kutumia matoleo ya zamani ya kazi ya syslog itasababisha mistari tupu ya kuingizwa ikifuatiwa na ujumbe na tabia ya kwanza katika ujumbe uliondolewa. Kufafanua binaries hizi kwa matoleo mapya ya maktaba yaliyoshiriki itasaidia tatizo hili.

Wote syslogd (8) na klogd (8) zinaweza kukimbia kutoka init (8) au kuanza kama sehemu ya rc * * mlolongo. Ikiwa imeanzishwa kutoka init chaguo -nipaswa kuweka, vinginevyo, utapata tani za daemons za syslog zilianza. Hii ni kwa sababu init (8) inategemea ID ya mchakato.

Usalama wa Usalama

Kuna uwezekano wa daemon ya syslogd kutumiwa kama njia ya kukataa shambulio la huduma. Shukrani kwenda John Morrison (jmorriso@rflab.ee.ubc.ca) kwa kunijulisha uwezo huu. Mpango wa rogue (mer) unaweza urahisi sana kuimarisha daemon syslogd na ujumbe syslog kusababisha files logi kuteketeza nafasi iliyobaki katika mfumo wa faili . Kuimarisha magogo juu ya soketi ya kikoa cha inet bila shaka itakuwa wazi mfumo wa hatari kwa nje ya mipango au watu binafsi kwenye mashine ya ndani.

Kuna njia kadhaa za kulinda mashine:

  1. Tumia kernel firewalling ili kupunguza majeshi au mitandao ya kufikia tundu la 514 / UDP.
  2. Kuingia kwenye akaunti inaweza kuelekezwa kwenye mfumo wa faili ya pekee au isiyo ya mizizi ambayo, ikiwa imejaa, haiwezi kuharibu mashine.
  3. Programu ya faili ya ext2 inaweza kutumika ambayo inaweza kusanidi ili kupunguza asilimia fulani ya mfumo wa faili ya matumizi na mizizi tu. Tambua kwamba hii itahitaji syslogd kukimbia kama mchakato usio wa mizizi. Pia kuzingatia kwamba hii itauzuia matumizi ya magogo ya kijijini tangu syslogd haitaweza kumfunga tundu la 514 / UDP.
  4. Kuzuia soketi za kikoa cha inet zitapunguza hatari kwa mashine ya ndani.
  5. Tumia hatua ya 4 na ikiwa tatizo linaendelea na sio la pili kwa programu ya rogue / daemon kupata urefu wa mraba wa mraba wa 3.5 ft (wastani wa mita 1) na uweze kuzungumza na mtumiaji swali. Fimbo ya mkufu def. --- 3/4, 7/8 au 1in. fimbo ya chuma ngumu, kiume kilichofungwa kwenye kila mwisho. Matumizi ya msingi katika sekta ya mafuta katika Magharibi ya Kaskazini Dakota na sehemu nyingine za kusukuma mafuta ya 'kunyonya' kutoka kwenye visima vya mafuta. Matumizi ya Sekondari ni kwa ajili ya ujenzi wa kura za ng'ombe na kwa kushughulika na mtu aliyependa mara kwa mara au mwenye ujinga.

Kutenganisha

Wakati uharibifu umegeuka juu ya kutumia -d chaguo basi syslogd itakuwa verbose sana kwa kuandika mengi ya kile kinachofanya kwenye stdout. Wakati wowote faili ya usanidi inapitiwa tena na kufanyiwa upya utaona tangazo, linalingana na muundo wa data wa ndani. Tabular hii ina mashamba minne:

nambari

Shamba hii ina namba ya samba inayoanza kwa sifuri. Nambari hii inawakilisha nafasi katika muundo wa ndani wa data (yaani safu). Ikiwa namba moja imesalia nje kunaweza kuwa na hitilafu kwenye mstari unaoendana katika /etc/syslog.conf .

mfano

Shamba hii ni ngumu na inawakilisha muundo wa ndani hasa. Kila safu inasimama kituo (rejea syslog (3)). Kama unaweza kuona, bado kuna vifaa vingine vilivyoachwa bure kwa matumizi ya zamani, zaidi ya kushoto hutumiwa. Kila shamba katika safu inawakilisha vipaumbele (rejea syslog (3)).

hatua

Shamba hili linaelezea hatua fulani inayofanyika kila wakati ujumbe unapokelewa unaofanana na muundo. Rejea ukurasa wa syslog.conf (5) kwa vitendo vyote vinavyowezekana.

hoja

Shamba hili linaonyesha hoja za ziada kwa vitendo katika shamba la mwisho. Kwa kufungua faili hii ni jina la faili la faili ya logi; kwa kuingia kwa mtumiaji hii ni orodha ya watumiaji; kwa magogo ya kijijini hii ni jina la mwenyeji wa mashine ya kuingia; kwa console-logging hii ni console kutumika; kwa tty-logging hii ni tty maalum; ukuta hauna hoja za ziada.

Angalia pia

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

Washiriki

Syslogd inachukuliwa kutoka vyanzo vya BSD, Greg Wettstein (greg@wind.enjellic.com) alifanya bandari kwenye Linux , Martin Schulze (joey@linux.de) aliweka mende na akaongeza vipengele vipya kadhaa. Klogd ilikuwa imeandikwa na Steve Lord (lord@cray.com), Greg Wettstein alifanya maboresho makubwa.

Dr Greg Wettstein
Maendeleo ya mifumo mazuri

Idara ya Uchunguzi wa Oncology Idara ya Usimamizi wa Kompyuta
Kituo cha Kansa ya Roger Maris
Fargo, ND
greg@wind.enjellic.com

Stephen Tweedie
Idara ya Sayansi ya Kompyuta
Chuo Kikuu cha Edinburgh, Scotland
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Huko Oldenburg
joey@linux.de

Muhimu: Tumia amri ya mtu ( % mtu ) ili kuona jinsi amri hutumiwa kwenye kompyuta yako fulani.

Makala zinazohusiana