Syslogd Linux un Unix komandu

Sysklogd nodrošina divas sistēmas utilītas, kas nodrošina atbalstu sistēmas mežizstrādei un kodola ziņu slazdošanai. Atbalsts gan interneta, gan unix domēnu ligzdām ļauj šo pakalpojumu paketi, lai atbalstītu gan vietējo, gan attālināto mežizstrādi.

Sistēmas mežizstrādi nodrošina syslogd versija (8), kas iegūta no krājuma BSD avotiem. Atbalsts kodola mežizstrādei tiek nodrošināts ar klogd (8) lietderību, kas ļauj kodola mežizstrādi veikt neatkarīgi vai kā syslogd klienta.

Syslogd ir sava veida mežizstrāde, ko izmanto daudzās mūsdienu programmās. Katrā reģistrētajā ziņojumā ir vismaz laiks un resursdatora nosaukums, parasti arī programmas nosaukuma lauks, bet tas ir atkarīgs no tā, cik ticama ir mežizstrādes programma.

Kaut arī syslogd avoti ir būtiski pārveidoti, pāris piezīmes ir kārtībā. Vispirms ir bijis sistemātisks mēģinājums nodrošināt, ka syslogd seko tā noklusējuma standarta BSD uzvedībai. Otrais svarīgais jēdziens ir atzīmēt, ka šī syslogd versija ir pārredzami mijiedarbojas ar syslog versiju, kas atrodama standarta bibliotēkās. Ja binārā, kas saistīts ar standarta kopīgām bibliotēkām, nedarbojas pareizi, mēs vēlētos anomālās uzvedības piemēru.

Galvenais konfigurācijas fails /etc/syslog.conf vai alternatīvais fails, kas norādīts ar -f opciju, tiek nolasīts startējot. Jebkuras līnijas, kas sākas ar hash zīmes (`` # '') un tukšas līnijas tiek ignorētas. Ja parsēšanas laikā rodas kļūda, tiek ignorēta visa rinda.

Kopsavilkums

[ -n ] [ -p socket ] [ -r ] [ -s domēnu saraksts ] [ -h ] [ -l resursdatora saraksts ] [ -m intervāls ] [ -n ] [ -p socket ] [ -r ] [ -s domēnu saraksts ] [ - v ] [ -x ]

Iespējas

- kontaktligzda

Izmantojot šo argumentu, jūs varat norādīt papildu ligzdas, no kurām syslogd ir jāuzklausa. Tas ir nepieciešams, ja jūs dodaties, lai daži dēmoni darbotos hroot () vidē. Jūs varat izmantot līdz pat 19 papildu kontaktligzdām. Ja jūsu vide ir vēl vajadzīga, jums ir jāpalielina simbols MAXFUNIX syslogd.c avota failā. Hrona () daemona piemēru apraksta cilvēki no OpenBSD vietnē http://www.psionic.com/papers/dns.html.

-d

Ieslēdz atkļūdošanas režīmu. Izmantojot šo funkciju, dēmons nepārvietos dakšiņu (2), lai iestatītu sevi fonā, bet pretēji tam paliek priekšplānā un uzrakstiet lielu atkļūdošanas informāciju par pašreizējo tty. Sīkāku informāciju skatiet nodaļā DEBUGGING.

-f konfigurācijas fails

Norādiet alternatīvu konfigurācijas failu, nevis /etc/syslog.conf , kas ir noklusējums.

-h

Pēc noklusējuma syslogd netiks pārsūtītas ziņas no attālinātiem saimniekiem. Norādot šo slēdzi komandrindā, žurnāla dēmons pārsūtīs visas attālās ziņas, ko tā saņem, lai pārsūtītu jau izveidotās saimniekdatorus.

-l resursdatora saraksts

Norādiet saimniekdatora nosaukumu, kas jāreģistrē tikai ar tā vienkāršo saimniekdatora nosaukumu, nevis fqdn. Vairāki saimnieki var tikt norādīti, izmantojot kolu (``: '') atdalītāju.

-m intervāls

Syslogd regulāri ieraksta atzīmes laika zīmi. Noklusējuma intervāls starp divām - MARK līnijām ir 20 minūtes. To var mainīt ar šo opciju. Nulles intervāla iestatīšana pilnībā izslēdz to.

-n

Izvairieties no automātiskās fona. Tas ir vajadzīgs, jo īpaši, ja syslogd tiek palaists un kontrolē init (8).

-p kontaktligzda

Jūs varat norādīt alternatīvu Unix domēna ligzdu vietā / dev / log .

-r

Šī opcija ļaus iespējai saņemt ziņojumu no tīkla, izmantojot interneta domēna ligzdu ar syslog pakalpojumu (sk. (5)). Pēc noklusējuma netiek saņemti nekādi ziņojumi no tīkla.

Šī opcija ir ieviesta sysklogd pakotnes versijā 1.3. Lūdzu, ņemiet vērā, ka noklusējuma darbība ir pretēja tam, kā vecākas versijas rīkojas, tāpēc jums, iespējams, būs jāieslēdz.

-s domēnu saraksts

Norādiet domēna nosaukumu, kas pirms reģistrēšanas jāizslēdz. Vairāki domēni var tikt norādīti, izmantojot kolu (``: '') separatoru. Lūdzu, ņemiet vērā, ka nav norādīti apakšdomēni, bet tikai visi domēni. Piemēram, ja -s north.de ir norādīts un uzņēmēja mežizstrāde atgriežas pie satu.infodrom.north.de, neviens domēns netiks sagriezts, jums būs jānorāda divi domēni: -s north.de:infodrom.north.de .

-v

Drukas versija un izeja.

-x

Atspējojot vārdu meklēšanu, saņemot tālvadības ziņojumus. Tas novērš strupceļus, kad nosaukumu serveris darbojas tajā pašā datorā, kurā darbojas syslog daemon.

Signāli

Syslogd reaģē uz signālu kopu. Jūs varat viegli nosūtīt signālu syslogd, izmantojot sekojošo:

kill-SIGNAL `cat / var / run / syslogd.pid '

Sighup

Tas ļauj syslogd veikt atkārtotu inicializāciju. Visi atvērtie faili ir aizvērti, konfigurācijas fails (noklusējums ir /etc/syslog.conf ) tiks atkārtots un syslog (3) iekārta tiks palaista vēlreiz.

SIGTERM

Syslogd mirs.

SIGINT , SIGQUIT

Ja ir iespējota atkļūdošana, tās tiek ignorētas, pretējā gadījumā syslogd mirs.

SIGUSR1

Pārslēgt atkļūdošanas ieslēgšanu / izslēgšanu. Šo opciju var izmantot tikai tad, ja syslogd tiek palaists ar -d atkļūdošanas opciju.

SIGCHLD

Gaidiet, lai bērns, ja kāds būtu piedzimis, sūtot ziņojumus.

Konfigurācijas failu sintakse atšķirības

Syslogd tās konfigurācijas failam izmanto nedaudz atšķirīgu sintaksi nekā sākotnējie BSD avoti. Sākotnēji visi ziņojumi ar noteiktu prioritāti un augstāk tika pārsūtīti log failā.

Piemēram, sekojošā rindiņa izraisīja VISU izvadi no daemoniem, izmantojot dēmonu iespējas (atkļūdošana ir viszemākā prioritāte, līdz ar to arī katrs lielāks būs) / usr / adm / daemons :

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

Saskaņā ar jauno shēmu šī uzvedība nemainās. Starpība ir četru jaunu specifikāciju pievienošana, zvaigznītes ( * ) aizstājējzīme, vienādojuma zīme ( = ), izsaukuma zīme ( ! ) Un mīnusa zīme ( - ).

* Norāda, ka visi konkrētā objekta ziņojumi jānogādā uz galamērķi. Ņemiet vērā, ka šī uzvedība ir izkropļota, norādot atkļūdošanas prioritātes līmeni. Lietotāji ir norādījuši, ka zvaigznītes apzīmējums ir intuitīvāks.

= Aizstājējzīme tiek izmantota, lai ierobežotu pieteikšanos uz norādīto prioritātes klasi. Tas ļauj, piemēram, novirzīt tikai atkļūdošanas ziņojumus uz konkrētu mežizstrādes avotu.

Piemēram, syslog.conf nākamā rindiņa novirzītos atkļūdošanas ziņojumus no visiem avotiem uz / usr / adm / atkļūdošanas failu.

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

The ! tiek izmantots, lai izslēgtu norādīto prioritāšu reģistrēšanu. Tas ietekmē visas (!) Iespējas precizēt prioritātes.

Piemēram, sekojošās rindās būtu jāreģistrē visas iekārtas e-pasta ziņas, izņemot tās, kurām informācija par prioritāti ir / usr / adm / mail failā. Un visi ziņojumi no news.info (ieskaitot) uz news.crit (izņemot) tiks reģistrēti / usr / adm / ziņu failā.

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

Jūs varat to intuitīvi izmantot kā izņēmuma norādītāju. Iepriekš minētā interpretācija ir vienkārši apgriezta. To darot, jūs varat to izmantot

mail.none

vai

pasts.! *

vai

pasts! .. atkļūdošana

lai izlaistu katru ziņu, kas nāk ar pasta iespēju. Ar to ir daudz iespēju spēlēt. :-)

To var izmantot tikai, lai prefiksētu faila nosaukumu, ja vēlaties izlaist faila sinhronizāciju pēc katra rakstīšanas uz to.

Tas var radīt zināmu aklimatizāciju tiem indivīdiem, kuri izmanto tīru BSD uzvedību, taču testētāji ir norādījuši, ka šis sintakse ir nedaudz elastīgāks nekā BSD uzvedība. Ņemiet vērā, ka šīs izmaiņas nedrīkst ietekmēt standarta syslog.conf (5) failus. Īpaši jāmaina konfigurācijas faili, lai iegūtu uzlabotu darbību.

Atbalsts tālvadības reģistrēšanai

Šīs modifikācijas nodrošina tīklu atbalstu syslogd objektam. Tīkla atbalsts nozīmē, ka ziņojumus var pārsūtīt no viena mezgla, kurā darbojas syslogd, uz citu mezglu, kurā darbojas syslogd, kur tie tiks faktiski reģistrēti diska failā.

Lai to iespējotu, jums jāprecizē -r opcija komandrindā. Noklusējuma darbība ir tāda, ka syslogd netiks noklausījies tīklā.

Stratēģija ir panākt, lai syslogd klausītos uz unix domēna ligzdas lokāli ģenerētiem žurnālu ziņojumiem. Šī rīcība ļaus syslogd sadarboties ar syslog, kas atrodams C standarta bibliotēkā. Tajā pašā laikā syslogd klausās standarta syslog portu ziņojumiem, kas tiek pārsūtīti no citiem saimniekiem. Lai pareizi veiktu šo darbu, pakalpojuma (5) failiem (parasti atrodams / etc ) jābūt šādam ierakstam:

syslog 514 / udp

Ja šim ierakstam trūkst syslogd, tie nevar saņemt attālās ziņas vai sūtīt tos, jo UDP portu nevar atvērt. Tā vietā syslogd mirs nekavējoties, izpūšot kļūdas ziņojumu.

Lai ziņojumi tiktu pārsūtīti uz citu uzņēmēju, failu syslog.conf vietā nomainiet parasto faila rindiņu ar tā saimniekdatora nosaukumu, uz kuru ziņojumi jānosūta kopā ar @.

Piemēram, lai pārsūtītu VISUS ziņojumus uz attālināto mītni, izmantojot šādu ierakstu syslog.conf :

# Parauga syslogd konfigurācijas failu uz # ziņojumiem attālinātai uzņēmējai uz priekšu visu. *. * @hostname

Lai nosūtītu visus kodola ziņojumus attālajai mītnei, konfigurācijas fails būtu šāds:

# Parauga konfigurācijas fails, lai pārsūtītu visus kodola # ziņojumus attālajai mītnei. kern. * @hostname

Ja attālās saimniekdatora nosaukumu nevar atrisināt palaišanas laikā, jo vārda serveris, iespējams, nav pieejams (to var sākt pēc syslogd), jums nav jāuztraucas. Syslogd mēģinās atkārtoti nosaukt nosaukumu desmit reizes un pēc tam sūdzēties. Vēl viena iespēja to izvairīties ir izvietot saimniekdatora nosaukumu / etc / hosts .

Izmantojot parastu syslogd s, jūs saņemsiet syslog-cilpas, ja nosūtīsit ziņojumus, kas tika saņemti no attālās mītnes uz to pašu saimniekdatoru (vai sarežģītāk trešajam uzņēmumam, kurš to nosūta atpakaļ uz pirmo un tā tālāk). Manā domēnā (Infodrom Oldenburg) mēs nejauši saņēmām vienu un mūsu diski ir piepildīti ar vienu un to pašu ziņojumu. :-(

Lai to vairs neizvairītos, turpmākos laikos neviens ziņojums, kas tika saņemts no attālā datora, vairs netiek nosūtīts uz citu (vai to pašu) attālināto mītni. Ja ir scenāriji, kur tas nav jēgas, lūdzu, nolaidiet mani (Joey) līniju.

Ja attālā uzņēmēja atrodas tajā pašā domēnā, kurā atrodas resursdators, syslogd darbojas, bet viss fqdn vietā tiek reģistrēts tikai vienkāršais resursdatora nosaukums.

Vietējā tīklā jūs varat izveidot centrālu žurnālu serveri, lai visu svarīgo informāciju glabātu vienā datorā. Ja tīkls sastāv no dažādiem domēniem, jums nav sūdzēties par pilnīgi kvalificētu vārdu reģistrēšanu, nevis vienkāršu saimniekdatoru nosaukumu. Iespējams, vēlēsities izmantot šī servera sloksnes domēna funkciju. Jūs varat pateikt, ka syslogd ir noņemts no vairākiem citiem domēniem, izņemot serveri, un tikai reģistrē vienkāršus saimniekdatoru nosaukumus.

Izmantojot opciju -l, ir arī iespēja definēt atsevišķus resursus kā vietējās mašīnas. Arī tas nozīmē, ka tiek reģistrēti tikai viņu vienkāršie saimniekdatoru nosaukumi, nevis fqdns.

UDP ligzda, ko izmanto, lai pārsūtītu ziņojumus uz attālinātiem saimniekiem vai saņemtu no tiem ziņojumus, tiek atvērta tikai tad, kad tas ir nepieciešams. Release pirms 1.3-23 tas tika atvērts katru reizi, bet nav atvērts attiecīgi lasīšanai vai pārsūtīšanai.

Izvads uz nosauktajiem caurulēm (FIFO)

Šī syslogd versija atbalsta izejmateriālu reģistrēšanu nosauktajās caurulēs (FIFOS). Fakss vai nosaukta caurule var tikt izmantota kā galamērķis žurnālu ziņojumiem, pievienojot faila nosaukumam pipy simbolu (`| | ''). Tas ir ērti, lai veiktu atkļūdošanu. Ņemiet vērā, ka FIFO ir jāizveido ar komandu mkfifo pirms syslogd sākt.

Turpmāka konfigurācijas fails novirza atkļūdošanas ziņojumus no kodola uz fifo:

# Paraugu konfigurācija, lai maršrutizētu kodolu atkļūdošanas # ziņojumus TIKAI uz / usr / adm / atkļūdošanu, kas ir # nosaukta caurule. kern. = debug / / usr / adm / debug

Uzstādīšanas bažas

Instalējot šo syslogd versiju, iespējams, ir viens svarīgs apsvērums. Šī syslogd versija ir atkarīga no pareizas ziņojumu formatēšanas ar syslog funkciju. Syslog funkciju darbība dalītajās bibliotēkās kaut kur mainījās libc.so.4 reģionā [2-4] .n. Konkrētās izmaiņas bija tādas, ka pirms ziņojuma nosūtīšanas uz / dev / log kopu ziņojums tika pārtraukts. Šī syslogd versijas pareiza darbība ir atkarīga no ziņojuma null-izbeigšanās.

Šī problēma parasti izpaužas, ja sistēmā tiek izmantoti veci statistiski saistīti bināri. Binārie faili, kas izmanto syslog funkciju vecās versijas, radīs tukšas rindas, kas jāreģistrē, kam seko ziņa ar pirmā rakstzīmi noņemtajā ziņojumā. Pārvietojot šos binārus uz jaunākajām koplietojamo bibliotēku versijām, tiks novērsta šī problēma.

Gan syslogd (8), gan klogd (8) var palaist no init (8) vai sākt kā daļu no rc. * Secības. Ja tas ir sākts no init, ir jāiestata opcija -n , citādi jūs saņemsiet tonnas syslog daemons. Tas ir tāpēc, ka init (8) ir atkarīgs no procesa ID.

Drošības apdraudējumi

Pastāv iespēja, ka syslogd dēmons tiks izmantots kā pakalpojuma uzbrukuma atteikšanas kanāls. Paldies, dodieties uz John Morrisonu (jmorriso@rflab.ee.ubc.ca), lai brīdinātu mani par šo potenciālu. Negatīvā programma (mer) var ļoti viegli pārpludināt syslogd dēmonu ar syslog ziņojumiem, kā rezultātā log faili patērē visu atlikušo vietu failu sistēmā . Protams, aktivizējot pieslēgšanos domēna domēnu ligzdām, sistēma var tikt pakļauta riskam ārpus vietējā datora programmām vai personām.

Ir vairākas metodes mašīnas aizsardzībai:

  1. Ieviest kodola ugunsmūri, lai ierobežotu, kuriem saimniekiem vai tīkliem ir piekļuve 514 / UDP ligzdai.
  2. Mežizstrādi var novirzīt uz izolētu vai nesaistītu failu sistēmu, kas, ja to aizpilda, netraucēs šo mašīnu.
  3. Var izmantot ext2 failu sistēmu, kuru var konfigurēt, lai ierobežotu noteiktu procentuālo daļu no failu sistēmas, izmantojot tikai root. PIEZĪME, ka tas prasīs, lai syslogd tiktu darbināts kā nekontrolēts process. IEVĒROJIET, ka tas neļaus izmantot attālo mežizstrādi, jo syslogd nevarēs piesaistīt 514 / UDP ligzdai.
  4. Inet domēnu ligzdu atspējošana ierobežos vietējās mašīnas risku.
  5. Izmantojiet 4. darbību un, ja problēma atkārtojas un nav sekundāra pret negodīgu programmu / dēmonu, iegūstiet 3,5 metru (apmēram 1 metru) sprauslas stieņa garumu * un tērzējiet ar attiecīgo lietotāju. Sucker stieņa def. --- 3/4, 7/8 vai 1 in. sacietināts tērauda stienis, ar vītni uz abiem galiem. Primārais izmantojums naftas rūpniecībā Rietumu Ziemeļdakotā un citās vietās, lai sūknētu "piesūcināt" eļļu no naftas akām. Sekundārie lietojumi ir paredzēti liellopu barības partiju būvniecībai un darbībām ar neregulāru, atkārtoti vai karojošu indivīdu.

Atkļūdošana

Ja atkļūdošana tiek ieslēgta, izmantojot -d opciju, tad syslogd būs ļoti verbāls, rakstot lielu daļu no tā, ko tas dara ar stdout. Ikreiz, kad konfigurācijas fails tiek pārlasīts un atkārtoti analizēts, jūs redzēsit tabulu, kas atbilst iekšējai datu struktūrai. Šis tabula sastāv no četriem laukiem:

numurs

Šajā laukā ir sērijas numurs, kas sākas ar nulli. Šis numurs norāda pozīciju iekšējā datu struktūrā (ti, masīvā). Ja tiek izslēgts viens numurs, tad /etc/syslog.conf attiecīgajā rindiņā var būt kļūda.

modelis

Šis lauks ir sarežģīts un precīzi atspoguļo iekšējo struktūru. Katrā kolonnā ir norāde par objektu (sk. Syslog (3)). Kā jūs varat redzēt, joprojām ir dažas iespējas, kas palicis brīvā bijušai izmantošanai, bet tiek izmantoti tikai visvairāk pa kreisi. Katrs ailes kolonnā ir norādītas prioritātes (sk. Syslog (3)).

rīcība

Šajā laukā ir aprakstīta konkrētā darbība, kas notiek ikreiz, kad saņemta ziņa, kas atbilst modelim. Sīkāka informācija par iespējamām darbībām atrodama syslog.conf (5) manifestā.

argumenti

Šajā laukā tiek parādīti papildu argumenti pēdējā laukā esošajām darbībām. Failu reģistrēšanai šis ir faila nosaukums logfailam; lietotāja reģistrēšanai tas ir lietotāju saraksts; attālās mežizstrādes gadījumā tas ir mašīnista resursdatora nosaukums, lai pieteiktos; konsoles mežizstrādei šī ir izmantotā konsole; tty-logging tas ir norādītais tty; sienā nav papildu argumentu.

Skatīt arī

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

Līdzstrādnieki

Syslogd ir ņemts no BSD avotiem, Greg Wettstein (greg@wind.enjellic.com) veica portu uz Linux , Martin Schulze (joey@linux.de) izlaboja dažas kļūdas un pievienoja vairākas jaunas funkcijas. Klogd sākotnēji bija rakstījis Steve Lord (lord@cray.com), Greg Wettstein veica būtiskus uzlabojumus.

Dr. Gregs Wettsteins
Enjellic Systems Development

Onkoloģijas izpētes nodaļas datorsistēma
Roger Maris Vēža centrs
Fargo, ND
greg@wind.enjellic.com

Stephen Tweedie
Datorzinātņu katedra
Edinburgas Universitāte, Skotija
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Infodrom Oldenburg
joey@linux.de

Svarīgi: izmantojiet vīriešu komandu ( % man ), lai redzētu, kā komanda tiek izmantota jūsu konkrētajā datorā.

Saistītie raksti