Syslog - tīkla sistēmas žurnāls. Linux žurnālfaili secībā Kuram syslog ID ir augstākā prioritāte

Dēmons iekšā Unix nosauciet programmu, kas darbojas "uz fons" , neprasot kontroli no termināļa, un sniedzot iespēju veikt citus savus darbus "priekšplānā". Dēmonu var palaist vai nu cits process, piemēram, ar kādu no sistēmas startēšanas skriptiem, nepiekļūstot vispār nevienam vadības terminālim, vai arī lietotājs no kāda termināļa, bet arī šajā gadījumā dēmons "neuztver" terminālis tā darbības laikā. Protams, rodas jautājums, kuras dēmonu programmas ir nepieciešamas jūsu sistēmā un kuras var atspējot.

Termina izcelsme
Reālajā (t.i., nedatoru) pasaulē termins (vai vārds) "dēmons" apzīmē garu (visbiežāk ļauno) vai "iekšējo balsi". Ir vērts atzīmēt, ka abas šīs vērtības attiecas arī uz Unix dēmoniem. Tāpat kā mitoloģiskie dēmoni, dēmoni Unix slēpjas kaut kur "aizkulisēs", cenšoties palikt neredzami. Un, tāpat kā iekšējā balss vai mūsu zemapziņa, viņi vienmēr ir "modrā", vienmēr ir pieejami, vienmēr spēj "izpausties". Pats vārds "dēmons" ir viens no šiem datora akronīmiem, kuras izcelsmi ir tikpat grūti noskaidrot, kā izlemt, vai sākumā bija vista vai ola. Jādomāšis termins ("DAEMON") nāk no vārdiem "Diska un izpildes monitors" programma.

Apņēmies izpētīt šo jautājumu, es devos pie viena priestera, kurš izmanto datoru ar Ubuntu operētājsistēmu. Katram gadījumam paņēmu disku ar Windows. Nekad nevar zināt... Es esmu tiešs cilvēks, nepukstēju, uzreiz izpaudu visu informāciju. Izskaidrots gari un detalizēti. Man par lielu laimi viņš to visu uztvēra mierīgi, vietām, kamēr es runāju, pat pasmaidīja, īpaši runājot par māsas vīra atteikuma no ubuntu cēloņiem. Tēvs, normāls vīrietis, viņam jau ir 50 gadi.Parunājām vēl mazliet, pareizāk sakot es, lai saprastu, ka viņš pareizi uzzināja manis teikto. Pēc tam viņš man teica: es neatceros burtiski, bet es nevarēju to izdomāt ierakstītājā, tāpēc es to aprakstīšu saviem vārdiem. Kopumā Linuxā lietot šo terminu nav nekā slikta, galvenais ir ticība Dievam.

Ievads pakalpojumos

Dēmoni, uz kuriem ir atsauce /etc/init.d, ir paredzēti, lai tie darbotos kā pakalpojumi vai pakalpojumi operētājsistēmā Linux. Pakalpojumi ir programmas, kuras tiek startētas un apturētas, izmantojot init skriptus, kas atrodas direktorijā /etc/init.d. Daudzi no šiem pakalpojumiem tiek startēti sistēmas sāknēšanas fāzē. /sbin/service utilīta nodrošina lietotāja interfeisu (mijiedarbību) ar inicializācijas skriptiem. Un šie skripti paši nodrošina saskarni pakalpojumu pārvaldībai, sniedzot lietotājam iespējas palaist, apturēt, restartēt, vaicāt pakalpojuma statusu un veikt citas darbības pakalpojumā. Piemēram, pakalpojuma httpd inicializācijas skriptam ir šādas opcijas:

/sbin/service httpd Lietojums: httpd (sākt|stop|restartēt|condrestart|reload|status|fullstatus|graceful|help|configtest)

Visu sistēmas pakalpojumu pašreizējo statusu varat skatīt, servisa utilītai izmantojot šādu opciju:

/sbin/service --status-all acpid (pid 2481) darbojas... anacron (pid 2647) darbojas... atd (pid 2657) darbojas... auditd (pid 2189) darbojas...

Informāciju par šo pakalpojumu palaišanas līmeni, tas ir, iestatīšanu, kurš no sistēmas darbības līmeņiem konkrētais pakalpojums sākas sistēmas sāknēšanas laikā, var iegūt vai mainīt, izmantojot utilītu chkconfig. Apskatīsim, piemēram, pašreizējos syslog pakalpojuma iestatījumus:

/sbin/chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Mēs redzam, ka syslog pakalpojums tiek automātiski palaists, pārejot uz 2., 3., 4. un 5. līmeni. Lai atspējotu tā darbību no 3. un 4. līmeņa (starp citu, tā nav laba ideja), varat izmantot šādu komandas opciju chkconfig:

/sbin/chkconfig --levels 34 syslog off

Utilīta /usr/bin/system-config-services nodrošina sistēmas pakalpojumu grafisku saskarni, kas ļauj skatīt un modificēt to pašreizējo stāvokli, kā arī iestatīt to startēšanu dažādos izpildes līmeņos.

Apskatīsim, kā šie pakalpojumi un dēmoni parādās komandas ps izvadē. Šeit ir īss izvilkums:

UID PID PPID C STIME TTY LAIKS CMD sakne 1 0 0 23:36 ? 00:00:00 sākuma sakne 2161 1 0 23:37 ? 00:00:00 auditd root 2177 1 0 23:37 ? 00:00:00 syslogd -m 0 sakne 2180 1 0 23:37 ? 00:00:00 klogd -x sakne 2207 1 0 23:37 ? 00:00:00 mcstransd root 2254 1 0 23:37 ? 00:00:00 rpc.statd root 2287 1 0 23:37 ? 00:00:00 rpc.idmapd root 2577 1 0 23:37 ? 00:00:00 cron root 2631 1 0 23:37 ? 00:00:00 /usr/sbin/atd root 2654 1 0 23:37 ? 00:00:00 rhnsd --intervāls 240

Ko te interesanti atzīmēt (protams, ka šodien pārāk vēlu nomodos pie datora)? Katram dēmonam vecākprocesa ID (PPID) ir 1. Tas norāda, ka dēmonus sistēmas sāknēšanas laikā palaida sākuma process.

Šo rezultātu var skaidrāk redzēt tādas noderīgas komandas kā "pstree" izvadē, kas parāda procesu "koku" ar norādi "vecāki". Šeit ir neliels fragments no pstree izvades:

Init-+ |-NetworkManager---2*[(NetworkManager)] |-NetworkManagerD |-acpid |-atd |-auditd-+-python | `-(auditd) |-avahi-daemon---avahi-daemon |-bonobo-activati---(bonobo-activati) |-crond |-cupsd---cups-polld |-2* |-dbus-launch |-dhcdbd---dhclient

Vairāk par dēmoniem jūsu sistēmā

Pabeigts ar ievadinformāciju. Tagad parunāsim par sistēmas dēmoniem atsevišķi un noskaidrosim, ar kuriem no tiem ir droši eksperimentēt. Vēlreiz atzīmēju, ka šī piezīme ir par sistēmu, kuras konfigurācijā izmanto Red Hat Enterprise Linux Beta 2 darbstacija. Atkarībā no sistēmas specifikas, iespējams, redzēsit vairāk vai mazāk dēmonu, tostarp dažus, kas šeit nav apskatīti.

Katrā dēmonu aprakstā ir saites uz vietnēm, kurās varat iegūt vairāk informācijas, taču vislabākā vieta, kur sākt mācīties par dēmoniem, ir aplūkot to attiecīgās rokasgrāmatas lapas. O'Reilijam ir lielisks Linux komandu saraksts, kas sakārtots alfabētiskā secībā, un Wikipedia (wikipedia.org) ir arī sadaļas par lielāko daļu šo dēmonu. Tāpat neaizmirstiet apskatīt README failus.

Šis ir uzlabotās konfigurācijas un barošanas interfeisa (ACPI) pakalpojums. ACPI ir atvērts nozares standarts, kas nosaka sistēmas pārvaldības darbības, galvenokārt plug-and-play ierīču noteikšanu un jaudas pārvaldību, tostarp sistēmas palaišanu, izslēgšanu un hibernāciju.

Iespējams, jums nevajadzētu atspējot šo pakalpojumu, ja vien to nedarāt atkļūdošanas vai aparatūras problēmu risināšanas nolūkos.

Vairāk informācijas: http://www.acpi.info

Ja izmantojat klēpjdatoru, kā to dara daudzi mūsdienās, viena problēma ir tā, ka, piešķirot cron dēmonam kādu darbu, jūs ne vienmēr esat pārliecināts, ka dators būs ieslēgts laikā, kad tam paredzēts palaist. Anacron (nosaukums cēlies no "anachronistic cron", kaut kas līdzīgs "novecojis cron") atrisina šo problēmu, pārbaudot, vai darbi ir darbojušies noteiktā laika periodā. Piemēram, anacron izpildīs uzdevumu, ja tas nav izpildīts noteiktu dienu skaitu.

Kad jūs varat atteikties no anacron lietošanas? Ja jūsu sistēma darbojas visu laiku.
Vai jūs varat vienkārši atteikties palaist cron, ja jums ir anacron? Nē; anacron darba restartēšanas periodu var iestatīt tikai dienās, nevis minūtēs un sekundēs.

Papildus informācija:

Šis ir uzlabotās enerģijas pārvaldības (APM) dēmons, izmantojot BIOS draiveri. APM standarts un apmd dēmons tagad ir aizstāti ar ACPI un acpid. Ja jūsu aparatūra atbalsta ACPI, jums nav nepieciešams palaist apmd.

Šis ir dēmons darbu palaišanai noteiktā laikā. Ja jūs to neizmantojat, varat to izslēgt.

Šis dēmons automātiski pievieno diskus un failu sistēmas, kas ir definētas konfigurācijas failā. Izmantojot šo dēmonu, darbs ar noņemamiem diskdziņiem ir ērtāks.

Vairāk informācijas: http://freshmeat.net/projects/autofs

Linux audita sistēma sastāv no kodola līmeņa sistēmas zvanu reģistrēšanas un lietotāja telpas reģistrēšanas rīkiem. Auditētais dēmons ieraksta reģistrētos ziņojumus diskā. Auditd ir konfigurējams, kas ļauj kontrolēt un pārvaldīt, kāda informācija tiek saglabāta diskā.

Vai man ir jāturpina audits? Informācija no žurnāliem var būt ļoti noderīga, konfigurējot visu, kas saistīts ar sistēmas drošību. Piemēram, auditd tiek izmantots SELinux notikumu reģistrēšanā. Ir arī utilītas, piemēram, aureport, kas ļauj skatīt audita žurnālus. Šeit ir piemērs ziņojumam, ko ģenerē aureport utilīta:

kopsavilkuma ziņojums
======================

Laika diapazons žurnālos: 11/28/2006 06:07:04.800 - 02/06/2007 21:10:09.957 Atlasītais atskaites laiks: 12/31/1969 19:00:00 - 02/06/2007:21 10:09.957 Konfigurācijas izmaiņu skaits: 285 Kontu, grupu vai lomu izmaiņu skaits: 32 Pieteikšanos skaits: 145 Neizdevušos pieteikšanos skaits: 11 Lietotāju skaits: 2 Termināļu skaits: 22 Saimniekvārdu skaits: 11 Skaits Izpildāmo failu skaits: 27 Failu skaits: 91 AVC noliegumu skaits: 688 MAC notikumu skaits: 12 Neizdevušos syscalls skaits: 404 Anomāliju notikumu skaits: 0 Atbilžu skaits uz anomālijas notikumiem: 0 Kripto notikumu skaits: 0 Procesu skaits ID: 14022 Notikumu skaits: 70694 Avahi-daemon un avahi-dnsconfd

Avahi vietne to definē šādi: "Avahi ir sistēma, kas nodrošina iespēju atklāt pakalpojumus lokālajā tīklā. Tas nozīmē, ka pēc datora pievienošanas lokālajam tīklam jūs varat uzreiz atklāt pieejamos printerus, redzēt, kādi koplietojumi ir pieejami tīklu, uzziniet, ar kuriem citiem tīkla lietotājiem varat tērzēt un tā tālāk. Avahi ir Zeroconf protokola ieviešana. Un Zeroconf ir pieeja, kas ļauj lietotājiem izveidot IP tīklus bez īpašiem konfigurācijas pakalpojumiem, piemēram, DNS serveriem.
Visbiežāk avahi-daemon tiek izmantots ar Rhythmbox, lai jūs varētu redzēt mūzikas failus, kas tiek kopīgoti ar citiem. Ja nekopīgojat mūziku vai failus no sava datora, varat atspējot šo dēmonu.

Vairāk informācijas: http://avahi.org, http://zeroconf.org

Bluetooth un slēptie un pand dēmoni

Paši nosaukumi visu izskaidro. Sāciet šos pakalpojumus, ja vēlaties izmantot Bluetooth ierīces. Faktiski palaistā dēmona nosaukums ir hcid (Host Controller Interface Daemon).

Slēptā dēmona nosaukums cēlies no "Bluetooth cilvēka interfeisa ierīces dēmona". Tas nodrošina tastatūras, peles un kursorbumbas atbalstu, izmantojot Bluetooth protokolu. Un pand dēmons atbalsta datora savienošanu ar Ethernet tīklu, izmantojot Bluetooth.

Vairāk informācijas: http://www.bluetooth.com.

Šis dēmons atbalsta kopējo ISDN lietojumprogrammu saskarni (Integrated Services Digital Network Application Programming Interface). To vajadzētu palaist, ja veidojat savienojumu ar aparatūras ISDN komponentiem. Šis pakalpojums sākas capiinit.

Vairāk informācijas: http://www.capi.org/pages

Nē, tam nav nekāda sakara ar šoviem par ieguldījumiem nekustamajā īpašumā vēlu vakarā. Conman pakalpojums (un conmand dēmons) atbalsta konsoles pārvaldību. Nodrošina atbalstu vairākām konsoļu ierīcēm un vienlaicīgu lietotāju darbu, atbalstu lokālajām seriālajām ierīcēm un attāliem termināļa serveriem (izmantojot telnet protokolu). Ja pārvaldāt vairākus serverus, iespējams, būs jāizmanto conman.

Vairāk informācijas: http://home.gna.org/conman/
cpuspeed

Šis dēmons maina ātrumu Procesors lai samazinātu enerģijas patēriņu. Ja centrālais procesors ir dīkstāvē, varat samazināt ātrumu, tādējādi samazinot enerģijas izmaksas, un, lai uzlabotu veiktspēju, jums ir jāpalielina enerģijas patēriņš. Ja jūs strādājat klēpjdatoru, ir jēga palaist cpuspeed.

Papildinformācija: http://carlthompson.net/Software/CPUSpeed
cronds

Šis dēmons ir paredzēts automātiskais starts uzdevumus. Tas ir nepieciešams visās Linux un Unix sistēmās. Nepārtrauciet vai neatspējojiet šo pakalpojumu.

Plašāka informācija: http://www.unixgeeks.org/security/newbie/unix/cron-1.html, http://www.linuxhelp.net/guides/cron/

CUPS un cups-config-daemon

Tas ir "Common UNIX Printing Solution" dēmons. Kā norāda nosaukums, šī ir drukas sistēma, kas ļauj strādāt ar dažādiem failu formātiem un dažādi veidi printeri. Ja vēlaties drukāt, ļaujiet šim dēmonam darboties jūsu sistēmā.

Vairāk informācijas: http://www.cups.org, http://www.easysw.com/cups/index.php

Šī dēmona nosaukums ir akronīms vārdam "DHcp Client D-Bus Daemon". Bezmaksas darbvirsmas wiki sniedz šādu definīciju:

D-Bus ir ziņojumu kopnes sistēma, kas ir vienkāršs veids, kā lietojumprogrammas var sazināties (vai mijiedarboties) savā starpā. Papildus starpprocesu komunikācijai, D-Bus palīdz koordinēt procesa dzīves ciklu; tas nodrošina vienkāršu un stabilu koda ieviešanu, kas ļauj palaist lietojumprogrammas vai dēmona "vienu gadījumu", ļaujot lietojumprogrammas un dēmonus palaist pēc pieprasījuma, kad rodas vajadzība pēc atbilstošiem pakalpojumiem.

Vai jums ir jāpalaiž šis dēmons? Ja jūsu sistēma ir savienota ar tīklu (kas vēl?), it īpaši, ja pārvietojaties starp tīkliem (piemēram, pārslēdzaties no vadu tīkla uz bezvadu tīklu), jums vajadzētu palaist NetworkManager (pēc brīža mēs apskatīsim NetworkManager). .

Dhcdbd dēmons nodrošina D-Bus interfeisu dhclient, ISC DHCP klientam. Tas ļauj NetworkManager piekļūt un pārvaldīt dhclient.

Papildinformācija: http://www.freedesktop.org/wiki/Software/dbus

Šis dēmons sniedz iespēju izmantot peli konsoles (uz teksta) lietojumprogrammās, piemēram, failu menedžeris Pusnakts komandieris. Tas var būt noderīgi, ja bieži izmantojat konsoli; pretējā gadījumā, t.i., ja jūs visu laiku strādājat ar X Window System, jums, iespējams, nekad nebūs vajadzīgs gpmd.

Nē, tas nav ļaunais dators no 2001: A Space Odyssey. Šajā kontekstā HAL apzīmē "aparatūras abstrakcijas slāni" - "aparatūras abstrakcijas slāni". HAL dēmons apkopo (izmantojot kodolu un pašas ierīces) informāciju par aparatūras ierīcēm un konsekventi nodrošina to lietojumprogrammām.

Neatspējojiet šo pakalpojumu. To izmanto daudzas lietojumprogrammas.

Papildinformācija: "Darbvirsmas un aparatūras konfigurācija", David Zeuthen

Šis dēmons nodrošina atbalstu HP Linux attēlveidošanas un drukāšanas (HPLIP) sistēmai, ko izmanto drukāšanai, skenēšanai un faksu sūtīšanai uz tintes un lāzera ierīces no HP. HPLIP mijiedarbojas ar CUPS, ļaujot pēdējam piekļūt ierīcēm no HP.

Papildus informācija:

Tas ir Java relāciju datu bāzes dēmons. Tā mantojusi savu nosaukumu no Hypersonic SQL projekta, kas vairs netiek uzturēts. hsqldb tiek plaši izmantots atvērtā pirmkoda projektos, piemēram, OpenOffice.org, kā arī demonstrācijas programmās, jo tas var pilnībā darboties RAM. Pateicoties tam, tas darbojas ātri. Vai jums ir jāuzsāk šis pakalpojums? Tikai tad, ja palaižat dažas programmas, kas to izmanto. Bet kopumā tas ir ļoti noderīgs rīks un, ja jūs to neesat pazīstams, ir vērts to apskatīt.

Vairāk informācijas: http://hsqldb.org , http://dba.openoffice.org

Apache tīmekļa serveris. Izmanto gandrīz 60% no visām vietnēm. Ja vēlaties uzturēt vietni, palaidiet Apache. Vai ir vēl kas sakāms?

Vairāk informācijas: http://httpd.apache.org

ip6tables un iptables

Tie ir ugunsmūri vai ugunsmūri. Saskaņā ar Wikipedia, "ugunsmūris vai ugunsmūris (jar. firewall vai firewall no angļu firewall) ir aparatūras un/vai programmatūras kopums, kas kontrolē un filtrē tīkla paketes, kas iet caur to dažādos OSI modeļa līmeņos saskaņā ar noteiktiem noteikumiem. Galvenais ugunsmūra uzdevums ir aizsardzība datortīkli vai atsevišķi mezgli no nesankcionētas piekļuves."

Iptables darbojas, norādot IPv4 pakešu filtrēšanas noteikumus kodola tabulas veidā. Ienākošās un izejošās paketes tiek pārbaudītas pret šiem noteikumiem, un tās, kas neatbilst noteikumiem, tiek bloķētas. Ip6tables dara to pašu ar IPv6 paketēm.

Kurš no diviem pakalpojumiem ir jāuzsāk? Abi. Ir vienmēr. Tīmeklis ir bīstama lieta!

Plašāka informācija: http://www.netfilter.org, http://www.ipv6.org

IrDA (Infrasarkano datu asociācija) ir nozares standarts bezvadu saziņai starp ierīcēm, izmantojot infrasarkano staru. Lielākā daļa klēpjdatoru ir aprīkoti ar infrasarkano staru raidītāju, kas atbilst IrDA standartam. Šis pakalpojums ir jāuzsāk tikai tad, ja plānojat organizēt saziņu ar citām ierīcēm, izmantojot infrasarkano staru.

Papildus informācija:

irqbalance

Šis dēmons nodarbojas ar aparatūras pārtraukumu sadali starp CPU daudzprocesoru SMP (simetriskā procesora) arhitektūrā, lai uzlabotu veiktspēju.

Vienprocesoru sistēmās šis dēmons nav jāsāk, tā iedarbība ietekmē tikai daudzprocesoru sistēmas.

Vairāk informācijas: http://www.irqbalance.org

Šis ir ļoti noderīgs dēmons. Tas darbojas sāknēšanas laikā un pārbauda, ​​kuras aparatūras ierīces ir pievienotas sistēmai vai noņemtas no tās. Ir lietderīgi palaist kudzu sāknēšanas laikā, pat ja neplānojat bieži pievienot vai noņemt ierīces. Jo agrāk vai vēlāk jūs joprojām nonāksit situācijā, kad pievienojat kādu ierīci un gaidāt, ka sistēma to atklās. Turklāt, tā kā kudzu darbojas sāknēšanas fāzē, tas negatīvi neietekmē sistēmas veiktspēju.

Vairāk informācijas: http://fedora.redhat.com/projects/additional-projects/kudzu

Šis dēmons savu nosaukumu ieguvis no Lan Information Server. Lisa nodrošina funkcionalitāti, kas ir līdzīga tai, ko nodrošina pakalpojums "My Network Neighborhood" operētājsistēmā MS-Windows, tas ir, tas nodrošina piekļuvi serveriem jūsu lokālajā tīklā, tostarp CIFS (Common Internet File Systems) serveriem. Lisa strādā, izmantojot TCP/IP protokolus, nosūtot ICMP pieprasījumus uz IP adresēm diapazonā, ko norādījāt konfigurācijas failā, un gaidot, kuri datori atbildēs.

Papildinformācija: http://docs.kde.org/stable/en/kdenetwork/lisa, http://docs.kde.org/userguide/networking-with-windows.html.

lm_sensori

Šis dēmons uzrauga temperatūru un spriegumu mātesplatē. Lai uzraudzības sistēma darbotos, iekārtā ir jābūt atbilstošiem sensoriem. Šī dēmona palaišanai ir jēga tikai tad, ja tiek nodrošināts aparatūras atbalsts. Iespējams, jums nevajadzētu to palaist parastajās darbstacijās. Tas drīzāk ir vajadzīgs augstākās klases serveros, kas veic kritiskas funkcijas.

Vairāk informācijas: http://www.lm-sensors.org , http://freshmeat.net/projects/lm_sensors

mcstrans

SELinux konteksta tulkošanas sistēmas dēmons. Šis dēmons pārvērš drošības konteksta informāciju cilvēkiem lasāmā formā. Jūs varat apturēt šo dēmonu, taču šajā gadījumā jūs redzēsiet, ka SELinux informācija, ko dod komanda ls -Z, mainīsies. Piemēram, kad dēmons darbojas, jūs redzēsit:

Ls -Z -rw-r--r-- jsmith jsmith user_u:object_r:user_home_t bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r:user_home_t labdien -r--r--r-- jsmith:object_jsmith_r :user_home_t hello.c

Un, ja dēmons tiek apturēts, jūs redzēsit sekojošo:

Ls -Z -rw-r--r-- jsmith jsmith user_u:object_r:user_home_t:s0 bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r:user_home_t:s0 Desktop -r-xr-xr-x jsmith user :object_r:user_home_t:s0 sveiki -r--r--r-- jsmith jsmith user_u:object_r:user_home_t:s0 hello.c

Ņemiet vērā: ja dēmons tiek apturēts, tiek parādīta drošības konteksta vērtība "s0". Mctrans iekšā Šis gadījums atiestatīt kontekstu. Citas drošības konteksta vērtības tiek pārveidotas no burtciparu vērtībām uz to nosaukumiem.

Vairāk informācijas: http://fedoraproject.org/wiki/SELinux/Understanding , http://danwalsh.livejournal.com

mdmonitor un mdmpd

Šie divi dēmoni tiek izmantoti uzglabāšanas sistēmās ar RAID masīviem (lētu/neatkarīgu disku lieks masīvs). Mdmonitor sāk, aptur un restartē mdadm (vairāku ceļu ierīču uzraudzība un pārvaldība), RAID uzraudzības un pārvaldības programmatūras pakalpojumu. Šis pakalpojums ir jāsāk tikai tad, ja jūsu sistēmā ir RAID ierīces.

Papildinformācija: http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

ziņojumu autobuss

Šis ir sistēmas ziņojumu kopnes dēmons D-BUS. Tas pārraida sistēmas notikumus un notikumus, piemēram, izmaiņas drukas rindā vai pievienotās vai noņemtās ierīces (ņemiet vērā, ka tas nav tas pats, ko dara kudzu, jo šādi notikumi var notikt jebkurā sistēmas darbības laikā, ne tikai ielādes laikā) .

Papildinformācija: http://www.freedesktop.org/software/dbus

netplugd un ifplugd

Šie dēmoni konfigurē Ethernet ierīces, kad ir pievienots tīkla kabelis, un atspējo šīs ierīces, kad kabelis ir atvienots. Kad tev to vajag? Piemēram, klēpjdatoros, lai jūsu tīkla savienojumi atjaunota tikai uz laiku, kad ir pievienots tīkla kabelis.

Ņemiet vērā, ka netplugd ir novecojis un tagad ir aizstāts ar ifplugd.

Vairāk informācijas: http://0pointer.de/lennart/projects/ifplugd

NetworkManager un NetworkManagerDispatcher

NetworkManager dēmons automatizē pārslēgšanos starp tīkla savienojumiem. Šis dēmons ir noderīgs klēpjdatoru lietotājiem, kuri pārslēdzas starp bezvadu WiFi un Ethernet savienojumiem. NetworkManagerDispatcher dēmons automātiski palaiž skriptus, lai veiktu nepieciešamās darbības (piemēram, skriptus, lai iestatītu konkrētus pakešu maršrutēšanas virzienus), kad NetworkManager maina tīkla stāvokli.

Papildinformācija: http://www.gnome.org/projects/NetworkManager

Šis ir dēmons, kas darbojas kā domēna nosaukumu serveris. To vajadzētu palaist tikai tad, ja jūsu dators ir jūsu tīkla DNS serveris.

Vairāk informācijas: http://www.dns.net/dnsrd

Nfsd dēmons uztur nfs tīkla sakaru protokolu, kas tiek izmantots, lai nodrošinātu piekļuvi tīkla resursi TCP/IP tīklos. Tas ir jāpalaiž, ja piešķirat citiem lietotājiem piekļuvi savām failu sistēmām, izmantojot nfs protokolu.

Papildus informācija:

Šis ir vārdu pakalpojuma kešatmiņas dēmons. Tas uztur programmu palaišanas grupu un paroļu tabulu un pēc tam atgriež atcerēto rezultātu nākamajā pieprasījumā pakalpojumiem, kas citādi ir pārāk lēni, piemēram, NIS vai LDAP. Ja šie pakalpojumi darbojas, jums vajadzētu palaist arī nscd.

Šis ir dēmons, kas atbalsta tīkla laika protokolu. Tas iestata sistēmas laiku un sinhronizē to ar laiku, ko iestatījuši interneta serveri, kuri uztur laika atsauces. Ja jūsu sistēma ir savienota ar internetu (vai ne?), tad šis dēmons nodrošinās, ka sistēmas laiks jūsu datorā ir iestatīts pareizi.

Vairāk informācijas: http://www.ntp.org

Oddjobd dēmons palaiž pakalpojumu com.redhat.oddjob sistēmas kopnē. Katra oddjobd sniegtā iespēja tiek nodrošināta kā atsevišķa metode D autobuss. Oddjobd nodrošina priviliģētu darbības atbalstu nepriviliģētām lietojumprogrammām.

Jums vajadzētu palaist šo dēmonu tikai tad, ja izmantojat lietojumprogrammas, kurām tas ir nepieciešams, piemēram, Conga.

Vairāk informācijas: http://people.redhat.com/nalin/oddjob/oddjob.html.

Šis dēmons atbalsta virtuālos privātos tīklus (virtuālos privātos tīklus, VPN). Šī dēmona sākuma skripts saka:

OpenVPN ir droša un ļoti elastīga tunelēšanas lietojumprogramma, kas izmanto OpenSSL bibliotēkas šifrēšanas, autentifikācijas un sertifikācijas iespējas, lai nodrošinātu drošu tuneli IP tīklā, izmantojot vienu UDP portu.

Ja jūsu sistēma ir VPN resursdators, iespējams, jums vajadzētu palaist OpenVPN.

Vairāk informācijas: http://openvpn.net

pcscd (PC/SC Smart Card Daemon) ir dēmons pcsc-lite (viedkaršu piekļuves programmatūrai) un (java bāzes) MuscleCard izstrādes videi. Tas nodrošina saziņu ar viedkaršu lasītājiem un pašām viedkartēm.

(Viedkarte ir maza plate, kurā ir iebūvēts atmiņas modulis, vai arī mikroprocesors ar atmiņas moduli. Un Muscle apzīmē Movement for the Use of Smart Cards in a Linux Environment (viedkaršu izmantošanas kustība Linux vidē).

Plašāka informācija: http://www.smartcardalliance.org , http://pcsclite.alioth.debian.org , http://www.linuxnet.com/musclecard/index.html

Portmapper dēmons pārvalda attālo procedūru izsaukuma (RPC) savienojumus. Tas pārvērš RPC programmu numurus par TCP/IP (vai UDP/IP) protokola portu numuriem. Portmapper visbiežāk izmanto NFS un NIS pakalpojumi.

Tātad, ja jūsu sistēma ir atkarīga no NIS vai NFS, neatspējojiet portmap dēmonu.

Vairāk informācijas: http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

Tas ir pasta pārsūtīšanas (transporta) aģents. Ja jūsu sistēma nav e-pasta relejs, jums nav jāstartē šis pakalpojums.

Vairāk informācijas: http://www.postfix.org

Šis dēmons (maršrutētāja atklāšanas dēmons) atrod maršrutus vietējā apakštīklā. Tas tiek palaists sāknēšanas laikā, lai aizpildītu maršrutēšanas tabulas ar noklusējuma maršrutiem.

Vairāk informācijas: http://www.informit.com/articles/article.asp?p=23951&rl=1

atjaunot stāvokli

Šis ir SELinux dēmons. Restorecond seko līdzi failu izveidei (failiem, kas norādīti mapē /etc/selinux/restorecond.conf) un nodrošina, ka failiem ir pareizais faila konteksts saskaņā ar iestatīto politiku (politiku), un nosaka noklusējuma SELinux faila kontekstu.

Neatspējojiet šo pakalpojumu. Tas ir nepieciešams SELinux.

Vairāk informācijas: http://fedoraproject.org/wiki/SELinux/Understanding , http://danwalsh.livejournal.com/

Šis dēmons periodiski pārbauda, ​​kuras darbības ir jāveic, izmantojot tīkla interfeiss Red Hat (Red Hat tīkla tīmekļa saskarne) un palaiž tās. Šīs darbības ietver programmatūras instalēšanu, noņemšanu vai atjaunināšanu, sistēmas atsāknēšanu, konfigurācijas failu instalēšanu un tā tālāk.

Vairāk informācijas: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd un rpcsvcgssd

Rpcgssd un rpcsvcgssd dēmoni tiek izmantoti, lai nodrošinātu drošību, strādājot ar RPC. Rpcidmapd pārvērš lietotājvārdus par UID un GID numuriem.

Ja izmantojat NFS vai NIS, šiem dēmoniem ir jādarbojas.

Papildus informācija:

readahead_early un readahead_later

Readahead dēmons nodrošina, ka sistēmas palaišanas laikā izmantotās programmas tiek ielādētas atmiņā pirms to izmantošanas, kas samazina sāknēšanas laiku.

saslauthd

Šis ir SASL autentifikācijas servera dēmons. SASL (vienkāršā autentifikācija un drošības slānis) pievieno autentifikācijas iespējas protokoliem, kuru pamatā ir attālie savienojumi.

Vairāk informācijas: http://asg.web.cmu.edu/sasl

Nosūtīt pastu

Šis ir SMTP (Simple Mail Transfer Protocol) serveris. Sendmail pārsūta pastu no vienas sistēmas uz otru, tas ir, tas ir pasta transporta aģents (Mail Transport Agent). Ja jūs lietojat šīs e-pasta programmas piemēram, Thunderbird vai Evolution, jums nav nepieciešams palaist sendmail.

Vairāk informācijas: http://www.sendmail.org

traucējummeklēšana

Šis ir SELinux problēmu risināšanas dēmons. Iestatījumu novēršanas rīks ir viens no lieliskajiem nesenajiem SELinux papildinājumiem. Problēmu novēršanas rīks nodrošina reāllaika lietotāju atsauksmes par SELInux AVC (piekļuves vektora kešatmiņas) kļūmēm. Turklāt šīs atsauksmes tiek sniegtas ērtā formātā.

Vairāk informācijas: https://hosted.fedoraproject.org/projects/setroubleshoot

Šis dēmons uzrauga SMART (pašuzraudzības, analīzes un ziņošanas tehnoloģija) sensorus, kas atrodami daudzu veidu diskos, piemēram, SCSI-3 cietajos diskos. Dēmons uzrauga šādu ierīču normālu darbību un veic pašpārbaudes. Ja jūsu aparatūra atbalsta SMART tehnoloģiju, jums ir jāpalaiž šis pakalpojums.

Papildus informācija:

spamassassin

Šis dēmons izmanto programmu Apache SpamAssassin, lai pārbaudītu, vai pastā nav surogātpasta. Tas parasti tiek palaists kopā ar pasta piegādes aģenta (MDA) serveri. Ja izmantojat klienta programmas, piemēram, Thunderbird vai Evolution, lai piekļūtu savam pastam, jums nav jāpalaiž spamassassin.

Vairāk informācijas: http://spamassassin.apache.org

Šis ir atvērtā ssh protokola dēmons. Ssh aizstāj nedrošās programmas rsh un rlogin un nodrošina šifrētu saziņu starp resursdatoriem nedrošos tīklos. Ja izmantojat savienojumus ar citām sistēmām, izmantojot atvērts internets, jums ir jāizmanto ssh un jāpalaiž šis dēmons.

Vairāk informācijas: http://www.ssh.com, http://www.openssh.com

syslog ir standarta reģistrēšanas sistēma operētājsistēmai Linux. Neizslēdziet to.

Vairāk informācijas: http://www.syslog.org

Šis dēmons ir daļa no Samba pakotnes. Tas ļauj Windows domēna lietotājiem kā Unix lietotājiem izveidot savienojumu ar Unix serveriem. Jums vajadzētu palaist šo dēmonu, ja jums ir darīšana ar jauktu Windows un Linux/Unix datoru tīklu.

Vairāk informācijas: http://www.samba.org/samba/docs/man/Samba-...on/winbind.html , http://www.samba.org

Šis ir fontu serveris. Šis dēmons ielādē fontus atmiņā, lai grafiskās lietojumprogrammas darbotos ātrāk nekā tad, ja tām būtu jāielādē fonti no cietā diska. Šim pakalpojumam vajadzētu darboties, lai uzlabotu lietojumprogrammu veiktspēju jūsu sistēmā.

Vairāk informācijas: http://linuxreviews.org/howtos/xfree/xfs

Šis pakalpojums saista NIS klientu ar NIS domēnu. "Yp" tā nosaukumā nāk no "dzeltenajām lapām", jo NIS katalogi ir kā "dzelteno lapu" tālruņu katalogi. Šis pakalpojums ir jāsāk tikai tad, ja jūsu sistēma izmanto NIS (tīkla informācijas pakalpojums), lai nodrošinātu piekļuvi lietotāju budžetiem un sistēmu nosaukumiem.

Vairāk informācijas: http://www.linux-nis.org

yum-atjaunināts

yum-updatesd pārrauga programmatūras atjauninājumus un nosūta paziņojumus par šiem atjauninājumiem, izmantojot e-pastu, d-bus vai sistēmas ziņojumus, kā arī var veikt automātiskā atjaunināšana IESL. D-bus ziņojumus saņem utilīta "puplet" (pakešu atjauninātājs), kas informē lietotāju, ka ir pieejams atjauninājums, un ļauj lietotājam instalēt atjauninājumu.

Vairāk informācijas: http://linux.duke.edu/projects/yum, http://www.redhat.com/magazine/024oct06/features/fc62

Pateicoties ZOOLS informācijai, kas sniegta vietnē http://www.centrlan.ru/node/17929

Avots nav norādīts

Katrs no iesācējiem Linux lietotājiem agrāk vai vēlāk saskaras ar dažām problēmām, uzstādot un organizējot savas sistēmas darbību. Un katrs no iesācējiem gandrīz noteikti dzirdēja padomu no pieredzējušākiem lietotājiem: "Paskatieties uz žurnāliem." Padoms labs, bet iesācējam tomēr ir jāzina: kas ir baļķi un kur tos meklēt! Tāpēc es mēģināšu šajā rakstā pastāstīt, ko un kur skatīties.

Programmētāju slengā "žurnālus" sauc par darba protokoliem, kurus uztur gan pati operētājsistēma, gan neatkarīgi daudzas programmas. Vārds "žurnāls" bieži tiek lietots kā sinonīms vārdam "protokols" šajā nozīmē. Pastāv divas galvenās situācijas, kurās rodas nepieciešamība analizēt protokolu: kad kaut kas sistēmā nedarbojas tā, kā mēs gaidījām (problēmas risināšana), un kad ir aizdomas, ka sistēmu ir uzlauzis kāds uzbrucējs un mums ir nepieciešams uzzināt, kas tieši notika, kā tas tika darīts, un kas jādara, lai novērstu iebrukuma sekas.

Viens no slavenākajiem žurnālfailu izmantošanas gadījumiem, lai atklātu iebrucēju, ir stāsts par slavenā hakera Kevina Mitnika notveršanu, ko veicis datordrošības speciālists Suomo Šimomura. Šeit ir viena rindkopa no raksta, kurā aprakstīts, kā tas notika.

"Ziemassvētku dienā, kad Šimomura atvaļinājumā devās slēpot Nevadā, kāds (mēs jau zinām, kurš) ielauzās viņa īpaši drošajā mājas datorā Solanbīčā, Kalifornijā, un sāka kopēt viņa failus – simtiem klasificētu failu. Viens maģistrants no plkst. Superskaitļošanas centrs Sandjego, kur strādāja Šimomura, pamanīja izmaiņas sistēmas "log" (log) failos un ātri saprata, kas notiek. Tas viss bija iespējams, pateicoties tam, ka Šimomura savā datorā instalēja programmu, kas automātiski kopēja "žurnāls" ieraksta rezerves datorā Sandjego. Students piezvanīja Šimomurai, kurš steidzās mājās, lai inventarizētu nozagtās preces."

Es šeit nestāstīšu visu, svarīgi ir atzīmēt tikai to, ka sistēmas darbības protokolu analīze kalpoja par pamatu veiktās pārkāpuma izmeklēšanas panākumiem. Sīkāku aprakstu par to, kā tiek veikta šāda izmeklēšana, varat atrast rakstā. Bet, lai varētu izmantot mežizstrādes rezultātus, ir jāsaprot, kā tiek veidoti protokoli, kur tie tiek glabāti un ko no tiem var izvilkt. Šis raksts ir veltīts visu šo jautājumu izskatīšanai.

Kā protokolam tiek ģenerēti ziņojumi

Jāsāk ar to, ka veidojot programmas C valodā, programmētājiem ir iespēja nepieciešamības gadījumā ievietot izsaukumu uz īpašām funkcijām openlog, setlogmask, syslog Un closelog, kas iekļauts C standarta bibliotēkā. Šīs funkcijas tiek izmantotas, lai nosūtītu ziņojumus par noteiktiem notikumiem programmas izpildes laikā uz īpašu sistēmas dēmonu. syslogd, kas vada sistēmas protokolu. Funkcija atvērt žurnālu nodibina saikni ar dēmonu syslogd, funkcija syslogģenerē īpašu ziņojumu rakstīšanai protokolā un funkcijai closelog aizver atvērtu savienojumu.

Funkcijas ģenerētie ziņojumi syslog, sastāv no vairākiem laukiem, kas atdalīti ar atstarpēm. Katrs ziņojums sākas ar lauku PRI, kas kodētā veidā satur informāciju par ziņojuma kategoriju (iekārtu) un ziņojuma smaguma pakāpi (nopietnības līmeni) vai prioritāti (prioritāti).

Kategorija (iekārta) ir informācija par to, kurai klasei pieder dotais ziņojums. Kategorija ir kodēta kā skaitlis no 0 līdz 23. Pastāv šādas kategorijas (tās ir definētas failā /usr/include/sys/syslog.h):

1. tabula.

Skaitliskā vērtībaSimbolsAtšifrēšana
0 kern Kodola ziņojumi
1 lietotājs Paredzēts dažādiem ziņojumiem no lietotāja programmām. (Ziņojumi no lietotāja programmām)
2 pastu Ziņojumi no pasta sistēmas.
3 dēmons Ziņojumi no tiem sistēmas dēmoniem, kuriem atšķirībā no FTP vai LPR nav īpaši piešķirtas kategorijas.
4 aut Viss, kas saistīts ar lietotāja autorizāciju, piemēram, pieteikšanās un su (drošība/atļaujas)
5 syslog Reģistrācijas sistēma var reģistrēt ziņojumus no sevis.
6 lpr Ziņojumi no drukas sistēmas.
7 ziņas Ziņojumi no ziņu servera. (Netnews, USENET)
8 uucp Ziņojumi no UNIX uz UNIX kopēšanas protokola. Šī ir daļa no UNIX vēstures, un, visticamāk, tas jums nekad nebūs vajadzīgs (lai gan noteikta daļa pasta ziņojumu joprojām tiek piegādāti, izmantojot UUCP).
9 cron Ziņojumi no sistēmas plānotāja.
10 authpriv Tāpat kā autentifikācija, taču šīs kategorijas ziņojumi tiek ierakstīti failā, kuru var lasīt tikai daži lietotāji (iespējams, šī kategorija ir izcelta, jo tai piederošie ziņojumi var saturēt lietotāju publiskas paroles, kuras nedrīkst redzēt neautorizētas personas, un līdz ar to arī žurnāls failiem jābūt atbilstošām atļaujām).
11 ftp Izmantojot šo kategoriju, varat konfigurēt savu FTP serveri, lai reģistrētu tā darbības.
no 12 līdz 15 - Rezervēts sistēmas lietošanai.
no 16 līdz 23vietējais0 - vietējais7 Rezervētas kategorijas izmantošanai sistēmas administratoram. Vietējā7 kategorija parasti tiek izmantota ziņojumiem, kas tiek ģenerēti sistēmas sāknēšanas laikā.

Kategorija aut ir novecojis nosaukums-sinonīms drošību, kas nav ieteicama. Turklāt ir īpaša kategorija atzīme(nav digitālā ekvivalenta), kas tiek piešķirts atsevišķiem ziņojumiem, ko ģenerē pats dēmons syslogd. Šī kategorija tiek izmantota, lai noteiktā laika intervālā (pēc noklusējuma ik pēc 20 minūtēm) žurnālā ievietotu īpašas atzīmes, kas ļauj, piemēram, ar 20 minūšu precizitāti uzzināt, kad dators sasalst.

Ņemiet vērā, ka kategorijai nav nekā kopīga ar tās programmas nosaukumu, kas sūta ziņojumus dēmonam. syslogd. Kā saka, jebkura sakritība ir tīra nejaušība. Turklāt dažas programmas var ģenerēt dažādu kategoriju ziņojumus. Piemēram, dēmons telnetd neveiksmīgu reģistrēšanas mēģinājumu gadījumā ģenerē kategorijas ziņojumus authpriv, un citos gadījumos klasificē savas ziņas kā dēmons.

Otrais parametrs, uz kura pamata veidojas lauka vērtība PRI, ir ziņojuma līmenis vai prioritāte (prioritāte), tas ir, informācija par ziņojuma svarīguma pakāpi. Pēc noklusējuma ir iestatīti 8 svarīguma līmeņi (tie arī ir definēti failā /usr/include/sys/syslog.h), kas ir kodēti ar cipariem no 0 līdz 7:

2. tabula.

Skaitliskā vērtībaSimbols Atšifrēšana
0 parādīties(vecais PANIKAS nosaukums) Ārkārtas. Sistēma nedarbojas.
1 brīdinājums Trauksme! Nepieciešama tūlītēja iejaukšanās.
2 krit Kritiskā kļūda (kritiskais stāvoklis).
3 kļūda(vecais nosaukums ERROR) Kļūdas ziņojums.
4 brīdinājums(Brīdinājuma vecais nosaukums)Brīdinājums.
5 Paziņojums Informācija par kādu normālu, bet svarīgu notikumu.
6 info Paziņojums.
7 atkļūdošana Atkļūdošanas laikā ģenerētie ziņojumi.

Lauks PRI ziņojums tiek veidots šādi: kategorijas skaitlisko vērtību reizina ar 8 un pievieno prioritātes skaitliskajai vērtībai, iegūto skaitli ievieto leņķiekavās un ieraksta laukā.

Sekojot laukam PRI Ziņojumā ir iekļauti šādi lauki:

  • LAIKZĪMOGS- ziņojumu ģenerēšanas laiks,
  • HOSTNAME- resursdatora nosaukums vai IP adrese decimāldaļās,
  • MSG- patvaļīgs ziņojuma teksts - kāda teksta (informācijas) virkne US-ASCII kodā (0x20 - 0x7e).

Laiks (vietējais!) ir rakstīts šādā formātā: 13. februāris 21:12:06. Ja dienas skaitlis ir viens cipars, tad pirms tā ir papildu atstarpe (nevis 0!). Pievērsiet uzmanību tam, ka datumā nav gada un zonas, kas jāņem vērā organizējot ilgstoša uzglabāšana protokola faili. Lai ziņojumā norādītais laiks būtu pareizs, tas ir jāsinhronizē (piemēram, izmantojot NTP protokolu).

Saimniekdatora nosaukums ir iekļauts ziņojumā, lai nesajauktu ziņojumus no dažādiem resursdatoriem, jo, kā tiks parādīts zemāk, reģistrēšanu var veikt vienā no tīkla specializētajiem datoriem. Saimniekdatora nosaukums ir vienkāršs datora tīkla nosaukums, nenorādot domēnu. Ja datoram ir vairākas saskarnes ar dažādām IP adresēm, tad jebkuru no tām var izmantot kā resursdatora nosaukumu vai adresi.

Ziņas teksts ( MSG) parasti satur etiķeti ( TAG) norādot uz programmu vai procesu, kas izdeva ziņojumu, un ziņojuma pamattekstu ( SATURS). Uz etiķetes var būt latīņu burti un cipari. Parasti etiķete ir vienkāršs programmas nosaukums, kam dažreiz seko procesa ID, kas ievietots kvadrātiekavās. Ziņojuma pamattekstu no etiķetes atdala ar īpašām rakstzīmēm – operētājsistēmā Linux tas parasti ir kols un atstarpe.

Ziņojumu apstrāde ar syslogd

Visi ziņojumi ģenerēti individuālas programmas izmantojot funkciju syslog, nosūtīts pa ligzdu /dev/log sistēmas dēmons syslogd, kas ir atbildīgs par šo ziņojumu apstrādi. Man jāsaka, ka patiesībā sistēmā tiek palaisti divi reģistrēšanas dēmoni - syslogd Un klogd. Abi dēmoni ir iekļauti komplektā syslogd, kuras jaunāko versiju varat atrast vietnē.

Dēmons klogd ir atbildīgs par sistēmas kodolā notiekošo notikumu reģistrēšanu. Nepieciešamība pēc atsevišķa dēmona klogd jo kodols nevar izmantot standarta funkciju syslog. Fakts ir tāds, ka standarta bibliotēkas (ieskaitot bibliotēku, kurā atrodas funkcija syslog) ir paredzēti lietošanai tikai parastajās lietojumprogrammās. Tā kā kodolam arī ir vajadzīgas līdzīgas funkcijas, tajā ir iekļautas savas bibliotēkas, kas lietojumprogrammām nav pieejamas. Tāpēc kodols izmanto savu ziņojumu ģenerēšanas mehānismu. Dēmons klogd paredzēti, lai organizētu šo ziņojumu apstrādi. Principā viņš var veikt šādu apstrādi pilnīgi neatkarīgi un neatkarīgi no syslogd, piemēram, ierakstot šos ziņojumus failā, taču vairumā gadījumu noklusējuma iestatījums ir klogd, kurā visi ziņojumi no kodola tiek pārsūtīti uz vienu un to pašu dēmonu syslogd.

Lai pārliecinātos, ka dēmoni syslogd Un klogd kas darbojas jūsu sistēmā, palaidiet komandu ps-ax | grep žurnāls. Šī komanda man deva šādu rezultātu:

$ ps -ax | grep žurnāls 569? S 0:00 syslogd -m 0 574 ? S 0:00 klogd -x 1013 ? S 0:00 login -- kos 1191 ? S 0:00 kalarmd --login Pirmās divas rindiņas tikai norāda, ka sistēmā darbojas reģistrēšanas dēmoni.

Ziņojumu apstrāde, ko veic dēmons syslogd sastāv no tā, ka tas pastāvīgi uzrauga ziņojumu izskatu un salīdzina katru ienākošo ierakstu ar failā esošajiem noteikumiem /etc/syslog.conf. Katrs noteikums failā ir ierakstīts kā rinda /etc/syslog.conf, kas sastāv no diviem laukiem. Kreisajā laukā ("selektors") ir norādīta viena vai vairākas veidnes, pēc kurām tiek atlasīti ziņojumi. Veidnes ir atdalītas ar semikolu (skatiet tālāk redzamo parauga failu /etc/syslog.conf). Labais lauks ("darbība") nosaka secību, kādā tiek apstrādāti atlasītie ziņojumi. Lauki ir atdalīti ar vienu vai vairākām atstarpēm vai tabulēšanas zīmēm.

Katrs modelis laukā "selector" ir formā "category.level" (tas ir, "facility.priority"). Lauka "Kategorija" vērtības var būt:

  • viens no 1. tabulā uzskaitīto kategoriju nosaukumiem,
  • vairāki šādi nosaukumi (šajā gadījumā tie ir atdalīti ar komatiem)
  • vai simbolu * (kas nozīmē "visas kategorijas").

Lauka "līmenis" vērtības var būt:

  • viens no 2. tabulā norādītajiem līmeņa nosaukumiem,
  • simbols * (ierakstīt visus šīs kategorijas ziņojumus neatkarīgi no līmeņa),
  • vai vārdu neviens(neierakstiet ziņas šajā kategorijā).

Konkrētas vērtības norādīšana laukā "līmenis" tiek interpretēta kā "visas šī līmeņa un augstāka līmeņa vērtības". Ja nepieciešams ierakstīt tikai viena līmeņa ziņojumus, pirms iestatāmās vērtības ir jāievieto vienādības zīme ("="). Ja ir nepieciešams ierakstīt visu līmeņu ziņojumus, izņemot norādīto, tad pirms līmeņa nosaukuma tiek ievietota izsaukuma zīme ("!"). Šo divu zīmju ievietošana vienlaikus tiek interpretēta kā "neierakstiet norādītā līmeņa un augstāka līmeņa ziņojumus".

Lielie un mazie burti laukā "selektors" netiek atšķirti. Varat arī izmantot skaitļus (skatiet /usr/include/syslog.h). Papildus 1. tabulā norādītajām kategorijām varat norādīt atzīme(parastie laikspiedoli) un drošību(novecojis sinonīms vārdam aut). Papildus prioritārajām vērtībām, kas norādītas 2. tabulā, varat izmantot brīdināt(sinonīms vārdam brīdinājums), kļūda(sinonīms vārdam kļūda), panika(sinonīms vārdam parādīties).

Ja saņemtā ziņojuma kategorija un līmenis atbilst vienam no rindas "selektora" lauka modeļiem, syslogd apstrādā ierakstu saskaņā ar darbību, kas norādīta šīs rindas laukā "darbība".

Laukā "darbība" var būt ietverts

  • ir jānorāda parasta faila (žurnāla faila) nosaukums un pilns ceļš uz failu, sākot ar sakni "/", un, ja norādītais fails neeksistē, syslogd rada to
  • nosauktās caurules nosaukums (nosaukta caurule) - FIFO; šajā gadījumā pirms nosaukuma ir vertikāla josla ("|"), un pats kanāls ir jāizveido pirms palaišanas syslogd komanda mkfifo,
  • norādot uz termināli vai konsoli (kā ierīce: /dev/tty1),
  • norādot uz attālo resursdatoru (pirms tam ir simbols @),
  • vai lietotāju saraksts (atdalot ar komatiem), uz kuru termināļiem tiks nosūtīts ziņojums saskaņā ar šo noteikumu. Lietotāju saraksta vietā varat ievietot zvaigznīti (*), kas nozīmēs, ka ziņojumi tiek nosūtīti visiem lietotājiem, kuri strādā Šis brīdis sistēmā.

Visbiežāk laukā "darbība" joprojām ir žurnālfaila nosaukums. Turklāt pirms faila nosaukuma varat ievietot mīnusa zīmi ("-"), kas nozīmē, ka sistēma var saglabāt failu kešatmiņas buferī, nevis izskalot to pēc katra ziņojuma ierakstīšanas diskā. Tas, protams, paātrina darbu, it īpaši, ja žurnālā tiek ierakstīti daudzi lieli ziņojumi, taču tas var izraisīt dažu ziņojumu zudumu negaidītas sistēmas avārijas gadījumā, tas ir, tieši tad, kad šādi ziņojumi ir īpaši nepieciešami. Varat arī norādīt printeri kā ierīci laukā "darbība" - /dev/lp0. Šādu "darbības" variantu ir lietderīgi pielietot tajos gadījumos, kad runa ir par īpaši svarīgām sistēmām. Drukātos protokolus hakeri nevar izdzēst vai mainīt, tāpēc tas ir piemērots vecam punktmatricas printerim.

Papildus rindām ar noteikumiem failā /etc/syslog.conf var saturēt tukšas rindas un komentāru rindas, kas sākas ar #. Vairāk par failu struktūru /etc/syslog.conf Jūs varat izlasīt syslog.conf rokasgrāmatu, lai atrastu dažus kārtulu ierakstu piemērus šajā failā. Ņemiet vērā, ka failā norādot pārus "category.level". syslog.conf jūs nevarat izmantot 1. un 2. tabulā norādītās skaitliskās vērtības, ir atļauti tikai to nosaukumi.

Ja ziņojums atbilst divu vai vairāku rindu modeļiem, tas tiks apstrādāts saskaņā ar katru no šiem noteikumiem (t.i., ziņojuma apstrāde neapstājas pie pirmās veiksmes). Tas nozīmē, ka ar vienu ziņojumu var veikt patvaļīgu skaitu darbību. Tādēļ varat ierakstīt ziņojumu žurnālfailā un nosūtīt to lietotājam(-iem) vai attālajam saimniekdatoram.

Turklāt, ja laukā "selector" ir uzskaitīti vairāki "category.level" pāri (atdalīti ar semikolu), tad nākamie pāri var atcelt iepriekšējo efektu. Šādas atcelšanas piemēru varat redzēt tālāk esošajā failu sarakstā. /etc/syslog.conf: reģistrē visus ziņojumus ar informāciju vai virs informācijas failā /var/log/messages, bet izlaiž (nereģistrē) pasta, authpriv un cron ziņojumus.

Saraksts 1. Fails /etc/syslog.conf no sistēmas, kas veidota uz Red Hat Linux 7.1 izplatīšanas bāzes (es tikai iztulkoju šajā failā ietvertos komentārus krievu valodā un izcēlu treknrakstā noteikumu līnijas).
# Drukājiet visus ziņojumus no kodola uz konsoli. #kern.* /dev/console# Reģistrējiet visus ziņojumus ar informācijas līmeni vai augstāku, # izņemot pasta sistēmas ziņojumus, kas satur # konfidenciālu informāciju no autentifikācijas ziņojumiem un cron dēmonu ziņojumiem. *.info;mail.none;authpriv.none;cron.none /var/log/messages# Ierakstiet ziņojumus ar konfidenciālu # autentifikācijas informāciju atsevišķā failā neatkarīgi no to līmeņa. authpriv.* /var/log/secure# Visi pasta sistēmas ziņojumi tiek ierakstīti arī atsevišķi. pasts.* /var/log/maillog# Reģistrējiet cron dēmona darbības. cron.* /var/log/cron# Visiem sistēmas lietotājiem nekavējoties jāsaņem avārijas ziņojumi *.emerg*# Ziņojumi no ziņu dienestiem ar kritisko un augstāku līmeni tiek ierakstīti atsevišķā failā. uucp,news.crit /var/log/spooler# Kopējiet sāknēšanas fāzē izdotos ziņojumus failā boot.log local7.* /var/log/boot.log
Kā redzat, lielākā daļa ziņojumu tiek vienkārši ierakstīti dažādos žurnālfailos, kas atrodas direktorijā /var/log vai tā apakšdirektoriji, un galvenais sistēmas žurnālfails programmā Red Hat Linux ir fails /var/log/messages. Tajā neietilpst tikai ziņojumi kategorijās mail, authpriv un cron (kurām ir piešķirti atsevišķi faili). Apskatīsim šo failu un, izmantojot tā piemēru, apskatīsim, kas ir ierakstīts žurnālfailos.

Žurnāla fails /var/log/messages

Protams, šeit nav iespējams pastāstīt par katras šī faila rindas saturu. Lai lasītājs gūtu priekšstatu par to, kāda informācija atrodama protokolā, sniegsim atsevišķas rindas-ziņojumus ar ļoti īsiem komentāriem.

Katrā žurnālfaila rindā ir viens ziņojuma ieraksts, kas sastāv no šādiem ziņojuma laukiem, kas atdalīti ar atstarpēm:

  • datums standarta teksta formātā (lauks LAIKZĪMOGS no ziņojuma syslog),
  • resursdatora nosaukums (lauks HOSTNAME no ziņojuma syslog)
  • ziņojuma teksts (lauki TAG Un SATURS no ziņojuma syslog)

Pirmkārt, ir vērts atzīmēt, ka, ja jūsu dators nedarbojas 24/7, bet ir izslēgts naktī, tad šajā failā var būt ieraksti par vairākiem "darba cikliem", sākot ar datora palaišanu un beidzot ar datora izslēgšanos. Šāds cikls sākas ar ziņojumu par reģistrēšanas dēmonu palaišanu (tas ir saprotams, neviens ziņojums netika ierakstīts pirms to palaišanas):

17. septembris 08:32:56 kos3 syslogd 1.4-0: restart. 17. septembris 08:32:56 kos3 syslog: syslogd sākās veiksmīgi Sep 17 08:32:56 kos3 kodols: klogd 1.4-0, žurnāla avots = /proc/kmsg sākās. Sep 17 08:32:56 kos3 kodols: pārbaude /boot/System.map-2.4.2-2 Sep 17 08:32:56 kos3 syslog: klogd palaišana izdevās

  • - Kura kodola versija tiek izmantota: Sep 17 08:32:56 kos3 kodols: Linux versija 2.4.2-2 ( [aizsargāts ar e-pastu]) (gcc versija 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) #1 Svētdien, 8. aprīlis, 20:41:30 EDT, 2001
  • - Ar kādiem parametriem kodols tiek palaists: Sep 17 08:32:56 kos3 kodols: Kodola komandrinda: auto BOOT_IMAGE=linux ro root=303 BOOT_FILE=/boot/vmlinuz-2.4.2-2
  • - Informācija par procesora veidu un operatīvās atmiņas apjomu: Sep 17 08:32:56 kos3 kodols: Atklāts 1594,849 MHz procesors. 17. septembris 08:32:56 kos3 kodols: Atmiņa: pieejams 125652 k/130560 k (1365 k kodola kods, 4200 k rezervēts, 92 k dati, 236 k init, 0 k highmem) 17. septembris 08:32:56 CPU3:11 k kodolu. , L1 D kešatmiņa: 8K Sep 17 08:32:56 kos3 kodols: CPU: L2 cache: 256K Sep 17 08:32:56 kos3 kodols: CPU: Intel(R) Pentium(R) 4 CPU 1.60GHz stepping 02
  • - Informācija par diska atmiņu (tostarp informācija par diska ģeometriju, diska nodalījuma struktūru un izmantotajiem pārtraukumiem): Sep 17 08:32:56 kos3 kodols: hda: MAXTOR 6L020J1, ATA DISK drive Sep 17 08:32:56 kos3 kodols: hdc: SAMSUNG CD-ROM SC-148C, ATAPI CD/DVD-ROM diskdzinis 17. septembris 08:32:56 kos3 kodols: ide0 pie 0x1f0-0x1f7,0x3f6 uz irq 14. septembris 17. 08:32:56 kos3 kodols: ide1 pie 0x177 ,0x376 uz irq 15. 17. septembris 08:32:56 kos3 kodols: hda: 40132503 sektori (20548 MB) ar 1819KiB kešatmiņu, CHS=2498/255/63, UDMA(100) kos3 septembris 17:08: 3 septembris 17:08 Sadalījuma pārbaude: Sep 17 08:32:56 kos3 kodols: hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >17. septembris 08:32:56 kos3 kodols: Diskešu diskdzinis(-i): fd0 ir 1,44 M
  • - Informācija par perifērijas ierīcēm: Sep 17 08:32:56 kos3 kodols: usb-uhci.c: USB UHCI pie I/O 0x1820, IRQ 11 Sep 17 08:32:56 kos3 kodols: usb-uhci.c: Atklāti 2 porti 17. septembris 08:32:56 kos3 kodols: ttyS00 pie 0x03f8 (irq = 4) ir 16550A, 17. septembris 08:32:56 kos3 kodols: ttyS01 pie 0x02f8 (irq = 3) ir 16550A pie 0x03f8 (irq = 3) ir 16550A, 17. sept. kodols: eth0: Intel(R) 8255x bāzes Ethernet adapteris, 17. septembris 08:32:56 kos3 kodols: Intel(R) PRO/100 Fast Ethernet adapteris — ielādējams draiveris, versija 1.5.6, 17. septembris 08:32:56 kos3 kodols : PCI: Atrasts IRQ 11 ierīcei 02:08.0
  • - Informācija par atsevišķu pakalpojumu un pakalpojumu sākšanu: Sep 17 08:32:56 kos3 kodols: NET4: Linux TCP/IP 1.0 for NET4.0 Sep 17 08:32:56 kos3 kodols: IP protokoli: ICMP, UDP, TCP, IGMP Sep 17 08:32:56 kos3 kodols: NET4: Unix domēna ligzdas 1.0/SMP operētājsistēmai Linux NET4.0. Sep 17 08:32:56 kos3 kodols: parport0: PC-style pie 0x378 (0x778) Sep 17 08:32:56 kos3 kodols: parport0: irq 7 konstatēts Sep 17 08:32:42 kos3 rc.sysinit: Turning on user un grupu kvotas lokālajām failu sistēmām: izdevās 17. septembris 08:32:43 kos3 rc.sysinit: Mijmaiņas vietas iespējošana: izdevās 17. septembris 08:32:44 kos3 init: Ieeja izpildes līmenī: 3. septembris 17. 08:32:45 kos3 kudzu: Uz augšu /etc/fstab izdevies Sep 17 08:32:55 kos3 kudzu: izdevies Sep 17 08:32:55 kos3 tīkls: Iestatīt tīkla opcijas: izdevies Sep 17 08:32:55 kos3 tīkls: Izaudzināt interfeisu lo: izdevies Sep 17 08 : 32:56 kos3 tīkls: eth0 interfeiss aktivizēts: izdevies Sep 17 08:32:56 kos3 keytable: Ielādē tastatūras izkārtojumu: Sep 17 08:32:56 kos3 keytable: Ielādē sistēmas fontu: Sep 17 08:32:56 kos3 nejaušs: Inicializē nejaušo skaitļu ģeneratoru: izdevās Sep 17 08:32:41 kos3 rc.sysinit: Kodola parametru konfigurēšana: izdevās Sep 17 08:32:41 kos3 rc.sysinit: Noklusējuma fonta iestatīšana (cyr-sun16): veiksmīgi Sep 17 08:32:41 kos3 rc.sysinit: Mijmaiņas nodalījumu aktivizēšana: izdevās 17. septembris 08:32:41 kos3 rc.sysinit: resursdatora nosaukuma iestatīšana kos3: izdevās 17. septembris 08:33:03 kos3 xinetd: sākās 8 seps xinetd: 7 izdevās. 33:05 kos3 gpm: sākuma gpm izdevies 17. septembris 08:33:05 kos3 cronds: sākuma cronds izdevies 17. septembris 08:33:06 kos3 xfs: klausīšanās portā 7100 17. septembris 08:33:06 starta xf xfs izdevās:
  • - informācija par savienojumu failu sistēmas: Sep 17 08:32:56 kos3 kodols: VFS: Mounted root (ext2 failu sistēma) tikai lasāms. 17. septembris 08:32:56 kos3 kodols: tiek pievienota mijmaiņas vieta: 265032 k mijmaiņas vieta (prioritāte -1) 17. septembris 08:32:56 kos3 kodols: MSDOS FS: tiek izmantota koda lapa 866. septembris 17. 08:32:56 MPS3FS kodols : IO rakstzīmju kopa koi8-r 17. septembris 08:32:41 kos3 rc.sysinit: USB failsistēmas montāža: veiksmīga 17. septembris 08:32:41 kos3 rc.sysinit: saknes failu sistēmas pārbaude izdevās 17. septembris 08:32:41 kosysin3 rc. : saknes failu sistēmas atkārtota uzstādīšana lasīšanas-rakstīšanas režīmā: izdevās Sep 17 08:32:41 kos3 rc.sysinit: Proc failu sistēmas montāža: veiksmīgi Sep 17 08:32:41 kos3 fsck: /: clean, 30407/160000 files, 9159270/3159270/ bloki 17. septembris 08:32:42 kos3 fsck: /HOME: tīrs, 6573/432864 faili, 689090/863722 bloki, 17. septembris 08:32:42 kos3 fsck: /usr: tīrs, 55105/38658p faili, 55105/320658p 17 08:32:42 kos3 rc.sysinit: failu sistēmu pārbaude izdevās
  • - Daži kļūdu ziņojumi: Sep 17 08:32:42 kos3 mount: SMB savienojums neizdevās Sep 17 08:32:42 kos3 mount: pakešu sūtīšana neizdevās uz 10.104.129.245(137) ERRNO=Tīkls ir nesasniedzams Sep 17:08:32:08 kos3 stiprinājums: stiprinājums: /dev/sda4: nezināma ierīce 17. septembris 08:32:59 kos3 mount: kļūda, izveidojot savienojumu ar 192.168.36.20:139 (nav maršruta uz saimniekdatoru) 17. septembris 08:32:59 kos3 stiprinājums: stiprinājums: / dev /sda4: nezināma ierīce
  • - Lietotāju pieteikšanās ziņojumi: Sep 17 08:33:14 kos3 login(pam_unix): sesiju lietotājam kos atvēra LOGIN(uid=0) Sep 17 08:33:14 kos3 -- kos: LOGIN ON tty1 BY kos Sep 17 08 :41:39 kos3 su(pam_unix): autentifikācijas kļūme; logname=kos uid=500 euid=0 tty=ruser=rhost=user=root
  • - Un visbeidzot, ziņojumi, kas rakstīti, kad dators ir izslēgts, piemēram: Sep 17 10:30:07 kos3 rc: Stopping keytable: veiksmīgi Sep 17 10:30:07 kos3 Font Server: pārtrauc 17. sept. 10:30:08 kos3 xfs: apturēt xfs izdevās Sep 17 10:30:08 kos3 gpm: stop gpm izdevās Sep 17 10:30:08 kos3 xinetd: Exiting... Sep 17 10:30:10 kos3 rpc.statd: Noķerts signāls 15, un- reģistrācija un iziešana. Sep 17 10:30:11 kos3 kodols: Kodola reģistrēšana (proc) apturēta. 17. septembris 10:30:11 kos3 kodols: kodola žurnāla dēmona darbība tiek pārtraukta. 17. septembris 10:30:12 kos3 syslog: apturēt klogd izdevās 17. septembris 10:30:12 kos3 iziet uz 15. signālu

    Aptuveni tādai pašai struktūrai ir ieraksti citos failā minētajos protokola failos /etc/syslog.conf.

    logger un tailf komandas

    No iepriekšējā apraksta mēs varam secināt, ka visu sistēmas žurnālu ziņojumu izsniegšana ir jānosaka programmētājam programmas izveides stadijā. Tā nav gluži taisnība. Lietotājam ir arī iespēja nosūtīt ziņojumu dēmonam syslogd. Lai to izdarītu, Linux ir komanda mežizstrādātājs, kas nodrošina ziņojuma nosūtīšanu no komandrindas (sh, bash utt.). Tā ir daļa no util-linux pakotnes. Protams, šī komanda galvenokārt ir paredzēta, lai nodrošinātu reģistrēšanas iespējas, kad lietotājs izveido dažāda veida čaulas skriptus. Bet to var palaist arī tieši no komandrindas, piemēram, lai iepazītos ar reģistrēšanas sistēmas iespējām. Komandu izpildes formāts: reģistrētājs [-isd] [-f fails] [-p PRI] [-t TAG] [-u ligzda] Komandrindas opcijām ir šāda nozīme:

    • -i- ziņojumā iekļaujiet procesa numuru
    • -s- dublēt ziņojumu stderr
    • -d- izmantojiet datagrammu režīmu, sūtot ziņojumus (parastās straumēšanas vietā)
    • -f faila nosaukums- saglabājiet ziņojumu norādītajā failā (noklusējums ir /var/log/messages)
    • -p iekārta.līmenis- iestatīt ziņojuma kategoriju un prioritāti (noklusējums: user.notice)
    • -t TAG - iestatīt TAG lauku
    • -u kontaktligzda- nosūtīt ziņojumu uz norādīto ligzdu, nevis izsaukt syslogd
    • MSG- Ziņas teksts

    Izmantojot programmu, nosūtiet vairākus ziņojumus mežizstrādātājs un apbrīnojiet rezultātu failā /var/log/messages(ja vien, protams, neesat mainījis noklusējuma vērtību).

    Starp citu, ir ļoti interesants veids, kā apskatīt failā rakstītos ziņojumus /var/log/messages komanda mežizstrādātājs. Šī metode ir balstīta uz izmantošanu īpaša programma aste. Atveriet termināļa logu, iegūstiet superlietotāja tiesības (ar komandu su) un palaidiet komandu šajā logā
    tailf /var/log/messages
    Pēc tam pārslēdzieties uz citu termināli un palaidiet komandu tur reģistrētājs custom_text. Jūsu ziņojums nekavējoties tiks parādīts logā, kurā darbojas programma. aste. Tas ir, ar šīs programmas palīdzību sistēmas administrators var reāllaikā uzraudzīt jaunu ziņojumu ierakstīšanu protokolā. Tiesa, plkst sistēmas administrators maz ticams, ka būs laiks šādā veidā uzraudzīt sistēmas uzvedību (izņemot ārkārtas situācijas). Tāpēc protokolu analīzei ir izstrādātas speciālas programmas. Bet par tiem nedaudz zemāk, bet pagaidām pāriesim pie jautājuma par to, kā organizēt attālinātā datora uzraudzību (atcerieties, kā jūs noķērāt uzbrucēju Šimomuru?).

    Tīkla reģistrēšana

    Kā minēts, reģistrēšanas sistēmas ziņojumus var nosūtīt dēmons syslogd uz attālo saimniekdatoru. Bet kādam tas tur ir jānogādā. Izrādās, ka tas ir tas pats dēmons syslogd darbojas šajā attālajā resursdatorā. Precīzāk, syslogd jebkurā datorā tas var klausīties ne tikai ligzdā /dev/log (tādējādi pieņemot ziņojumus no vietējiem avotiem), bet arī portā 514/UDP, kas nodrošina ziņojumu saņemšanu no citiem datoriem lokālajā tīklā (un pēc tam rakstot uz vietējo failu). Tas ļauj izveidot "reģistrācijas serveri", kas var būt ļoti ērts sistēmas administratoram (visi notikumi tīklā tiek izsekoti vienuviet), kā arī palielina tīkla drošību, jo tiek ziņots par hakeru ielaušanos vienā no Šis hakeris nevar nekavējoties noņemt tīkla saimniekdatorus no protokola.

    Tomēr, lai organizētu šādu "tīkla reģistrēšanu", ir jāpieliek papildu pūles.

    Pirmkārt, tā kā ports 514/UDP tiek izmantots ziņojumu saņemšanai un sūtīšanai tīklā, tam ir jābūt pieejamam abos datoros (klientā un serverī). Par to failā /etc/services abiem datoriem jābūt līnijai
    syslog 514/udp
    Ja tāda līnija ir /etc/services trūkst, syslogd nevar saņemt ziņojumus vai nosūtīt tos tīklam, jo ​​tas nevar atvērt UDP portu. Ja rodas šāda situācija, syslogd nekavējoties pārtrauc rakstīt ziņojumus pat lokālajam žurnālam. Tomēr, kā liecina komanda ps, tas paliek atmiņā un pat saglabā ziņojumus dažos buferos, jo, ja virkne " syslog 514/udp" atjaunot failā /etc/services klientā, tad vismaz daži "trūkstošie" ziņojumi joprojām parādās žurnālā (pēc restartēšanas syslogd).

    Otrkārt, startējot dēmonu syslogd opcija jānorāda serverī -r, kas nodrošina attālās reģistrēšanas iespējas (pēc noklusējuma dēmons syslogd gaida ziņojumu tikai no vietējās ligzdas). Par to, kā un kur iestatīt šo opciju, tiks runāts tālāk, sadaļā par dēmona palaišanu. syslogd.

    Nu, un treškārt, attiecīgi jālabo iestatījumi failos. /etc/syslog.conf abos datoros. Piemēram, ja vēlaties novirzīt visus ziņojumus uz reģistrēšanas serveri, jums jāieraksta failā klienta datorā /etc/syslog.confšāda rinda:
    *.*@resursdatora nosaukums
    Ja dēmona palaišanas laikā syslogd serveris nebūs pieejams (piemēram, pašlaik ir bezsaistē) vai to nevarēs atrast pēc nosaukuma (DNS pakalpojums nedarbojās pareizi) syslogd veic vēl 10 mēģinājumus atrast serveri, un tikai tad, ja pēc tam serveri nebija iespējams atrast, tas pārtrauc mēģinājumus un nosūta atbilstošu ziņojumu.

    Ja jūsu tīklā ir vairāki domēni, kurus apkalpo viens un tas pats reģistrēšanas serveris, nebrīnieties, servera reģistrēšanā redzot pilnus klientu nosaukumus (ieskaitot domēnu). Patiešām, startēšanas laikā syslogd opcijas var izmantot -s domēnu_saraksts vai -l saimnieku saraksts, kas nodrošina pilno resursdatora nosaukumu aizstāšanu protokolā ar to īsajiem nosaukumiem (nenorādot domēnu).

    Neaizmirstiet pēc palaišanas opciju un faila pielāgošanas /etc/syslog.conf restartējiet dēmonu, jo atšķirībā no cron, syslogd automātiski nepārlasa konfigurācijas failus.

    syslogd dēmona startēšanas opcijas

    Tā kā mēs pieskārāmies jautājumam par dēmona startēšanas parametru iestatīšanu iepriekšējā apakšnodaļā syslogd apskatīsim šo jautājumu sīkāk. Kā jau minēts, abi reģistrēšanas dēmoni tiek palaisti sistēmas inicializācijas stadijā un konkrētāk, izmantojot skriptu /etc/rc.d/init.d/syslog(kuriem, kā arī citu servisu startēšanas skriptiem /etc/rc.d/rc?.d/ direktorijās tiek izveidotas simboliskas saites). Tomēr nav nepieciešams modificēt šo skriptu, lai iestatītu startēšanas parametrus, jo kopš 7.2 versijas Red Hat izplatīšanā abu dēmonu startēšanas opcijas tiek nolasītas no atsevišķa konfigurācijas faila. /etc/sysconfig/syslog. Šeit ir īss iespējamo dēmona parametru saraksts syslogd.

    Palaišanas parametri syslogd:

    • - kontaktligzda- Norāda papildu ligzdu, kurā dēmons klausīsies syslogd. Varat norādīt līdz 19 ligzdām (ir iespējams vairāk, taču šim nolūkam pakotne ir jāpārkompilē). Šī opcija tiek izmantota, ja kāds cits dēmons (piemēram, ftp vai http) darbojas ierobežotā vidē (veic chroot).
    • -d- Atkļūdošanas režīms. Tajā pašā laikā dēmons neiet uz fonu un izdod visus ziņojumus uz pašreizējo termināli.
    • -f konfigurācijas faila nosaukums Norāda alternatīvā konfigurācijas faila nosaukumu, kas jāizmanto noklusējuma faila vietā. /etc/syslog.conf.
    • -h Pēc noklusējuma iekšā syslogd tīklā saņemtos ziņojumus ir aizliegts pārsūtīt uz kādu citu datoru. Tas tiek darīts, lai izvairītos no nebeidzamām ziņojumu pārsūtīšanas ap gredzenu. Opcija -h ļauj mainīt parasto darbību un nodrošināt, ka no attāliem saimniekiem saņemtie ziņojumi tiek pārsūtīti tīklā (un pats parūpēsies par iespējamo cilpu).
    • -l saimnieku saraksts- Norāda to resursdatoru sarakstu, kuru nosaukumi nav jāraksta ar pilnu domēna nosaukumu (FQDN - Full Qwalified Domain Name); nosaukumi sarakstā ir atdalīti ar koliem.
    • -m minūtes Palaista bez šīs opcijas syslogd regulāri (ik pēc 20 minūtēm) reģistrē kategorijas ziņojumus atzīme, tas ir, tikai laikspiedoli. Ar opciju -m jūs varat mainīt intervālu starp atzīmēm vai pilnībā atcelt šādu ziņojumu izdošanu, kuriem intervāls ir jāiestata uz nulli: -m0.
    • -n Neiedziļinieties fonā; opcija ir nepieciešama gadījumos, kad syslogd tiek startēts un kontrolēts ar procesu tajā.
    • -p ligzda Norāda alternatīvu UNIX ligzdu (noklusējuma klausīšanās vietā /dev/log). Lūdzu, ņemiet vērā: opcija -a norāda papildu kontaktligzdas, un -lpp- alternatīva!
    • -rĻauj saņemt ziņas no attāliem saimniekiem. Mēs par to runājām iepriekšējā sadaļā, tāpēc es izlaižu sīkāku informāciju.
    • -s domēnu saraksts Norāda to domēnu sarakstu, kuru nosaukumi nav jāreģistrē kopā ar resursdatora nosaukumu (tas ir, šiem domēniem tiks reģistrēti tikai resursdatora nosaukumi, nevis pilnībā kvalificēts domēna nosaukums (FQDN). Vārdi sarakstā ir atdalīti ar kols. Domēna nosaukums, kurā atrodas syslogd serveris , šajā sarakstā nav nepieciešams (tā nosaukums pēc noklusējuma ir noņemts).
    • -v Rādīt versiju un pabeigt.
    • -x Liegt resursdatora nosaukuma noteikšanu no tā adreses novērš strupceļu, kad darbojas tajā pašā resursdatorā, kur DNS serveris.

    Pēc dēmona palaišanas syslogd statusa fails ir izveidots /var/lock/subsys/syslog nulles garums un fails ar procesa ID /var/run/syslogd.pid.

    Ar komandu
    kill -SIGNAL `cat /var/run/syslogd.pid`
    jūs varat nosūtīt dēmonam syslogd viens no šiem signāliem:

    • SIGHUP - dēmona restartēšana (atkārtoti inicializācija); visi atvērtie faili tiek aizvērti, dēmons tiek restartēts, pārlasot tā konfigurācijas failu.
    • SIGTERM - izslēgšana.
    • SIGINT, SIGQUIT - ja ir iespējots atkļūdošanas režīms (opcija -d), signāli tiek ignorēti, pretējā gadījumā - iziet.
    • SIGUSR1 - iespējot/atspējot atkļūdošanas režīmu (darbojas tikai tad, ja dēmons tika palaists ar slēdzi -d).

    Dēmons klogd ir vismaz tikpat daudz palaišanas iespēju kā syslogd tomēr mēs tos šeit nesniegsim, atsaucot lasītāju uz atbilstošo man lapu (lietotājam nevajadzētu konfigurēt klogd, labāk to atstāt tādā stāvoklī, kādā to ražojuši izplatīšanas izstrādātāji).

    dmesg failu un dmesg komandu

    Kā jau minēts, failā minētie žurnālfaili /etc/syslog.conf parasti atrodas direktorijā /var/log un tā apakšdirektoriji. Bet, ja mēs iedziļināsimies šajā direktorijā, mēs tur atradīsim vairākus failus, kas atrodas /etc/syslog.conf netika pieminēti. Apskatīsim to mērķi. Sāksim ar failu dmesg.

    Pirmkārt, ir jāpiemin, ka Linux ir komanda ar tādu pašu nosaukumu. Ja salīdzinām šīs komandas izvadi (kad tā tiek palaista bez parametriem) ar faila saturu /var/log/dmesg, jūs atklāsiet, ka tie ir ļoti līdzīgi, lai gan nav identiski (novirziet komandas izvadi uz failu dmesg2 un salīdziniet failus dmesg Un dmesg2). Precīzāk, fails /var/log/dmesg viens pret vienu sakrīt ar izvades sākumu, ko iegūstam pēc komandas dmesg. Kā izriet no , kodolam ir gredzena buferis, kurā tiek ierakstīti ziņojumi no kodola reģistrēšanas dēmona. Tie ziņojumi, kas tiek ierakstīti šajā buferī lejupielādes procesa laikā, un veido faila saturu /var/log/dmesg. Acīmredzot šis fails tiek izveidots sistēmas sāknēšanas beigās.

    Ja vēlreiz aplūkojat iepriekš minēto failu sarakstu /etc/syslog.conf, jūs redzēsiet, ka visas ziņas šajā kategorijā kern izdots arī konsolei. Bet tur tie ātri pārskrien pa ekrānu, un jums gandrīz nav laika tos izlasīt un saprast. Bet tie tiek saglabāti failā /var/log/dmesg un tādējādi pieejams nesteidzīgām pārdomām (ja lejupielādes process ir veiksmīgi pabeigts). Kad sāknēšanas process ir pabeigts, ziņojumu rakstīšana no kodola uz gredzena buferi turpinās. Kad komanda tiek izpildīta dmesg, tiek atgriezts pašreizējais bufera stāvoklis. Tāpēc šīs komandas izvadē ir vairāk ziņojumu nekā failā /var/log/dmesg: šīs komandas izvadā varat redzēt arī ziņojumus, ko kodols izdod pēc sāknēšanas procesa pabeigšanas.

    Visas ziņas no /var/log/dmesg jūs atradīsit failā /var/log/messages, tikai tur tie mijas ar ziņām no citām programmām. Ir tikai viena būtiska atšķirība: failā dmesg ziņojuma laiks un avots (resursdatora nosaukums un ziņojuma kategorija) nav norādīts. Šeit saimniekdators vienmēr ir “lokāls”, un atpakaļskaitīšanas sākumu nosaka pēdējā datora atsāknēšana.

    lastlog, wtmp un utmp faili

    Izņemot failu dmesg katalogā /var/log/ ir vēl divi faili, kas nav minēti /etc/syslog.conf, bet tieši saistīti ar reģistrēšanu - tie ir faili pēdējais žurnāls Un wtmp. Bet ieskatieties tajās tāpat kā mēs skatījāmies failā /var/log/messages nav jēgas - neko nesapratīsi. Fakts ir tāds, ka informācija šajos failos tiek ierakstīta īpašā formātā, un tā ir jāskata, izmantojot īpašus programmatūras rīkus. Bet vispirms mums ir jāpasaka daži vārdi par šo failu mērķi.

    Fails pēdējais žurnāls saglabā informāciju par lietotāja pēdējo pieteikšanos sistēmā. Es nezinu, vai esat pamanījis, ka, ievadot lietotājvārdu un paroli, ekrānā tiek parādīts šāds ziņojums:

    Localhost login: kos Parole: Pēdējā pieteikšanās: Wed Oct 9 19:25:53 on tty1 Šīs trīs rindas ir ģenerētas utilīta Pieslēgties, kas, konstatējot, ka lietotājam ir pieteikšanās tiesības, piekļūst failam /var/log/lastlog, no turienes izvelk informāciju par lietotāja iepriekšējo veiksmīgo pieteikšanos, parāda to ekrānā un pēc tam atjaunina ierakstu failā pēdējais žurnāls. Varat dzēst šo ziņojumu, izveidojot tukšu .hushlogin failu savā mājas direktorijā. Tomēr to darīt nav ieteicams, drīzāk, tieši otrādi, ir vērts pievērst īpašu uzmanību šīs ziņas saturam, lai nepalaistu garām gadījumus, kad kāds cits pieteicies ar jūsu vārdu.

    Atšķirībā no faila /var/log/lastlog, kurā ir laika ieraksti Pēdējais katra lietotāja pieteikšanās, failā /var/log/wtmp tiek atcerēti visi lietotāju pieteikšanās un atteikšanās kopš šī faila izveides. Kā failā pēdējais žurnāls, ieraksti /var/log/wtmp ir izgatavoti īpašā formātā, lai tos varētu apskatīt tikai izmantojot īpašas komandas. Bet pirms runāt par šīm komandām, pieņemsim, ka ir vēl viens fails, kurā ir ieraksti par lietotāja reģistrēšanu - tas ir fails /var/run/utmp. Šajā failā ir informācija par to, kurš lietotājs pašlaik ir pieteicies sistēmā.

    Tagad varat runāt par to, kā skatīt informāciju par lietotājiem, kuri strādā vai iepriekš ir strādājuši sistēmā. Galvenā komanda tam ir komanda Pēdējais. Tas izvada visus ierakstus no faila /var/log/wtmp, un lietotājvārds, norāde uz termināli, no kura lietotājs strādāja, laiks, kad lietotājs ienāca sistēmā un laiks, kad viņš atstāja sistēmu, kā arī lietotāja sesijas ilgums sistēmā. Ja lietotāja darbs tika pārtraukts tikai pašas sistēmas izslēgšanas dēļ, lietotāja izejas laika vietā ir vārds "uz leju" (no šīm rindām ir viegli noteikt sistēmas apstāšanās laiku). Restartēšanas laiks tiek parādīts atsevišķās rindās, kas sākas ar vārdu "reboot".

    Pavēli pēdējaisb kā komanda Pēdējais, bet parāda informāciju par neveiksmīgiem lietotāja pieteikšanās mēģinājumiem. Tomēr jāņem vērā, ka šī komanda darbosies tikai tad, ja fails pastāv. /var/log/btmp. Tomēr neviena no šeit aplūkotajām programmām neveido žurnālfailus, tāpēc, ja kāds no tiem tiek izdzēsts, ierakstu glabāšana beidzas.

    Pavēli pēdējais žurnāls formatē un izvada faila saturu /var/log/lastlog. Tiks parādīts lietotājvārds, termināļa nosaukums, no kura lietotājs pieteicās, un pēdējais pieteikšanās laiks. Pēc noklusējuma (kad komanda tiek ievadīta bez parametriem) faila elementi /var/log/lastlog tiks izvadīts lietotāja ID numuru secībā. Ja norādāt opciju -u login-name, tiks parādīta tikai informācija par norādītā lietotāja pēdējo pieteikšanās laiku. Norādot opciju -t dienas, jūs saņemsiet ierakstus tikai par pēdējo dienu dienām. Ja lietotājs vēl nav pieteicies sistēmā, tad termināļa nosaukuma un pēdējā pieteikšanās laika vietā tiks norādīta virkne "**Nekad nav pieteicies**".

    Izpildot komandu pēdējais žurnāls lēnā datorā dažos gadījumos var šķist, ka komanda "karājas". Tas ir saistīts ar faktu, ka pat tad, ja sistēmā, failā ir reģistrēti tikai divi lietotāji (root un user). /var/log/lastlog vieta joprojām ir atvēlēta maksimāli iespējamam lietotāju skaitam, kuri var strādāt sistēmā. Tāpēc failā /var/log/lastlog var būt lielas atšķirības starp to lietotāju ID numuriem, kuri ir pieteikušies. Tā kā, skatoties šādus intervālus, programma ekrānā nerāda informāciju, un rodas iespaids, ka tas ir "karājies".

    Lai parādītu informāciju par to, kurš pašlaik strādā sistēmā, izmantojiet komandas w, PVO Un lietotājiem. Pavēli lietotājiem tiek izmantots, ja vēlaties tikai zināt, kurš lietotājs šobrīd strādā sistēmā, bet jūs neinteresē, no kura termināļa viņš pieslēdzās un ko viņš dara. Ja vēlaties uzzināt, kurš ir pieteicies no kura termināļa, izmantojiet komandu PVO. Šī komanda izdrukā informāciju no faila /var/run/utmp. Varat piespiest to izvadīt datus no faila /var/log/wtmp(vai jebkuru citu failu, kuram tas ir jēga), ja norādāt šī faila nosaukumu komandrinda. Bet izvadā jūs joprojām redzēsit tikai lietotājvārdu, norādi uz termināli, no kura lietotājs pieteicās, pieteikšanās laiku un, ja piesakāties ar attālais dators, šī datora nosaukums.

    Ievērojami vairāk informācijas tiek parādīta komanda w. Tās izvadē jūs redzēsiet pašreizējo laiku, cik ilgi sistēma ir darbojusies, cik lietotāju pašlaik ir pieteikušies sistēmā un vidējo sistēmas slodzi pēdējā minūtē, 5 un 15 minūtēs. Pēc tam tas izvada katram lietotājam:

  • Lietotājvārds,
  • termināļa nosaukums,
  • attālā resursdatora nosaukums
  • pagājis laiks kopš pieteikšanās
  • laiks, kurā šis terminālis netiek izmantots (dīkstāves laiks),
  • kopējais laiks, kas pavadīts visos procesos, kas palaisti no šī termināļa (kolonna JCPU),
  • laiks, kurā darbojas pēdējais no lietotāja palaistajiem procesiem (PCPU diagramma),
  • informācija par to, kuru programmu lietotājs pašlaik izpilda (komandrindas veidā komandas palaišanai ar visiem parametriem).

    Kā jau minēts, komanda w izdrukā failā saglabāto informāciju utmp. Starp citu, vadība vīrietis nosaka, ka parastajiem lietotājiem ir jāliedz rakstīšanas piekļuve failam utmp, jo daudzi sistēmas programmas(kādu neizskaidrojamu iemeslu dēļ) ir atkarīgi no tā integritātes. Jūs riskējat sajaukt sistēmas faili statistiku un veikt izmaiņas sistēmas failos, ja atļaujat jebkuram lietotājam rakstīt utmp failā.

    Citu programmu žurnālfaili

    Papildus tiem failiem, par kuriem mēs jau runājām, ir arī citi protokola faili, kurus izveido atsevišķas programmas. Tipiskākie piemēri ir dēmonu protokoli. samba, ftpd vai httpd kas tiek uzturēti atsevišķos failos. Dažas no šīm programmām savus protokolus izveido direktorija apakšdirektorijās /var/log/, citi saglabā protokolus citās vietās. Un šo failu struktūra var būtiski atšķirties no sistēmas izveidoto failu struktūras syslog. Piemēram, es došu dažas rindiņas no servera protokola Apache darbojas manā datorā: 192.168.36.21 - - "GET /ve/papers/new/log/ HTTP/1.1" 200 1774 "-" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0 . 0) Gecko/20020530" 192.168.36.21 - - "GET /icons/back.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0 ) Gecko/20020530" 192.168.36.21 - - "GET /icons/folder.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko / 20020530" 192.168.36.21 - - "GET /icons/text.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko/2002053 192.168.36.21 - - "GET /ve/papers/new/log/protok_lovim.htm HTTP/1.1" 200 46597 "http://linux/ve/papers/new/log/" "Mozilla/5.0 (X11; U ; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" 192.168.36.21 - - "GET /bugtraq.css HTTP/1.1" 404 279 "http://linux/ve/papers/new/log/ protok_lovim .htm" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" 192.168.36.21 - - "GET /img/bug1.gif HTTP/1.1" 404 280 " ://linux/ve/papers/new/lo g/protok_lovim.htm" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" 192.168.36.21 - - "GET /img/title.gif HTTP/1.1" 404 281 "http://linux/ve/papers/new/log/protok_lovim.htm" "Mozilla" /5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" Kā redzat, šī žurnālfaila struktūra būtiski atšķiras no sistēmas žurnālos redzētās.

    Samba-serveris papildus galvenajam servera darbības protokolam izveido apakšdirektorijā /var/log/samba vairāki žurnālfaili dažādiem gadījumiem, jo ​​īpaši atsevišķi faili katram lietotājam, kuram ir atļauts izmantot šī servera nodrošinātos resursus. No viena šāda faila tiek ņemti šādi divi ieraksti:

    smbd/service.c:make_connection(550) linux (192.168.36.10) izveidot savienojumu ar publisko pakalpojumu kā lietotājs kos (uid=500, gid=500) (pid 1366) smbd/service.c:close_cnum(550) linux (192. 36.10) slēgts savienojums ar sabiedrisko pakalpojumu Iepriekš minētie piemēri parāda, ka, ja jūs zināt nedaudz angļu valodu un saprotat ierakstu struktūru, varat iegūt daudz noderīgas informācijas no žurnāla failiem. Tikai tas ir jāizvelk no veselām "atkritumu iežu" atradnēm - milzīgiem secīgiem protokolu failiem, kas ir nenozīmīgs uzdevums. Tāpēc ir izstrādāti īpaši programmatūras rīki protokolu analīzei.

    Līdzekļi protokolu apstrādei

    Ir izstrādāts daudz dažādu programmu un skriptu protokolu analīzei. Es ierobežošu sevi īss apraksts divi šādi līdzekļi: baļķu pulkstenis Un skatīties.

    baļķu pulkstenis ir Perl skripts, kas iekļauts standarta Red Hat Linux izplatīšanā. Tieši šī raksta sagatavošanas laikā izstrādātāja vietnē tika ievietota šīs programmas versija 4.1 (un viņš ir Kērks Bauers).

    Šīs programmas galvenā ideja ir tāda, ka žurnālfails tiek nodots caur filtru, kas no žurnāla izņem visas rindas (tas ir, ziņojumus), kas atbilst dotajiem kritērijiem. Rezultāti tiek nosūtīti pa e-pastu norādītajam lietotājam (root pēc noklusējuma). Filtrus var rakstīt jebkurā programmēšanas valodā, bet pakotnes autors dod priekšroku Perl. Filtri jāraksta tā, lai tie nolasītu datus no stdin un izvadītu rezultātu uz stdout.

    Galvenais lietojums baļķu pulkstenis sastāv no saites uz galveno skriptu ( /etc/log.d/scripts/logwatch.pl) uz direktoriju /etc/cron.daily, kas izraisa ikdienas izpildi baļķu pulkstenis ar noklusējuma iestatījumiem. Saitei tiek piešķirts nosaukums, kas sākas ar "00" (piemēram, 00-logwatch), lai skripts tiktu palaists pirms logrotate.

    Bet jūs varat arī palaist skriptu no komandrindas. Protams, ja nemainījāt informācijas izvades parametru, tad jāmeklē tā darba rezultāts pastkaste superlietotājs. Ja vēlaties redzēt šos rezultātus ekrānā, komandrindā ir jānorāda parametrs -- drukāt- izdrukāt atskaiti uz stdout.

    Vispārējais skripta izpildes formāts:

    /etc/log.d/scripts/logwatch.pl [--detaļas līmenī ] [--logfiležurnālu grupa ] [--apkalpošana pakalpojuma nosaukums ] [--print] [--mailto adrese ] [--saglabāt Faila nosaukums ] [--arhīvi] [--diapazons datums-intervāls ]

    Noklusējuma opcijas tiek glabātas /etc/log.d/logwatch.conf failā, komentāri, kas ļauj saprast komandrindas opciju nozīmi:

    • LogDir - direktorijs, attiecībā uz kuru tiek ņemti vērā failu nosaukumi;
    • MailTo - kam nosūtīt ziņojumu;
    • Drukāt - tā vietā, lai nosūtītu atskaiti pa pastu, izdrukājiet to uz stdout;
    • Saglabāt - tā vietā, lai ziņojumu nosūtītu pa pastu, saglabājiet to norādītajā failā;
    • Arhīvi - rīkojieties ne tikai pašreizējās versijasžurnālus, bet arī vecās kopijas, kas izveidotas ar logrotate;
    • Diapazons - apstrādāt norādīto laika intervālu: Visi, Šodien, Vakar (vakardienas kalendārā diena);
    • Detaļas - ziņojuma detalizācijas līmenis: no 0 līdz 10 vai Zems, Vidējs, Augsts;
    • Pakalpojums — viss vai filtra nosaukums no /etc/log.d/scripts/services/ (var norādīt vairākus filtrus);
    • LogFile — viss vai žurnālu grupas nosaukums (var norādīt vairākas grupas).

    Vairāk informācijas par skriptu baļķu pulkstenis jūs atradīsiet .

    Rakstā ir aprakstīts cits žurnālfailu apstrādes skripts, kas ir iekļauts Mandrake Linux izplatīšanā. Šo skriptu sauc skatīties("Simple WATCHer"), un tas ir rakstīts arī Perl valodā.

    Darba vadība skatīties pēc noklusējuma tiek darīts ar vienu konfigurācijas failu $HOME/.swatchrc. Šajā failā ir teksta paraugi (regulāru izteiksmju veidā), kas skatīties meklēs žurnālfailos. Katram šādam modelim seko darbība, kas skatīties ja tiek atrasts teksts, kas atbilst rakstam.

    Piemēram, pieņemsim, ka vēlaties saņemt brīdinājumu katru reizi, kad jūsu tīmekļa serverim tiek mēģināts veikt bufera pārpildes uzbrukumu. Un jūs zināt, ka šādos gadījumos žurnāla failā /var/apache/error.log parādās ziņojums ar vārdiem "Faila nosaukums ir pārāk garš". Šajā gadījumā jūsu failā .swatchrc ievietojiet šādu paziņojumu:

    Skatīties /Faila nosaukums pārāk garš/ pastu [aizsargāts ar e-pastu], subject=BufferOverflow_attempt

    Es šeit nesniegšu sīkāku programmas aprakstu. skatīties. Tam veltīts entuziasma pilns raksts, un pašu programmu var atrast mājaslapā. Es tikai gribu norādīt un skatīties, Un baļķu pulkstenis ieviest diezgan primitīvu protokola failu apstrādes algoritmu, kura pamatā ir noteiktas rakstzīmju virknes (paraksta) meklēšana protokolā. Tikmēr, pirmkārt, šādas virknes klātbūtne bieži vien vēl neliecina par uzbrucēja ielaušanos, un, otrkārt, kompetents uzbrucējs var parūpēties par savas darbības pēdu dzēšanu. Vēl viens acīmredzams apskatīto produktu trūkums ir tas, ka tie darbojas "aizkavētā režīmā", jo tie tiek palaisti tikai pēc grafika. Un cīņa pret iebrucējiem ir jāveic "reālā laikā", nekavējoties reaģējot uz mēģinājumiem iekļūt sistēmā. Tāpēc komerciālie produkti piedāvā uzraudzības sistēmas, kas darbojas nepārtraukti un ievieš "inteliģentus" protokolu analīzes algoritmus. Šie algoritmi ir balstīti uz ziņojumu plūsmas statistisko analīzi un statistiski nozīmīgu sistēmas noviržu noteikšanu no tās parastās darbības.

    Šīs sadaļas noslēgumā vēlos atzīmēt, ka vietnē SecurityLab.ru (http://www.securitylab.ru/tools/?ID=22111) ir saraksts ar saitēm uz dažādu protokolu apstrādes programmatūras rīku vietnēm ar īss šo rīku apraksts. Varat eksperimentēt ar dažādām programmām un izvēlēties sev piemērotāko.

    Žurnāla faila pagriešana

    Protams, jūs saprotat, ka, ja sistēma tiek intensīvi izmantota, žurnālfaili strauji aug. Tā rezultātā tiek zaudēta vieta diskā. Pastāv arī protokolu "pieradināšanas" problēma. Red Hat Linux atrisina šo problēmu ar skriptu. logrotēt, kas atrodas direktorijā /etc/cron.daily, un tāpēc to vada dēmons cron katru dienu. Šis skripts ļauj apstrādāt ne tikai sistēmas žurnālus syslog bet arī jebkuras citas programmas.

    Skripts logrotēt uzrauga žurnāla failu pieaugumu un nodrošina šo failu tā saukto rotāciju, ja tie pārsniedz noteikto izmēru (vai pēc noteiktā laika intervāla). Rotācija nav nekas cits kā secīga kopēšana iepriekšējās versijas arhivēt failus, piemēram:

  • ziņas.2 -> ziņas.3
  • ziņas.1 -> ziņas.2
  • ziņas.0 -> ziņas.1
  • ziņas -> ziņas.0
    un izveidojot jaunu ziņojumu failu, lai ierakstītu turpmākās ziņas.

    Skriptam apstrādājamo failu saraksts logrotēt un šīs apstrādes parametrus nosaka konfigurācijas faili, kas var būt vairāki. Konfigurācijas failu nosaukumi ir norādīti skripta palaišanas komandrindā (skatiet palaišanas opcijas zemāk). Red Hat Linux sistēmā pēc noklusējuma kā konfigurācijas faili logrotēt tiek izmantots fails /etc/logrotate.conf, kas varētu izskatīties apmēram šādi:

    Iknedēļas rotācijas 4. izveides komprese ietver /etc/logrotate.d /var/log/wtmp /var/log/lastlog (ikmēneša izveide 0664 root utmp rotate 1)

    Šis fails ir kā jebkurš skripta konfigurācijas fails. logrotēt sastāv no vairākām sadaļām. Pirmajā sadaļā ir noteiktas globālās opcijas (viena katrā rindā), kas nosaka noklusējuma opcijas visiem žurnāliem. Nākamajās sadaļās ir noteiktas lokālās opcijas žurnālfailu sērijai. Šo failu nosaukumi ir norādīti sadaļas pirmajā rindā, un pēc tam lokainās iekavās tiek iestatīti lokālie parametri, kas ir derīgi tikai norādīto failu apstrādē (arī viens parametrs katrā rindā). Žurnāla failu nosaukumus var citēt saskaņā ar čaulas noteikumiem, ja tajos ir atstarpes vai citas īpašās rakstzīmes. Varat norādīt vairākus failu nosaukumus vai failu nosaukumu modeļus, atdalot tos ar atstarpi (veidnes arī atbilst čaulas noteikumiem). Katras sadaļas apstrāde tiek uzskatīta par vienu darbību. Rindas, kas sākas ar "#", ir komentāri. Vietējie iestatījumi ir svarīgāki par globālajiem iestatījumiem.

    Dotajā piemērā konfigurācijas failā vispirms ir aprakstīti globālie parametri un pēc tam atsevišķā sadaļā parametri /var/log/wtmp un /var/log/lastlog failu apstrādei. Turklāt starp globālajiem parametriem tiek dota saite uz direktoriju /etc/logrotate.d, kurā katra pakotne ieraksta vietējos iestatījumus saviem žurnāliem.

    Globālo iestatījumu sadaļā vispirms tiek iestatīts viens no šiem parametriem, kas nosaka faila rotācijas kritērijus:

  • katru dienu- versiju maiņa sērijā notiek katru dienu,
  • iknedēļas- versija mainās katru nedēļu,
  • katru mēnesi- versija mainās katru mēnesi,
  • Izmērs baits - versijas maiņa notiek, ja žurnāla izmērs pārsniedz norādīto baitu skaitu; varat izmantot sufiksus "k" - kilobaits - un "M" - megabaits)

  • un parametrs ietver, kam seko cita (papildu) konfigurācijas faila nosaukums vai pat direktorija nosaukums. Pēdējā gadījumā visi faili norādītajā direktorijā, izņemot apakšdirektorijus, īpašos failus un failus ar sufiksiem no izslēgšanas saraksta, tiek uzskatīti par skripta konfigurācijas failiem. logrotēt(direktīva ietver nevar izmantot sadaļā, kas nosaka apstrādes parametrus failu grupai).

    Parametrs pagriezt numuru var atrasties gan starp globālajiem, gan lokālajiem parametriem un nosaka, cik veco versiju jāsaglabā; ja skaitlis ir 0, netiek izveidotas arhivētas protokola versijas.

    Ja parametrs ir iestatīts saspiest, tad vecākas versijas tiek saspiestas, izmantojot gzip, un, ja norādīts nav kompresijas- tie nesaspiež. Parametrs saspiest cmdļauj norādīt, kura saspiešanas programma tiks izmantota (noklusējums ir gzip), un atspiest cmd norāda dekompresijas programmu (noklusējums ir ungzip). kompresijas iespējas nosaka saspiešanas programmas parametrus; pēc noklusējuma ir "-9", t.i. maksimālā saspiešana gzip. Izmantojot parametru saspiestteksts jūs varat mainīt sufiksu saspiesti faili, un parametrs pagarinājumu piedēklis norāda sufiksu, kas jāpievieno failu nosaukumiem rotācijas laikā (pirms saspiešanas sufiksa).

    Starp konfigurācijas failos atrodamajiem atslēgvārdiem ir vārdi pēc rotācijas Un iepriekš pagriezt, kas kalpo kā sākuma iekavas čaulas skriptu iekļaušanai konfigurācijas failos. Visas konfigurācijas faila rindas no rindas pēc rotācijas līdz līnijai beigu raksts tiek izpildītas kā čaulas komandas pēc žurnālfaila versijas maiņas procesa. Attiecīgi visas līnijas no līnijas iepriekš pagriezt līdz līnijai beigu raksts tiek izpildīti pirms žurnālfailu pagriešanas. Izmantojot šos skriptus, varat organizēt dažādas žurnālfailu apstrādes procedūras rotācijas laikā.

    Izmantojot citus konfigurācijas faila parametrus, varat ignorēt piekļuves tiesības žurnālfailiem (ja šis parametrs nav iestatīts, tiek izmantoti vecā žurnālfaila atribūti); norādīt, kam nosūtīt kļūdu ziņojumus par reģistrēšanas sistēmas darbību; nosūtīt žurnāla arhīva kopiju norādītajam lietotājam; iestatiet direktoriju, uz kuru tiks pārvietoti protokoli versijas maiņas laikā (direktorijai jāatrodas tajā pašā fiziska ierīce kā /var/log) vai iestatiet direktorija izslēgšanas sufiksu sarakstu ietver. Detalizēts aprakstsšīs funkcijas un opcijas (kā arī tās, kas netika minētas) jūs atradīsit ar komandu manlogrotate.

    Kā jau minēts, papildu konfigurācijas faili logrotēt var norādīt skripta palaišanas komandrindā. Varat norādīt patvaļīgu skaitu konfigurācijas failu vai direktoriju nosaukumu. Failu un direktoriju nosaukumi šajā sarakstā ir atdalīti ar vienkāršām atstarpēm. Nosaukumu secībai sarakstā ir nozīme, jo nākamajā konfigurācijas failā norādītās opcijas ignorē iepriekšējā failā norādīto opciju nozīmi. Failu secība konfigurācijas direktorijā nav noteikta.

    Palaišanas komandrindā varat norādīt arī šādas opcijas:

    • -d- atkļūdošanas režīms, reālas izmaiņas netiek veiktas,
    • -f- veikt izmaiņas pat tad, ja logrotēt neredz vajadzību - tiek izmantots, lai veiktu izmaiņas apstrādāto žurnālu sarakstā,
    • vīrietis logwatch
    • Miks Bauers, "Paranoidālais pingvīns: paraugs: automatizēta žurnālu uzraudzība modriem, bet slinkiem"
    • RFC 3164. C. Lonvick, The BSD Syslog Protocol, 2001. gada augusts.
    • RFC 3195. D. New, M. Rose, Reliable Delivery for syslog, 2001. gada novembris.
    • Per. S. Lapšanskis "Dēmons vēro sistēmu"
    • Deniss Koļisničenko,

    Syslog protokols un atbalsta programmatūra nodrošina informācijas ierakstīšanu par notikumiem sistēmas žurnālā (žurnāli, sistēmas konsole), kā arī to pārraidi uz reģistrēšanas serveri pa tīklu, šķirošanu un apstrādi atkarībā no ziņojumu avota un svarīguma. Rakstā ir aprakstīts syslog protokols, tā ieviešana Solaris un Linux (syslogd), Cisco IOS, kā arī palīgrīki: logrotate, logwatch.

    Sistēmas sastāvdaļas ir ziņojumu ģenerators (ierīce vai process), apmaiņas protokols, ziņojumu savācējs (savācējs, syslog serveris), relejs (relejs, saņem ziņojumus no viena vai vairākiem ģeneratoriem un nodod tos vienam vai vairākiem savācējiem vai šādus relejus). Ģenerators (vai relejs pārraidot) nezina, vai uztvērējs ir relejs vai savācējs, var pārraidīt vienu ziņojumu vairākiem uztvērējiem, var apstrādāt pašu ziņojumu (piemēram, ierakstot failā).

    Syslog protokols nesatur nekādu aizsardzību pret ziņojumu viltošanu. Sliktāk par to, UDP protokola izmantošana ļauj uzbrucējiem sūtīt ziņojumus jebkura resursdatora vārdā. LAN jābūt aizsargātam (IOS ACL, ipchains) pret pakešu saņemšanu ar viltotām vietējām adresēm (lai gan tas neliedz viltotu ziņojumu sūtīšanu no LAN iekšpuses) un pakešu saņemšanu no ārpuses portā 514/udp. Ir zināmi diska pārpildes gadījumi ar viltus ziņojumiem.

    Syslog protokols un UDP nenodrošina garantētu piegādi (ziņojumi var tikt pazaudēti tīkla pārslodzes dēļ vai pārtverti, bojāti ziņojumi tiek dzēsti bez brīdinājuma), pareizu piegādes secību (procesa pārtraukšanas ziņojums var pienākt pirms procesa sākuma ziņojuma), prioritāro piegādi.

    Ziņojumu konfidencialitāte netiek nodrošināta, jo tie tiek pārraidīti skaidrā tekstā.

    Ja, uzstādot ziņojumu ģeneratoru, norādīsiet nepareizu savācēja vai releja adresi, tad kļūdu ziņojumu nebūs - ziņojumi tiks dzēsti (vai ierakstīti kāda cita žurnālā;).

    Nepareizi konfigurētu releju dēļ nav nekādu līdzekļu, lai novērstu ziņojumu pārraides cilpu.

    RFC 3195 piedāvā jaunu TCP protokolu (syslog-conn, 601), kas nodrošina garantētu piegādi pareizajā secībā. Īstenošana man nav zināma. Briesmīgs XML, SMTP stila komandu un atgriešanas kodu un MIME (BEEP) galveņu maisījums, kas iesaiņo standarta syslog formāta ziņojumus. Tiek izmantoti divi režīmi - RAW (analogs pašreizējam UDP protokolam) un COOKED (ziņojumi tiek strukturēti pēc laukiem). BEEP ļauj nodrošināt autentifikāciju, integritāti un konfidencialitāti (SASL, TLS).

    Syslog-sign RFC projekts piedāvā nodrošināt autentifikāciju, ziņojumu secību, ziņojumu integritāti un trūkstošo ziņojumu noteikšanu, ģenerējot īpašus ziņojumus, kas satur iepriekšējo ziņojumu bloka ciparparakstu, saglabājot standarta syslog protokolu un formātu un izmantojot UDP. Izmanto SHA1, OpenPGP DSA.

    Ports 514/UDP tiek izmantots ziņojumu saņemšanai. Ziņojumu pārsūtīšanai ieteicams izmantot arī avota portu 514. Ziņojums ir teksta virkne, un tas nedrīkst būt garāks par 1024 baitiem, pretējā gadījumā to var saīsināt vai pat izmest. Pat nepareizi veidots ziņojums, kas nosūtīts uz 514. portu, jāuzskata par sistēmas žurnāla ziņojumu. Tomēr, ja relejs sūta ziņojumu tālāk, tam ir jāpievieno standarta galvenes (iespējams, saīsinot to līdz 1024 baitiem) - LIETOTĀJS, PAZIŅOJUMS, tā vietējais laiks un ziņojuma avota vienkāršais nosaukums.

    Ziņojums sākas ar PRI lauku, kurā ir kodēta informācija par ziņojuma avotu (iekārtu) un ziņojuma smaguma pakāpi (nopietnības līmeni). Tam seko laiks (TIMESTAMP), atstarpe, resursdatora nosaukums vai IP adrese decimāldaļās (HOSTNAME), atstarpe, pielāgots ziņojuma teksts (MSG) US-ASCII formātā (0x20 - 0x7e).

    Resursdatora nosaukums (vienkāršs, nevis FQDN!) ir rakstīts tā, kā tas ir zināms ziņojumu ģeneratoram. Ja ierīcei ir vairākas saskarnes ar dažādām IP adresēm, jebkuru no tām var izmantot kā resursdatora nosaukumu vai adresi.

    Ziņojuma tekstā (MSG) parasti ir etiķete (TAG), kas norāda programmu vai procesu, kas izdevusi ziņojumu, un ziņojuma pamattekstu (SATURS). Uz etiķetes var būt latīņu burti un cipari. Ziņojuma pamatteksta sākumu nosaka pirmā īpašā rakstzīme, parasti kols vai atvērta kvadrātiekava. Piemēram, Cisco IOS kā etiķeti izmanto ziņojuma kārtas numuru un kolu, savukārt Unix izmanto vienkāršu programmas nosaukumu (ziņojuma pamatteksts sākas ar procesa numuru kvadrātiekavās un kolu).

    syslogd saņem ziņojumus no porta 514/UDP un no vietējiem avotiem (ligzda /dev/log), maršrutē tos atkarībā no ziņojuma avota un smaguma pakāpes. Ļauj izvadīt ziņojumus uz žurnālu, izvadīt uz konsoli, uz termināli, nosūtīt uz citu serveri. Tiek ieviests papildu avota MARK veids (parastās atzīmes, informācija)

    Katrā žurnāla rindā ir viens ziņojuma ieraksts, kas sastāv no laukiem, kas atdalīti ar atstarpēm:

    • datums standarta teksta formātā (lauks TIMESTAMP no sistēmas žurnāla ziņojuma)
    • resursdatora nosaukums (fqdn vai saīsinājums, HOSTNAME lauks no sistēmas žurnāla ziņojuma)
    • ziņojuma teksts (lauki TAG un SATURS no sistēmas žurnāla ziņojuma)

    Palaišanas parametri:

    • -a papildu klausīšanās ligzda (noderīgs dēmonu chrootēšanai; var būt vairāk nekā viens)
    • -d(atkļūdošanas režīms)
    • -f konfigurācijas faila nosaukums (noklusējums, /etc/syslog.conf)
    • -h(mainīt parasto darbību, ka ziņojumi, kas saņemti no attāliem saimniekdatoriem, netiek nosūtīti, lai tie tiktu rakstīti attālajam saimniekdatoram, lai izvairītos no cilpas)
    • -l saimniekdatoru saraksts (to saimniekdatoru saraksts, kuru nosaukumus nevajadzētu rakstīt kā FQDN; atdalīti ar kolu)
    • -m minūtes (intervāls parastajiem pagaidu ierakstiem; noklusējuma vērtība ir 20; ja 0, tad nedariet to vispār)
    • -n
    • -lpp klausīšanās ligzda (noklusējums: /dev/log)
    • -r(ļaut saņemt ziņojumus no attāliem resursdatoriem; ugunsmūrim jābūt atvērtam; syslog 514/udp ir jādefinē mapē /etc/services)
    • -s domēnu saraksts (izgrieziet saimniekdatoru nosaukumus no norādītajiem domēnu nosaukumiem; atdalot ar kolu; pēc noklusējuma domēns, kas atbilst syslog servera domēnam, tiek saīsināts)
    • -v
    • -x(aizliegt resursdatora nosaukuma noteikšanu no tā adreses, novērš strupceļu, ja darbojas tajā pašā resursdatorā kā DNS serveris)

    Izmantotie faili:

    • /etc/syslog.conf- konfigurācijas fails (mainīts startēšanas laikā pēc parametra -f)
    • /dev/log- ligzda, no kuras tiek lasīti vietējie ziņojumi (mainīta startēšanas laikā pēc parametra -lpp)
    • /var/run/syslogd.pid- procesa ID

    Reakcija uz signāliem:

    • SIGHUP — atkārtoti inicializēt (aizver visus failus, atkārtoti nolasa konfigurācijas failu)
    • SIGTERM - izslēgšana
    • SIGINT, SIGQUIT — iziet, ja atkļūdošana ir atspējota
    • SIGUSR1 — iespējot/atspējot atkļūdošanu (tikai izmantojot slēdzi -d)

    Darbojas kā root. Nemaina failu atļaujas. Ja ir spiests izveidot failu, tad tas veido to ar atļaujām 644. Ja nepieciešams ierobežot piekļuvi žurnālam, attiecīgais fails ir jāizveido manuāli (vai jāmaina piekļuves tiesības). Rada īpašas problēmas logrotēt.

    Apzīmē ziņojumu maršrutēšanas noteikumu kopu. Katrs noteikums sastāv no atlasītāja un darbības, kas atdalītas ar cilnēm (vecākās sistēmās, Solaris 5) vai atstarpēm (Linux). Saņemot ziņojumu žurnālam (no klogd, no lokālas vai attālas programmas), syslogd pārbauda katru kārtulu, lai noskaidrotu, vai ziņojums atbilst atlasītāja norādītajam modelim. Ja sakrīt, tiek veikta noteikumā norādītā darbība. Vienai ziņai m. ir veikts patvaļīgs skaits darbību (t.i., ziņojumu apstrāde neapstājas pie pirmās veiksmes).

    Atlasītājs sastāv no divām daļām, kas atdalītas ar punktu: ziņojuma avota un smaguma pakāpes. Lielie un mazie burti netiek atšķirti. Varat arī izmantot skaitļus (skatiet /usr/include/syslog.h). Papildus syslog.3 definētajiem avotiem varat norādīt atzīme(parasti laikspiedoli), drošību(novecojis sinonīms vārdam aut). Papildus syslog.h definētajiem smaguma līmeņiem varat izmantot brīdināt(sinonīms vārdam brīdinājums), kļūda(sinonīms vārdam kļūda), panika(sinonīms vārdam parādīties). Ziņojumi, kuru līmenis ir vienāds vai lielāks par atlasītājā norādīto, un avots, kas vienāds ar atlasītājā norādīto, tiek uzskatīti par piemērotiem. Zvaigznīte pirms punkta atbilst jebkuram avotam, pēc punkta - jebkuram līmenim. Vārds neviens aiz punkta - šim avotam nav līmeņa. Vienā atlasītājā varat norādīt vairākus avotus (atdalot tos ar komatiem). Vienā rindā var norādīt vairākus atlasītājus. Semantika nav skaidra: ja izmanto pozitīvus selektorus, tad loģisko VAI, ja negatīvs ( neviens un izsaukuma zīme), tad loģiskā UN.

    Jaunajā syslogd (linux) pirms līmeņa var ievadīt vienādības zīmi - atlasītājam atbilst tikai ziņojumi ar norādīto līmeni (bet ne ar augstāko); izsaukuma zīme — neatbilst ziņojumiem, kuru līmenis ir vienāds vai lielāks; izsaukuma zīme un vienāds - neatbilst ziņojumiem, kuru līmenis ir vienāds ar norādīto.

    Kā darbību varat norādīt:

    • parastais faila nosaukums (pilns ceļš no saknes), mīnus nosaukuma priekšā atspējo rakstīšanas sinhronizāciju
    • nosauktie kanāli - fifo (pirms nosaukuma ir novietota vertikāla josla), pašam kanālam jābūt izveidots pirms syslogd palaišanas ar komandu mkfifo
    • terminālis vai konsole
    • @hostname (nodod ziņojumus attālai reģistrēšanai)
    • lietotāju saraksts (atdalot ar komatiem), uz kuru termināļiem tiks nosūtīts ziņojums
    • zvaigznīte, lai nosūtītu ziņojumu uz visiem termināļiem (siena)

    Parsējot konfigurācijas failu syslogd salīdzina adresi loghost(definēts failā /etc/hosts, nevis caur DNS) ar jūsu datora adresi un, ja tā sakrīt, definē mainīgo LOGS. Pēc tam syslog.conf tiek nodots caur m4(1) makro procesoru. Būtībā tas tiek izmantots, lai vienu un to pašu konfigurācijas failu varētu izmantot klienta un servera (no syslog viedokļa) resursdatoros.

    Sākt un pārtraukt procedūru: /etc/init.d/syslog(saites uz to no /etc/rc?.d direktorijiem). Procesa numurs tiek saglabāts /etc/syslog.pid.

    klogd nolasa kodola ziņojumus (izmantojot /proc/kmsg vai sistēmas izsaukumus), nosaka līmeni, pārvērš komandu adreses programmu nosaukumos un nodod ziņojumu syslogd.

    Palaišanas parametri:

    • -c līmenis(šāda līmeņa un mazāk nopietni ziņojumi tiks nosūtīti uz syslog, un nopietnāki tiks izvadīti uz konsoli; noklusējuma vērtība ir 7; 0 nevar norādīt)
    • -d(atkļūdošanas režīms)
    • -f Faila nosaukums (reģistrējieties norādītajā failā, nevis syslog)
    • -i(pārlādēt moduļa simbolus jau palaistā klogd, ir jāizmanto katru reizi, kad modulis tiek ielādēts vai izlādēts; cerams, ka pašreizējās insmod, rmmod un modprobe versijas to darīs pašas)
    • -Es(pārlādēt kodola un moduļa simbolus jau palaistajā klogd)
    • -k Faila nosaukums (izmantojiet norādīto failu kā kodola simbolu tabulu, nevis /boot/System.map)
    • -n(nepāriet fonā; nepieciešams palaist no sākuma)
    • -o(vienreizējs režīms — reģistrējiet visus kodola buferī uzkrātos ziņojumus un izejiet)
    • -lpp(katram gadījumam adreses tulkošanas laikā atkārtoti ielādējiet moduļa simbolu tabulu — kodols, iespējams, nevarēs to izdarīt)
    • -s(izmantojiet tikai syscalls un nepiekļūstiet /proc/kmsg, lai iegūtu sākotnējos ziņojumus)
    • -v(rādīt versiju un iziet)
    • -x(nepārveidojiet adreses vārdos)
    • -2 (kodola avārijas ziņojumi — hmm! — tiek izvadīti divreiz: pirms adreses konvertēšanas uz nosaukumu — ksymoops — un pēc tam)

    Kodola ziņojumu līmeņi (noteikti pēc skaitļa leņķiekavās un pārveidoti par syslog smaguma līmeni, nemainās, izvadot failā):

    • KERN_EMERG — 0 (sistēma nav lietojama)
    • KERN_ALERT — 1 (darbība ir jāveic nekavējoties)
    • KERN_CRIT — 2 (kritiski apstākļi)
    • KERN_ERR — 3 (kļūdas apstākļi)
    • KERN_WARNING — 4 (brīdinājuma nosacījumi)
    • KERN_NOTICE — 5 (parasts, bet nozīmīgs stāvoklis)
    • KERN_INFO — 6 (informatīvs)
    • KERN_DEBUG — 7 (atkļūdošanas līmeņa ziņojumi)

    Reakcija uz signāliem:

    • SIGINT, SIGKILL, SIGTERM un SIGHUP - izslēgšana
    • SIGTSTP — pārtrauciet reģistrēšanu
    • SIGCONT - atsākt, iespējams, izvēloties citu
    • ziņojuma avots (/proc/kmsg vai sistēmas izsaukumi)
    • SIGUSR1 - pārlādēt moduļa simbolus
    • SIGUSR2 - pārlādējiet kodola un moduļa simbolus

    Procesa numurs tiek saglabāts /var/run/klogd.pid.

    Reģistrācijas inicializācija: atvērt žurnālu- norāda standarta prefiksu, kas pievienots visiem nākamajiem ziņojumiem (parasti programmas nosaukums, procesa numurs kvadrātiekavās un kols); avots un opcijas. closelog- beigt mežizstrādi. syslog- reģistrēšana (norāda avotu, smaguma pakāpi un līnijas formātu kā printf).

    logrotēt(versija 3.2-1/3.3.2-1/3.5.9) - cīņa pret augošiem žurnāliem: rotācija (versiju veidošana), saspiešana, dzēšana un nosūtīšana pa pastu. Skrien katru dienu ar cron /etc/cron.daily/logrotate) un ļauj apstrādāt žurnālus, ja tie ir pārsnieguši norādīto izmēru vai noteiktajā laika intervālā. Ļauj apstrādāt ne tikai syslog žurnālus, bet arī visas citas programmas. Parametri:

    • [-d](atkļūdošanas režīms, nav reālu izmaiņu)
    • [-f](veikt izmaiņas pat tad, ja logrotate neredz vajadzību — izmanto, mainot apstrādāto žurnālu sarakstu)
    • [-s statuss-faila nosaukums ] (pašreizējais žurnālu stāvoklis tiek saglabāts šajā failā starp palaišanas reizēm, noklusējuma vērtība ir /var/lib/logrotate.status)
    • konfigurācijas failu nosaukumi (ar atstarpi atdalīti nosaukumi; kārtība ir svarīga; ja ir norādīts direktorija nosaukums, katrs tajā esošais fails tiek uzskatīts par konfigurācijas failu; RH izmanto failu /etc/logrotate.conf un direktoriju /etc/logrotate.d)

    Konfigurācijas failā ir definētas globālās opcijas (viena katrā rindā), kas nosaka noklusējuma opcijas visiem žurnāliem. Katrai apstrādājamo žurnālu sērijai tiek norādītas vietējās opcijas, norādot pamata faila nosaukumu, kam seko lokālās opcijas cirtainos iekavās, pa vienai katrā rindā. Faila nosaukumu var citēt saskaņā ar čaulas noteikumiem, ja tajā ir atstarpes un citas īpašās rakstzīmes. Varat norādīt vairākus failu nosaukumus vai failu nosaukumu modeļus, atdalot tos ar atstarpi (veidnes arī atbilst čaulas noteikumiem). Katras sadaļas apstrāde tiek uzskatīta par vienu darbību. Rindas, kas sākas ar "#", ir komentāri. Nākamajā konfigurācijas failā norādītās opcijas ignorē iepriekšējā failā norādīto opciju nozīmi. Vietējie iestatījumi ir svarīgāki par globālajiem iestatījumiem. Failu secība konfigurācijas direktorijā nav noteikta.

    Parametri:

    • saspiest | nav kompresijas(vecākās versijas saspiež vai nesaspiež, izmantojot gzip)
    • saspiest cmd(norāda saspiešanas programmu, pēc noklusējuma ir gzip)
    • atspiest cmd(iestata dekompresoru, pēc noklusējuma ir ungzip)
    • saspiestteksts(iestata saspiesto failu sufiksu)
    • kompresijas iespējas(iestata saspiešanas programmas parametrus; noklusējuma vērtība ir "-9", t.i., gzip maksimālā saspiešana)
    • kopēt saīsināt | nokopijas saīsināt(parasti vecā versija tiek pārdēvēta un tiek izveidota jauna žurnāla versija; ar šo opciju logrotate kopē žurnālu jaunā failā un pēc tam saīsina veco; izmanto, ja programma, kas veido žurnālu, nezina, kā aizvērt tiek zaudēti ieraksti, kas veikti intervālā starp kopēšanu un saīsināšanu; vai tas palīdzētu, ja reģistrēšanas programma tā vietā, lai izmantotu pievienošanas režīmu, tikai raksta failā, izmantojot iekšējo rādītāju?)
    • izveidot[ atļaujas īpašnieks Grupa] | neradīt(tūlīt pēc žurnāla vecās versijas pārdēvēšanas un pirms zvanīšanas pēc rotācijas tiek izveidots jauns žurnāls ar norādītajiem atribūtiem - atļaujas tiek norādītas oktālā, kā chmod.2; ja atribūti nav norādīti, tad tie tiek ņemti no vecā žurnāla)
    • katru dienu(versiju maiņa sērijā notiek katru dienu)
    • kavēšanās komprese | nodelaycompress(dažas programmas uzreiz neaizver žurnālu, tādā gadījumā saspiešana jāatliek uz nākamo ciklu)
    • kļūdas e-pasts (kam ziņot par kļūdām)
    • pagarinājumu piedēklis (norāda sufiksu, kas pievienots failu nosaukumiem rotācijas laikā pirms saspiešanas sufiksa)
    • ja tukšs | paziņojums tukšs(mainiet versijas pat tad, ja fails ir tukšs; noklusējuma)
    • ietver Faila nosaukums | direktorija nosaukums (tekstuāli aizstāt failu vai visus failus no norādītā direktorija; apakšdirektorijas, īpašie faili un faili ar sufiksiem no izslēgšanas saraksta netiek iekļauti; nevar izmantot sadaļā)
    • pastu adrese | nomail(ja versijas maiņai ir nepieciešams dzēst veco žurnālu, tad nosūtiet to uz norādīto adresi)
    • pastu vispirms(sūtiet nevis dzēsto žurnāla versiju, bet pirmo)
    • Maillast(nosūtīt žurnāla versiju, kas tiks dzēsta; noklusējuma)
    • trūkstok | nomissingok(nesūtiet kļūdu ziņojumus, ja trūkst žurnāla)
    • katru mēnesi(versija mainās katru mēnesi)
    • olddir direktoriju | noolddir(versijas maiņas laikā žurnāls tiek pārvietots uz norādīto direktoriju; jāatrodas tajā pašā fiziskajā ierīcē)
    • pēc rotācijas beigu raksts tiek izpildītas kā čaulas komandas pēc versijas maiņas procesa)
    • iepriekš pagriezt(visas turpmākās rindas līdz līnijai beigu raksts tiek izpildīti pirms versijas maiņas procesa)
    • pagriezt numuru (cik veco versiju saglabāt; ja 0, tad nevienas)
    • Izmērs baits (versijas maiņa notiek, ja žurnāla izmērs pārsniedz norādīto skaitu; varat izmantot sufiksus "k" - kilobaits - un "M" - megabaits)
    • koplietotie skripti | nosharedscripts(izpildiet komandas iepriekš pagriezt Un pēc rotācijas tikai vienu reizi visiem failiem, kas aprakstīti sadaļā)
    • tabu ekst [+ ] sufiksu saraksts (iestatot izslēgšanas sufiksu sarakstu priekš ietver; ja norādīta pluszīme, tad pievienošana, pretējā gadījumā aizstāšana; noklusējuma: .rpmorig, .rpmsave, .rpmnew, ",v", .swp un "~")
    • iknedēļas(versija mainās katru nedēļu)

    Piegādā RH /etc/logrotate.conf apraksta globālās opcijas un opcijas /var/log/wtmp un /var/log/lastlog un atsaucas uz direktoriju /etc/logrotate.d, kurā katra pakotne ieraksta vietējos iestatījumus saviem žurnāliem.

    logwatch ir ietvars programmu (sauktu par filtriem) rakstīšanai, lai iegūtu noderīgu informāciju no daudziem, lieliem un dažādiem žurnāliem (ne tikai syslog). "Paketei" nāk vairāki filtri, kas paredzēti Red Hat Linux (kaut kāda sena versija, jo xinetd vietā minēts inetd), taču tie būs jāpielāgo konkrētai situācijai pašiem. Pēdējās izmaiņas autors veica 2000. gada septembrī, tāpēc tālāka attīstība vairs nav gaidāma.

    Filtrus var rakstīt jebkurā programmēšanas valodā, bet pakotnes autors dod priekšroku perl. Filtri jāraksta tā, lai tie nolasītu datus no stdin un izvadītu rezultātu uz stdout. Pirms filtra izsaukšanas tiek iestatīti šādi vides mainīgie: LOGWATCH_DATE_RANGE, LOGWATCH_DETAIL_LEVEL, LOGWATCH_TEMP_DIR, LOGWATCH_DEBUG. Galvenā programma ir uzrakstīta arī perl valodā: /etc/log.d/scripts/logwatch.pl(/etc/log.d/logwatch, /usr/sbin/logwatch un /etc/cron.daily/00-logwatch ir simboliskas saites uz to).

    Direktorija /etc/log.d/conf/logfiles/ satur žurnālu grupas konfigurācijas failus, kuros tiek glabāti uzturēto pakalpojumu ieraksti. Katra grupa ir aprakstīta atsevišķā failā grupas nosaukums.conf, kurā norādīts:

    • LogFile = faila nosaukums, kurā ir žurnāls, vai nosaukuma raksts; var norādīt vairākus nosaukumus vai modeļus; vārdi var būt attiecībā pret LogDir
    • Arhīvs = faila nosaukums, kas izveidots ar žurnāla arhivētās versijas logrotate vai nosaukšanas modelis; var norādīt vairākus nosaukumus vai modeļus; vārdi var būt attiecībā pret LogDir
    • filtru nosaukumi ( tikai vienu reizi, lai gan rāda savādāk!) no /etc/log.d/scripts/shared/
      *filtra nosaukums = parametrus , piemēram, lai filtrētu žurnālu pēc datuma, ja tas ir standarta syslog formātā, izmantojiet rindu:
      *ApplyStdDate=

    Direktorija /etc/log.d/conf/services/ satur konfigurācijas failus pakalpojumiem, kuru žurnāla ierakstus apstrādās logwatch. Katrs pakalpojums ir aprakstīts atsevišķā failā pakalpojuma nosaukums.conf, kurā norādīts:

    • LogFile = žurnālu grupas nosaukums
    • filtru nosaukumi no /etc/log.d/scripts/shared/
      *filtra nosaukums = parametrus , palaists pirms servisa filtra
    • $vides mainīgā nosaukums = nozīmē

    Direktorija /etc/log.d/scripts/logfiles/ satur filtrus žurnālu grupu apstrādei: apstrādājot žurnālu grupu, visi direktorijā esošie faili /etc/log.d/scripts/logfiles/ grupas nosaukums izmanto kā filtrus.

    Direktorija /etc/log.d/scripts/services/ satur filtrus konkrētu pakalpojumu ierakstu apstrādei.

    Direktorija /etc/log.d/scripts/shared/ satur vispārīgus filtrus, ko izmanto žurnālu grupu konfigurācijas failos:

    • applystddate - filtrē žurnālu pēc nepieciešamā datuma, ja tas ir rakstīts syslog formātā (šeit un privātajos filtros pēc datuma, pirms izsaukšanas datuma ievietojiet LANG=, pretējā gadījumā Mar nekādā veidā nesakrīt ar Mar;)
    • expandrepeat - pārvērš rindas "pēdējais ziņojums atkārtots" atbilstošā rindiņu skaitā ar ziņojuma tekstu no iepriekšējās rindas
    • onlycontains - atstāj tikai tās žurnāla rindas, kurās ir norādītā virkne (es lieku pēdiņas ap "$*")
    • onlyservice - atlasa no žurnāla syslog formātā rindas, kas saistītas ar norādīto pakalpojumu (pakalpojuma nosaukums tiek nodots kā parametrs)
    • noņemt - atstāj tikai tās syslog žurnāla rindas, kurās nav norādītās rindas ( Es ievietoju pēdiņas ap "$*" un veicu remove1, remove2 utt. jo nesapratu kā vienā rindā norādīt vairākus egrep apakšrakstus; starp citu, parametri ir aizvietoti čaulā, tāpēc nevar izmantot arī speciālās rakstzīmes)
    • noņemt galvenes — noņemiet standarta laukus (datums, laiks, resursdatora nosaukums, pakalpojuma etiķete un procesa numurs)
    • Removeservice - no syslog žurnāla noņem rindas, kas nav saistītas ar norādīto pakalpojumu (pakalpojuma nosaukums tiek nodots kā parametrs)

    Noklusētie parametri tiek glabāti failā /etc/log.d/conf/logwatch.conf (/etc/log.d/logwatch.conf ir simboliska saite uz to), komentāri, kuros ir iespējams saprast nozīmi no parametriem:

    • LogDir - direktorijs, attiecībā pret kuru tiek ņemti vērā failu nosaukumi
    • MailTo — kam nosūtīt ziņojumu
    • Drukāt - tā vietā, lai nosūtītu atskaiti pa pastu, izdrukājiet to uz stdout
    • Saglabāt - tā vietā, lai ziņojumu nosūtītu pa pastu, tas saglabās to norādītajā failā
    • Arhīvi — izmantojiet logrotate ģenerēto žurnālu versijas
    • Diapazons — aplūkotais laika intervāls: visi, šodien, vakar (vakardienas kalendārā diena)
    • Detaļas — ziņojuma detalizācijas līmenis: no 0 līdz 10 vai zems, vidējs, augsts
    • Pakalpojums — viss vai filtra nosaukums no /etc/log.d/scripts/services/ (var norādīt vairākus filtrus)
    • LogFile — visu vai žurnālu grupas nosaukums (var norādīt vairākas grupas)

    Palaišanas parametri:

    • --detaļas līmenī (ziņojuma detalizētības līmenis: augsts, vidējs vai zems)
    • -- žurnālfails žurnālu grupa (apstrādāt tikai šīs grupas žurnālus; grupa ir norādīta ar simbolisku nosaukumu konfigurācijas failā; var norādīt vairākas grupas)
    • --apkalpošana pakalpojuma nosaukums (apstrādāt tikai tos žurnāla ierakstus, kas saistīti ar šo pakalpojumu; pakalpojums ir norādīts ar simbolisku nosaukumu konfigurācijas failā; var norādīt vairākus pakalpojumus; nosaukums Visi izraisa ierakstu apstrādi visiem pakalpojumiem)
    • -- drukāt(ziņot stdout)
    • --mailto adrese (nosūtīt atskaiti uz norādīto adresi)
    • -- saglabāt Faila nosaukums (rakstīt atskaiti norādītajā failā)
    • -- arhīvi(apstrādāt ne tikai pašreizējās žurnālu versijas, bet arī vecās kopijas, kas izveidotas, izmantojot logrotate)
    • -- diapazons datums-intervāls (apstrādāt tikai tos ierakstus žurnālos, kas pieder norādītajam laika intervālam: vakar, Šodien, Visi)

    Galvenais lietojums ir iekļaut failu 00-logwatch (sākas ar "00", lai palaistu pirms logrotate) direktorijā /etc/cron.daily, kas liek logwatch darboties katru dienu ar noklusējuma opcijām.

    Diemžēl visi filtri ir paredzēti, lai nodrošinātu, ka žurnāli tiek rakstīti tajā pašā resursdatorā, kurā darbojas pakalpojums.

    Visi žurnāli tiek glabāti vienā datorā (ja esat paranoisks, varat rakstīt žurnālus uzreiz divos serveros).

    Atbilstība starp formālu avota nosaukumu un reālu ierīci vai programmu:

    • vietējais0 — Cisco
    • local3 - ftp (ir īpašs avota nosaukums, bet Solaris 2.5 to nezina)
    • local4 - rezervēts uzskaitei
    • local5 — POP3/IMAP
    • local6-tac_plus>

    Serverim ir jābūt atvērtam ekrānam portam 514/udp (varat ierobežot pakešu avota adreses, bet tas tikai palīdzēs pret negadījumiem). Startējot syslogd (opcijas mapē /etc/rc.d/init.d/syslog vai /etc/sysconfig/syslog) ir jābūt ar slēdžiem "-r -m 0" (un arī "-x", ja darbojas tajā pašā datorā DNS serveris). Klogd palaišana ar "-2 -c 1" slēdžiem. Syslog.conf iestatīšana:

    • *.crit - izvada ziņojumus ar CRIT smaguma pakāpi un augstāku uz termināļiem un ieraksta tos atsevišķā failā (chmod 600), nosūtiet savus ziņojumus uz rezerves serveri; Sendmail ziņojumu saņemšanu uzskata par kritisku
    • kern - izveidojiet kern failu visu līmeņu ziņojumiem (chmod 600)
    • pasts - izveidojiet pasta failu visu līmeņu ziņojumiem (bez sinhronizācijas)
    • auth, authpriv - izveidojiet drošu failu visu līmeņu ziņojumiem (chmod 600)
    • ziņas - izveidojiet atsevišķu failu katram smaguma līmenim ziņu direktorijā (atkļūdošana bez sinhronizācijas)
    • cron - izveidojiet cron failu visu līmeņu ziņojumiem (cron RH 6.2 un Solaris 2.5 nezina, kā izmantot syslog)
    • local0 — izveidojiet atsevišķu failu katram smaguma līmenim cisco direktorijā (err un zemāk bez sinhronizācijas)
    • local3 - izveidojiet atsevišķu failu katram smaguma līmenim ftp direktorijā (informācija un atkļūdošana bez sinhronizācijas)
    • local5 - izveidojiet imap.log failu visu līmeņu ziņojumiem
    • local6 — izveidojiet failu tac_plus.log visu līmeņu ziņojumiem
    • local7 — boot.log fails (ziņojumi, palaižot sistēmu un startējot vai apturot syslogd un klogd)
    • visus INFO un augstāka līmeņa ziņojumus, kas nav iekļauti nevienā no iepriekš definētajiem failiem, ierakstiet ziņojumu failā (chmod 600)

    Klientu datoros mēs konfigurējam syslog tā, lai visi ziņojumi tiktu pārsūtīti uz syslog serveri, kļūdu ziņojumi tiek dublēti mapē /var/log/syslog, kritiskā statusa ziņojumi tiek dublēti konsolē, lietotāja termināļos. Linux datoros arī izmest sāknēšanas ziņojumus vietējā failā (local7, boot.log). Atkāpšanās syslog serverim jāsaņem kritiskā līmeņa ziņojumi no tīkla un jāieraksta tie failā (ekrāna caurums, "-r" palaišanas slēdzis).

    logrotate: uzglabāt uz visiem laikiem, mainīt versijas pēc iespējas retāk (ik mēnesi, izņemot kalmārus), izmest atsevišķos direktorijos (izņemot squid) un saspiest (aizkavētā režīmā, izņemot ftpd, linuxconf, sendfax), nosūtīt kļūdas un izdzēstos failus uz es. Saskaņojiet syslog parametrus.

    Lietojot pirms faila nosaukuma ar caurulītes rakstzīmi (|), varēsit izmantot fifo (pirmais iekšā - pirmais ārā, pirmais iekšā, pirmais ārā) vai nosaukta caurule kā ziņojumu saņēmējs. Pirms syslogd palaišanas (vai restartēšanas) ir jāizveido fifo, izmantojot komandu mkfifo. Dažreiz fifo tiek izmantots atkļūdošanai.

    Terminālis un konsole

    Terminālis, piemēram, /dev/console.

    attālā mašīna

    Lai pārsūtītu ziņojumus citam saimniekdatoram, pirms resursdatora nosaukuma ievadiet zīmi at (@). Ņemiet vērā, ka ziņojumi netiek pārsūtīti no saņēmēja saimniekdatora. (lai šis uzdevums darbotos failā esošajā klientā un serverī /etc/services rinda jāraksta syslog 514/udp un atveriet UTP portu 514)

    lietotāju saraksts

    Komatatdalīts to lietotāju saraksts, kuri saņem ziņojumus (ja lietotājs ir pieteicies). Tas bieži ietver root lietotāju.

    Visi reģistrētie lietotāji

    Lai informētu visus reģistrētos lietotājus, izmantojot sienas komandu, izmantojiet zvaigznītes rakstzīmi (*).

    Piemērs vienkāršam syslog.conf:

    # Izdrukājiet visus kodola ziņojumus konsolē. #kern.* /dev/console # Visi informācijas līmeņa vai augstāka līmeņa žurnāli, izņemot e-pastus, un # nereģistrējiet autentifikācijas ziņojumus un cron dēmonu ziņojumus! *.info;mail.none;authpriv.none;cron.none /var/log/messages # Reģistrējiet ziņojumus, kas satur konfidenciālu # autentifikācijas informāciju, atsevišķā failā neatkarīgi no to līmeņa. authpriv.* /var/log/secure # Visi ziņojumi no pasta sistēmas arī tiek ierakstīti atsevišķā failā. mail.* -/var/log/maillog # Reģistrējiet plānotāja ziņojumus failā /var/log/cron cron.* /var/log/cron # Ārkārtas ziņojumi nekavējoties jāsaņem # visiem sistēmas lietotājiem *.emerg * # Saglabāt ziņojumus Kritiskā un augstāka līmeņa ziņas atsevišķā failā. uucp,news.crit /var/log/spooler # Saglabāt sāknēšanas ziņojumus boot.log local7.* /var/log/boot.log

    Tāpat kā daudziem konfigurācijas failiem, sintakse ir šāda:

    • rindas, kas sākas ar #, un tukšas rindas tiek ignorētas.
    • Simbolu * var izmantot, lai norādītu visas kategorijas vai visas prioritātes.
    • Īpašais atslēgvārds neviens norāda, ka šai darbībai nevajadzētu veikt reģistrēšanu šai kategorijai.
    • Defise pirms faila nosaukuma (piemēram, šajā piemērā -/var/log/maillog) norāda, ka žurnālu nevajadzētu sinhronizēt pēc katras rakstīšanas. Sistēmas avārijas gadījumā jūs varat zaudēt informāciju, bet sinhronizācijas atspējošana uzlabos veiktspēju.

    Konfigurācijas faila sintaksē varat likt pirms prioritātes paraksties! lai parādītu, ka darbība nav jāpiemēro, no šī līmeņa un uz augšu. Līdzīgi prioritātei var pievienot prefiksu zīme = lai norādītu, ka noteikums attiecas tikai uz šo līmeni, vai != lai parādītu, ka noteikums attiecas uz visiem līmeņiem, izņemot šo. Tālāk ir sniegti daži piemēri (man syslog.conf jūs varat atrast daudz vairāk piemēru):

    # Nosūtiet visus kodola ziņojumus uz /var/log/kernel. # Nosūtiet visus kritiskos un augstākos ziņojumus uz attālo sysloger mašīnu un konsoli # Sūtiet visu informāciju, paziņojumu un brīdinājuma ziņojumus uz /var/log/kernel-info # kern.* /var/log/kernel kern.crit @sysloger kern .crit /dev/console kern.info;kern.!err /var/log/kernel-info # Nosūtīt visus pasta sistēmas ziņojumus, izņemot informācijas līmeni, uz /var/log/mail. mail.*;mail.!=info /var/log/mail

    Es mēģināju diagrammā pēc iespējas skaidrāk parādīt syslogd darbu:

    Syslogd dēmona palaišana

    Reģistrācijas dēmona palaišana tiek uzsākta sistēmas inicializācijas stadijā, izmantojot skriptu /etc/rc.d/init.d/syslog, taču, lai iestatītu palaišanas opcijas, nav nepieciešams modificēt šo skriptu - sākot ar versiju 7.2, palaišanas opcijas tiek nolasītas no atsevišķa konfigurācijas faila /etc/sysconfig/syslog (/etc/default/syslogprogrammā debian).

    Šeit ir daži iespējamie syslogd dēmona startēšanas parametri:

    • - /mape/ligzda- papildu klausīšanās ligzdas norādīšana (neaizmirstiet izveidot ligzdu iepriekš)
    • -d- atkļūdošanas režīms. Šajā gadījumā dēmons neiet uz fonu un izdod visus ziņojumus uz pašreizējo termināli;
    • -f konfigurācijas faila nosaukums. Norāda alternatīvā konfigurācijas faila nosaukumu, kas jāizmanto noklusējuma /etc/syslog.conf vietā;
    • -l saimnieku saraksts- to resursdatoru saraksta iestatīšana, kuru nosaukumi nav jāraksta ar pilnu domēna nosaukumu (FQDN - Full Qwalified Domain Name);
    • -m minūtes- darbojas bez šīs opcijas, sysklogd ik pēc 20 minūtēm reģistrē kategorijas atzīmes (laika zīmogus) ziņojumus. Izmantojot opciju -m, varat mainīt intervālu starp atzīmēm vai pilnībā pārtraukt šādu ziņojumu izdošanu;
    • -p ligzda- alternatīvas UNIX ligzdas iestatīšana (noklusētā klausīšanās /dev/log vietā);
    • -r- atļauja saņemt ziņojumus no attāliem saimniekiem;
    • -x- aizliegums noteikt resursdatora nosaukumu pēc tā adreses, lai novērstu iesaldēšanu, strādājot tajā pašā resursdatorā ar DNS serveri.
    • -v- parādīt versiju un pabeigt darbu

    Pēc syslogd dēmona palaišanas tiek izveidots statusa fails /var/lock/subsys/syslog nulles garums un fails ar procesa ID /var/run/syslogd.pid.

    Ar komandu
    kill -SIGNAL `cat /var/run/syslogd.pid`

    var nosūtīt syslogd dēmons viens no šiem signāliem: NOGŪP- dēmona restartēšana; SIGTERM- darbu pabeigšana; SIGUSR1- iespējot/atspējot atkļūdošanas režīmu.

    Faktiski sistēmā tiek palaisti divi reģistrēšanas dēmoni - syslogd Un klogd. Abi dēmoni ir iekļauti komplektā syslogd.

    klogd dēmons atbildīgs par notikušo notikumu reģistrēšanu sistēmas kodols. Nepieciešams atsevišķs klogd dēmons, jo kodols nevar izmantot standarta syslog funkciju. Tas ir tāpēc, ka standarta C bibliotēkas (ieskaitot bibliotēku, kas satur syslog funkciju) ir paredzētas lietošanai tikai izplatītas lietojumprogrammas. Tā kā kodolam ir nepieciešamas arī reģistrēšanas funkcijas, tas ietver savas bibliotēkas, kas lietojumprogrammām nav pieejamas. Tāpēc kodols izmanto savu ziņojumu ģenerēšanas mehānismu.

    klogd dēmons paredzēti, lai organizētu šo ziņojumu apstrādi. Principā tas var veikt šo apstrādi pilnībā atsevišķi un neatkarīgi no syslogd, piemēram, rakstīt šos ziņojumus failā, taču vairumā gadījumu tiek izmantots noklusējuma klogd iestatījums, kurā visi ziņojumi no kodola tiek pārsūtīti uz to pašu syslogd. dēmons.

    Automātiska rotācija (aizpildīto failu atjaunināšana) un žurnālu arhivēšana

    Laika gaitā žurnālfailam ir tendence augt, it īpaši, ja pakalpojums darbojas intensīvi. Attiecīgi ir jāspēj kontrolēt baļķu izmērus. Tas tiek darīts, izmantojot logrotate komandas, ko parasti veic cron dēmons. Par cron darbu es runāšu nākamajos rakstos. galvenais mērķis logrotate komandas ir periodiski dublēt žurnālus un izveidot jaunus tīrus žurnālus. Tiek saglabātas vairākas žurnālu paaudzes un, kad beidzas pēdējās paaudzes žurnāla derīguma termiņš, to var arhivēt (saspiest). Rezultātu var nosūtīt pa pastu, piemēram, personai, kas ir atbildīga par arhivēšanu.

    Lai noteiktu baļķu rotācijas un arhivēšanas secību, izmantojiet konfigurācijas fails /etc/logrotate.conf . Dažādiem žurnāliem var iestatīt atšķirīgu periodiskumu, piemēram, katru dienu, nedēļu vai mēnesi, papildus var pielāgot uzkrāto paaudžu skaitu, kā arī norādīt, vai arhīva kopijas tiks nosūtītas arhīva pārvaldniekam un, ja tad, kad. Zemāk ir parādīts piemērs /etc/logrotate.conf fails:

    # vispirms iestatīt noklusējuma parametrus (globālās opcijas) # atjaunināt žurnālfailus katru nedēļu # saglabāt žurnāla arhīvu pēdējās 4 nedēļās pagriezt 4 # izveidot jaunu (tukšu) failu pēc pagriešanas (atjaunināt) izveidot # atsaukt komentāru, ja vēlaties, lai saglabātie faili tiktu saspiesti # saspiest # iespējot rotācijas iestatījumus no norādītā direktorija ietver /etc/logrotate.d # nesaglabāt wtmp vai btmp -- žurnāla datu rotācijas iestatījumi ir šādi: /var/log/wtmp ( lostok monthly create 0664 root utmp rotate 1 ) / var/log/btmp ( missingok monthly create 0664 root utmp rotate 1 ) Tālāk var konfigurēt # konkrētus syslogs

    Globālās opcijas tiek ievietotas sākumā fails logrotate.conf. Tie tiek izmantoti pēc noklusējuma, ja vien citur nav norādīts kaut kas precīzāks. Piemērā žurnāli tiek pagriezti iknedēļas un dublējumkopijas tiek glabātas četri nedēļas. Tiklīdz žurnāls tiek pagriezts, vecā žurnāla vietā tiek automātiski izveidots jauns. logrotate.conf failu var saturēt specifikācijas no citiem failiem. Tātad, tas ietver visus failus no direktorija /etc/logrotate.d.

    Šajā piemērā ir ietverti arī īpaši noteikumi /var/log/wtmp Un /var/log/btmp(uzglabā informāciju par veiksmīgiem un neveiksmīgiem mēģinājumiem iekļūt sistēmā), kuras rotācija notiek katru mēnesi. Ja failu trūkst, kļūdas ziņojums netiek parādīts. Tiek izveidots jauns fails un tiek saglabāts tikai viens dublējums.

    Šajā piemērā, kad dublējums sasniedz pēdējo paaudzi, tas tiek dzēsts, jo nav definēts, ko ar to darīt.

    Reģistrējieties dublējumkopijas var ģenerēt arī tad, kad žurnāli sasniedz noteiktu lielumu, un skriptus var ģenerēt no komandu kopām, kas jāpalaiž pirms vai pēc dublēšanas darbības. Piemērs:

    /var/log/messages ( pagriezt 5 vēstules [aizsargāts ar e-pastu] izmērs 100 k pēc rotācijas /usr/bin/killall -HUP syslogd beigu skripts)

    Šajā piemērā rotācija /var/log/messages tiek ražots, kad tas sasniedz 100 KB lielumu. Tiek uzkrāti pieci dublējumkopijas, un tad, kad beidzas vecākais dublējums, tas tiek nosūtīts pa pastu uz adresi [aizsargāts ar e-pastu] Postrotate komandas vārds ietver skriptu, kas restartē syslogd dēmonu pēc rotācijas pabeigšanas, nosūtot HUP signālu. Beigu skripta komandas vārds ir nepieciešams, lai beigtu skriptu, kā arī tad, ja ir pirmsrotācijas skripts. Lai iegūtu papildinformāciju, skatiet logrotate rokasgrāmatas lapas.

    Parametri, iestatīts konfigurācijas failā logrotate.conf:

    • saspiest| nav kompresijas(vecākās versijas saspiež vai nesaspiež, izmantojot gzip)
    • saspiest cmd(norāda saspiešanas programmu, pēc noklusējuma ir gzip)
    • atspiest cmd(iestata dekompresoru, pēc noklusējuma ir ungzip)
    • saspiestteksts(iestata saspiesto failu sufiksu)
    • kompresijas iespējas(iestata saspiešanas programmas parametrus; noklusējuma vērtība ir "-9", t.i., gzip maksimālā saspiešana)
    • kopēt saīsināt| nokopijas saīsināt(parasti vecā versija tiek pārdēvēta un tiek izveidota jauna žurnāla versija; ar šo opciju logrotate kopē žurnālu jaunā failā un pēc tam saīsina veco; izmanto, ja programma, kas veido žurnālu, nezina, kā aizvērt tas; ieraksti, kas veikti intervālā starp kopēšanu un saīsināšanu, tiek zaudēti; vai tas palīdzētu, ja reģistrēšanas programma, nevis izmantotu pievienošanas režīmu, tikai ieraksta failā, izmantojot iekšējo rādītāju?)
    • izveidot[atļaujas īpašnieka grupa] | neradīt(uzreiz pēc žurnāla vecās versijas pārdēvēšanas un pirms postrotate izsaukšanas tiek izveidots jauns žurnāls ar norādītajiem atribūtiem - atļaujas tiek iestatītas oktālā, kā chmod.2; ja atribūti nav norādīti, tad tie tiek ņemti no vecais žurnāls)
    • katru dienu(versiju maiņa sērijā notiek katru dienu)
    • kavēšanās komprese| nodelaycompress(dažas programmas uzreiz neaizver žurnālu, tādā gadījumā saspiešana jāatliek uz nākamo ciklu)
    • kļūdase-pasts(kam ziņot par kļūdām)
    • pagarinājumupiedēklis(norāda sufiksu, kas pievienots failu nosaukumiem rotācijas laikā pirms saspiešanas sufiksa)
    • ja tukšs| paziņojums tukšs(mainiet versijas pat tad, ja fails ir tukšs; noklusējuma)
    • ietverFaila nosaukums| direktorija nosaukums (tekstuāli aizstāt failu vai visus failus no norādītā direktorija; apakšdirektoriji, īpašie faili un faili ar sufiksiem no izslēgšanas saraksta netiek iekļauti; nevar izmantot sadaļā)
    • pastuadrese| nomail(ja versijas maiņai ir nepieciešams dzēst veco žurnālu, tad nosūtiet to uz norādīto adresi)
    • pastu vispirms(sūtiet nevis dzēsto žurnāla versiju, bet pirmo)
    • Maillast(nosūtīt žurnāla versiju, kas tiks dzēsta; noklusējuma)
    • trūkstok| nomissingok(nesūtiet kļūdu ziņojumus, ja trūkst žurnāla)
    • katru mēnesi(versija mainās katru mēnesi)
    • olddirdirektoriju| noolddir(versijas maiņas laikā žurnāls tiek pārvietots uz norādīto direktoriju; jāatrodas tajā pašā fiziskajā ierīcē)
    • pēc rotācijas(visas turpmākās rindas līdz beigu skripta rindai tiek izpildītas kā čaulas komandas pēc versijas maiņas procesa)
    • iepriekš pagriezt(visas turpmākās rindas līdz beigu skripta rindai tiek izpildītas pirms versijas maiņas procesa)
    • pagrieztnumuru(cik veco versiju saglabāt; ja 0, tad nevienas)
    • Izmērsbaits(versijas maiņa notiek, ja žurnāla izmērs pārsniedz norādīto skaitu; varat izmantot sufiksus "k" - kilobaits - un "M" - megabaits)
    • koplietotie skripti| nosharedscripts(izpildiet komandas prerotate un postrotate tikai vienu reizi visiem failiem, kas aprakstīti sadaļā)
    • tabu ekst[+] sufiksu saraksts(izslēgšanas sufiksu saraksta iestatīšana vienumam iekļaut; ja ir norādīta pluszīme, tad pievienošana, pretējā gadījumā aizstāšana; noklusējuma: .rpmorig, .rpmsave, .rpmnew, ",v", .swp un "~")
    • iknedēļas(versija mainās katru nedēļu)

    Žurnālu izpēte un pārraudzība

    Žurnāla ierakstos parasti ir ietverts laikspiedols, resursdatora nosaukums, kurā darbojas aprakstītais process, un procesa nosaukums. Skatīt žurnālus Varat izmantot peidžeru programmu, piemēram, mazāk, varat meklēt konkrētus ierakstus (piemēram, kodola ziņojumus no noteikta dēmona), izmantojot komandu grep:

    # mazāk /var/log/messages # grep "ppp" /var/log/messages | aste 17. decembris 16:34:25 starpniekserveris pppd: savienojums pārtraukts. 17. decembris 16:34:25 starpniekserveris pppd: Iziet. 17. decembris 16:35:57 starpniekserveris pppd: LCP pārtrauca vienādranga (^P]kV^@

    Dators var nedarboties pastāvīgi un izslēgties, piemēram, naktī. Tāpēc ieraksti mapē /var/log/messages tiek saglabāti cikliski no datora palaišanas līdz izslēgšanai, to var redzēt no ziņojumiem:

    17. decembris 08:32:56 syslog-server syslogd 1.4-0: restart. Dec 17 08:32:56 syslog-server syslog: syslogd sākās veiksmīgi Dec 17 08:32:56 syslog-server kodols: klogd 1.4-0, žurnāla avots = /proc/kmsg sākās. 17. decembris 08:32:56 syslog-server syslog: klogd palaišana izdevās

    17. decembris 08:32:56 syslog-servera kodols: Kodola komandrinda: auto BOOT_IMAGE=linux ro root=303 BOOT_FILE=/boot/vmlinuz-2.4.2-2 17. decembris 08:32:56 syslog-servera kodols: Atmiņa: Pieejams 125652k/130560k (1365k kodola kods, 4200k rezervēts, 92k datu, 236k init, 0k highmem) Dec 17 08:32:56 syslog-servera kodols: CPU: Intel(R) Pentium(R) 40z CPU 1ping.

    Tāpat šajā failā var atrast informāciju par diska atmiņu (tostarp informāciju par diska ģeometriju, nodalījumu struktūru un izmantotajiem pārtraukumiem), informāciju par perifērijas ierīcēm, par atsevišķu pakalpojumu un pakalpojumu palaišanu, informāciju par failu sistēmu savienošanu un lietotāja pieteikšanās ziņojumiem. kā arī kļūdu ziņojumi.

    Dažreiz tas var būt nepieciešams sistēmas žurnāla uzraudzība lai meklētu aktuālos notikumus. Piemēram, varat mēģināt noķert kādu reti sastopamu notikumu brīdī, kad tas notika. Šajā gadījumā varat izmantot komandu asti ar opciju -f lai pārraudzītu sistēmas žurnāla saturu. Piemērs:

    # tail -f /var/log/messages | grep syslog-server 17. decembris 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 17. decembris 16:46:09 syslog-serveris pppd: Script/ip-up/ pabeigts (pid 12552), statuss = 0x0 17. decembris 16:46:49 syslog-server pptpd: CTRL: Klienta 85.175.197.65 vadības savienojums sākts 17. decembris 16:46:49 syslog-server pptpd: zvana sākšana (CTRL, starting pptpd atverot GRE) 17. decembris 16:46:49 syslog-server pppd: spraudnis /usr/lib/pptpd/pptpd-logwtmp.so ielādēts.

    Papildus /etc/syslog.conf norādītajiem žurnālfailiem ir arī citi faili, piemēram, fails, kurā tiek glabāta informācija par sistēmas sāknēšanas procesu pirms syslogd palaišanas, kā arī faili, kuriem ir binārais formāts un glabā informāciju par lietotāja pēdējo pieteikšanos sistēmā, par visām veiksmīgajām lietotāju pieteikšanās reizēm un par visām neveiksmīgajām lietotāju pieteikšanās reizēm. Direktorijā /var/log/ var būt arī žurnālfaili tādiem dēmoniem kā tīmekļa serveris vai starpniekserveris. Šo failu formāts ir līdzīgs syslogd žurnāliem.

    Nobeigumā vēlos uzsvērt, ka šis protokols nav īpaši drošs, jo. syslog nesatur nekādu aizsardzību pret ziņojumu viltošanu. Vēl sliktāk, UDP protokola izmantošana ļauj uzbrucējiem sūtīt ziņojumus jebkura resursdatora vārdā. Jūsu lokālajam tīklam ir jābūt aizsargātam pret pakešu saņemšanu ar viltotām vietējām adresēm (lai gan tas nenovērš viltotu ziņojumu sūtīšanu no LAN) un pakešu saņemšanas no ārpuses, izmantojot portu 514/udp. Ir zināmi diska pārpildes gadījumi ar viltus ziņojumiem.

    Syslog protokols un UDP nenodrošina garantētu piegādi (ziņojumi var tikt pazaudēti tīkla pārslodzes dēļ vai pārtverti, bojāti ziņojumi tiek dzēsti bez brīdinājuma), pareizu piegādes secību (procesa pārtraukšanas ziņojums var pienākt pirms procesa sākuma ziņojuma), prioritāro piegādi.

    Ziņojumu konfidencialitāte netiek nodrošināta, jo tie tiek pārraidīti skaidrā tekstā.

    Ja, uzstādot ziņojumu ģeneratoru, norādīsiet nepareizu savācēja vai releja adresi, tad kļūdu ziņojumu nebūs - ziņojumi tiks dzēsti (vai ierakstīti kāda cita žurnālā).

    Ir ierosināti vairāki projekti, lai uzlabotu syslog protokolu. Piemēram, RFC 3195 piedāvā uz TCP balstītu reģistrēšanas sistēmu (syslog-conn), kas nodrošina, ka ziņojumi tiek piegādāti pareizā secībā. Syslog-sign projekts piedāvā nodrošināt autentifikāciju, ziņojumu secību, ziņojumu integritāti un trūkstošo ziņojumu noteikšanu, ģenerējot īpašus ziņojumus, kas satur iepriekšējo ziņojumu bloka ciparparakstu, vienlaikus saglabājot standarta syslog protokolu un formātu un izmantojot UDP.

    Apkoposim nedaudz:

    Linux ir viens dēmons, kas atbild par lokālās sistēmas un attālo sistēmu notikumu reģistrēšanu. Visi notikumi tiek savākti no ligzdas /dev/log, UDP ports - 514, kā arī no "helper" klogd dēmona, kas sūta ziņojumus no kodola. Visus apkopotos ziņojumus filtrē syslogd dēmons, izmantojot kārtulas failā /etc/syslog.conf, un izplata uz attiecīgajiem adresātiem saskaņā ar noteikumiem. Žurnāla faili tiek periodiski "nogriezti". Biežumu nosaka fails logrotate.conf un komanda logrotate, kuru izpilda sistēmas plānotājs - cron.

    Tas šodienai viss. Ceru, ka visu aprakstīju pēc iespējas skaidrāk. Laika gaitā rakstu papildināšu!

    Ar cieņu, Mc.Sim!

    SERGEJS SUPRUNOVS

    FreeBSD padomi: izmantojot syslog

    – Atļaujiet, biedri, man ir pierakstītas visas kustības!

    — Birojs raksta, — Ostaps sacīja.

    I. Ilfs, E. Petrovs "12 krēsli".

    Jebkuras sistēmas un jo īpaši servera darbības reģistrēšana ir viena no svarīgākajām administrēšanas sastāvdaļām. Ja sistēmā rodas problēmas, vispirms mēs skatāmies žurnāla failos. No turienes mēs gūstam pārliecību, ka šī vai cita programma darbojas, kā paredzēts. Izstrādājot tīmekļa lietojumprogrammas, žurnālfails kļūst par vissvarīgāko atkļūdošanas informācijas avotu. Tiks runāts par syslog dēmona funkcijām, kas ir atbildīgs par sistēmas informācijas reģistrēšanu.

    Kas ir syslog

    Syslog ir centralizēts pakalpojums, kas apkopo un ieraksta žurnāla informāciju no dažādiem operētājsistēmas komponentiem un lietotāju procesiem. Trešo pušu programmas parasti var strādāt ar saviem žurnālfailiem, lai gan daudzas no tām var konfigurēt darbam arī ar syslogd dēmonu. Syslog izmantošanas priekšrocības ietver iespēju pārvaldīt nepieciešamās informācijas savākšanas procesu, izmantojot vienu konfigurācijas failu, kas nodrošina iegūto žurnāla failu vienveidību un rezultātā vienkāršo to pārvaldību.

    Syslog pakalpojumu nodrošina syslogd dēmons, kas tiek automātiski palaists sistēmas startēšanas laikā. Tas pastāvīgi atrodas atmiņā, gaidot ziņojumus no citiem procesiem un apstrādājot tos atbilstoši saviem iestatījumiem.

    Katru ziņojumu raksturo līmenis un avots (iekārta). Līmenis nosaka ziņojuma nozīmi sistēmas darbības ziņā. Fails syslog.h definē šādus līmeņus (prioritātes):

    1. tabula. Ziņojumu līmeņi

    Līmenis

    Apraksts

    izcelties, panika

    "Panikas" stāvoklis

    brīdinājums

    Stāvoklis, kas prasa tūlītēju uzmanību

    krit

    Kritisks stāvoklis

    kļūda, kļūda

    Citas darba kļūdas

    brīdinājums, brīdinājums

    Brīdinājumi

    Paziņojums

    Ziņojumi, kas nav kļūdas, bet ir jāņem vērā

    info

    Informācijas ziņojumi (normāla darbība)

    atkļūdošana

    Atkļūdošanas informācija

    1. tabulā ir norādīti ziņojumu līmeņi dilstošā secībā. Šī secība būs nepieciešama vēlāk, apspriežot konfigurācijas faila sintaksi.

    Ziņojuma līmeņa apzīmējumi, kas rakstīti tajā pašā rindā (piemēram, emerg un panic), ir sinonīmi, un tos var izmantot. Tomēr panika, kļūda un brīdinājums (tabulā norādīti otrajā vietā) tiek uzskatīti par novecojušiem, un no tiem ir jāizvairās, rediģējot konfigurācijas failu. Tā vietā izmantojiet attiecīgi emerg, err un brīdinājumu.

    Iespējamie ziņojumu avoti ir norādīti 2. tabulā:

    2. tabula. Ziņu avoti

    Avots

    Apraksts

    kern

    Kodola ziņojumi

    auth, authpriv

    drošību

    Drošības ziņojumi (piem., no ugunsmūra)

    konsole

    Ziņojumi, kas nāk uz konsoli (/dev/console)

    syslog

    Vietējie syslog ziņojumi

    cron

    cron apakšsistēmas ziņojumi

    Laika dienesta ziņojumi

    Ziņojumi FTP serveri

    Drukāt apakšsistēmas ziņojumus

    pastu

    Pasta ziņas

    ziņas

    Ziņu dienesta ziņojumi

    uucp

    Ziņojumi UUCP

    dēmons

    Ziņojumi no citiem dēmoniem, kas darbojas sistēmā

    lietotājs

    Lietotāja procesa ziņojumi

    vietējais0-vietējais7

    Var izmantot dažādām lietotāju vajadzībām (dažkārt izmanto sistēma)

    Konfigurējot lietojumprogrammu darbam ar syslog pakalpojumu, norādiet, kuru iespēju tā izmanto. Dažas programmas ļauj jums pašiem norādīt avotu. Piemēram, clamd dēmons (galvenais clamav antivīrusa process) pēc noklusējuma izmanto local6, bet ļauj norādīt citu avotu (konfigurācijas failā parametrs LogFacility). Dažos gadījumos var būt noderīgi apvienot tā ziņojumus ar pasta pakalpojumu ziņojumiem, kā avotu norādot LOG_MAIL.

    Dēmona startēšanas iespējas

    Pilnu startēšanas opciju sarakstu skatiet syslogd man lapā. Šeit mēs apsvērsim tikai dažus no tiem.

    Syslog spēj ierakstīt ienākošos ziņojumus žurnālfailos (kas parasti atrodas direktorijā /var/log), nosūtīt tos uz konsoli vai pievienoto lietotāja termināli, pārsūtīt uz attālo resursdatoru vai nosūtīt tos uz ārēju utilītu apstrādei. .

    Tīkla izveidei syslog izmanto portus 514 (UDP un TCP). Sākot bez papildu opcijām, syslogd uzklausīs ienākošos ziņojumus šajos portos. Slēdzis -s atspējo ienākošos ziņojumus, bet ligzdas 514. portos joprojām tiek izveidotas izejošajiem savienojumiem, lai syslogd varētu nosūtīt ziņojumus attālajiem resursdatoriem. Slēdža dubultošana (-ss) atspējo arī izejošos savienojumus.

    Pēc noklusējuma syslogd tiek startēts ar opciju -s (sk. /etc/defaults/rc.conf, opciju syslogd_flags), tāpēc ienākošie savienojumi tiek liegti. Ja vēlaties izmantot servera syslog pakalpojumu, lai apkalpotu vairākas mašīnas, failam /etc/rc.conf pievienojiet šo rindiņu:

    syslogd_flags= ””

    Tas ignorēs vērtību, kas iestatīta failā /etc/defaults/rc.conf, un syslogd varēs apkalpot ienākošos savienojumus. Likumsakarīgi, ka šajā gadījumā ir jānodrošina nepieciešamais drošības līmenis, izslēdzot iespēju ārzemju saimniekiem kaut ko ierakstīt jūsu žurnālos. Slēdzis -a ļauj iestatīt ierobežojumus ienākošajiem savienojumiem (skatiet man syslogd). Tāpat svarīga loma ir pareizi konfigurētam ugunsmūrim.

    Vēl viens noderīgs slēdzis -l ļauj norādīt papildu ligzdas failus, kurus syslogd klausās papildus noklusējuma /var/run/log. Piemēram, šī atslēga ir nepieciešama, lai syslog varētu apkalpot programmas, kas darbojas chroot vidē. Konkrēti, šādi named darbojas kopš BIND 9. FreeBSD 5.3 sistēmā syslogd tiek startēts ar šādām opcijām:

    # ps -vasks | grep syslog

    321?? Ss 0:01.67 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s

    Konfigurācijas faila sintakse

    Reģistrācija ir konfigurēta failā /etc/syslog.conf. Pats par sevi saprotams, ka to var rediģēt tikai root lietotājs. Šajā failā ir divu veidu virknes — nosacīti sauksim tās par "filtriem" un "noteikumiem".

    Filtra virkne nosaka programmu vai resursdatoru, uz kura ziņojumiem attieksies šādi noteikumi. Filtrs, piemēram, "!prog" (vai "#!prog") norāda, ka šīs rindas attiecas uz žurnāliem, ko ģenerējusi norādītā prog programma. Šī ieraksta sinonīms ir "!+prog". Savukārt rinda "!-prog" norāda, ka tālāk minētie noteikumi attieksies uz visiem ziņojumiem, izņemot tos, kas nāk no prog programmas. Ir atļauts uzskaitīt vairākas programmas, atdalot tās ar komatiem, savukārt zīme “+” vai “-” attiecas uz visu sarakstu.

    Ja filtra virkne ir iestatīta uz "+hostname", norādītais resursdators tiks izmantots kā ziņojumu avots, kas jāapstrādā saskaņā ar turpmākajiem noteikumiem. Tāpat kā programmu gadījumā, simbols "-" norāda, ka noteikumi tiks piemēroti visiem ziņojumiem, izņemot tos, kas nāk no norādītā resursdatora. Varat norādīt saimniekdatoru sarakstu, atdalot tos ar komatiem.

    Rakstzīme “*”, kas norādīta kā programma vai resursdators, ignorē iepriekš iestatīto filtru. Tas ir, noteikumi, kas norādīti pēc šādas rindas, tiks piemēroti visiem ziņojumiem. Saimniekdatora vai programmas nosaukumu filtri ir neatkarīgi viens no otra un var būt aktīvi vienlaikus. Piemēram:

    # Šeit atrodamie noteikumi attiecas uz visiem ziņojumiem

    mans.saimnieks

    # Noteikumi attiecas uz visiem ziņojumiem no my.host

    mežizstrādātājs

    # Noteikumi attiecas uz ziņojumiem no reģistrētāja ar my.host (resursdatora filtrs joprojām ir spēkā)

    # Noteikumi attiecas uz ziņojumiem no su ar my.host

    # Noteikumi attiecas uz ziņojumiem no su no jebkura saimniekdatora (resursdatora filtrs ir noņemts, programmas filtrs joprojām ir spēkā)

    # Noteikumi attiecas uz visiem ziņojumiem (tiek atcelts arī programmas filtrs)

    Noteikumu rindas izskatās šādi:

    iekārta.CMP līmeņa galamērķis

    Šeit iekārta ir ziņojuma avots ("*" apzīmē jebkuru avotu), līmenis ir ziņojumu līmenis, kas tiks apstrādāti saskaņā ar šo noteikumu. Pakalpojuma vārds "nav", kas norādīts līmeņa vietā, uzdod pilnībā izslēgt ziņojumus no šī avota.

    CMP ir salīdzināšanas darbība (simboli ">", "<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    Galamērķis norāda, kur ziņojums jāsaglabā. Tas var būt žurnālfails (tiek norādīts pilns ceļš, sākot ar "/"), attālā servera adrese (sākot ar simbolu "@"), lietotājvārds (ziņojumi tiks nosūtīti uz termināli, ar kuru šis lietotājs ir savienots). Tāpat ziņojumu var pārsūtīt uz ārēju programmu apstrādei, kurai tiek izmantots konveijera simbols "|".

    Daži noteikumu piemēri

    Visi kodola ziņojumi tiks nosūtīti uz failu kern.log.

    kern.* /var/log/kern.log

    Visi kļūdu ziņojumi, kā arī emerg, brīdinājuma un krituma līmeņa ziņojumi tiks ievietoti all-err.log. Ievērojiet defisi pirms žurnālfaila nosaukuma. Pēc noklusējuma ziņojumi tiek buferizēti atmiņā un ierakstīti diskā, kad buferis aizpildās. Tas samazina failu sistēmas slodzi, taču var tikt zaudēta daļa informācijas, ja iekārta avarē. Defise pirms faila nosaukuma liek syslogd dēmonam nekavējoties ierakstīt ziņojumus diskā.

    *.err — /var/log/all-err.log

    Atkļūdošanas ziņojumi no lietotāja procesiem tiks parādīti terminālī, kuram pašlaik ir pievienots lietotājs Vasya.

    user.debug

    Visi ziņojumi no ziņām un e-pasta pakalpojumiem tiks pārsūtīti uz sistēmas syslog.host.ru 514. portu.

    pasts.*,ziņas.* @syslog.host.ru

    Visi zemāk redzamie drukas pakalpojuma ziņojumi tiks ievietoti norādītajā failā. Kā minēts iepriekš, noklusējuma vērtība ir lielāka vai vienāda ar, un ! tas ir apgriezts, aizstājot to ar "mazāk". Ja vēlaties izslēgt noteiktu līmeni, izmantojiet konstrukciju "!=".

    lpr.!warning /var/log/printers.log

    Atkļūdošanas līmeņa (un tikai tā) ziņojumi ar iekārtas level0 un level3 tiks parādīti visos pievienotajos termināļos.

    level0,level3.=atkļūdot *

    Laika pakalpojuma ziņojumi, kas ir lielāki par kritisko (tas ir, parādīšanās un brīdinājumu) un mazāki vai vienādi ar paziņojumu (paziņojums, informācija un atkļūdošana), tiks nosūtīti uz ntpuser un root lietotāju termināļiem.

    ntp.>krit,<=notice ntpuser,root

    Visi brīdinājuma līmeņa ziņojumi, izņemot tos, kas nāk no pasta pakalpojumiem, tiks ierakstīti failā warn.log.

    *.=warning,mail.none /var/log/warn.log

    Šajā gadījumā visi ziņojumi, kuru līmenis ir lielāks par crit vai vienāds ar to, tiks nosūtīti pa e-pastu root lietotājam.

    *.krit | pasts -s “kritiskā ziņojuma” sakne

    Kā redzat, konfigurācijas faila formāts ļauj vienā rindā iekļaut vairākus līmeņus, avotus un galamērķus, kas padara konfigurāciju elastīgāku. Lai izmaiņas pēc rediģēšanas stātos spēkā, jums ir jānosūta HUP signāls uz syslogd procesu:

    # kill – HUP `cat /var/run/syslog.pid`

    Jāņem vērā, ka, ja konkrēts ziņojums ir pakļauts vairāku konfigurācijas faila rindiņu darbībai, tas tiks apstrādāts atbilstoši katrai no tām. Piemērs:

    pasts.* /var/log/maillog

    *.=err /var/log/error.log

    Šajā gadījumā mail.err ziņojumi nonāks gan mapē maillog, gan error.log.

    Konfigurācijas failu kompilācijas stratēģija

    Noslēdzot konfigurācijas faila apskatu, teikšu dažus vārdus par tā sastādīšanas stratēģijām. Papildus ļoti populārajam “ja tikai tas darbojas”, var izdalīt divus galvenos, kurus mēs nosacīti sauksim par “pēc avota” un “pēc galamērķa”.

    • Pirmā stratēģija, ko var redzēt vairākos GNU/Linux izplatījumos, ir rakstīt atšķirīgu noteikumu katram ziņojuma avotam (vai noteikumu grupai, ja dažādu līmeņu ziņojumi jāapstrādā atšķirīgi). Tās priekšrocība ir vienkāršība noteikt, kur tiek rakstīti konkrētu pakalpojumu ziņojumi.
    • Stratēģija "pēc galamērķa" paredz, ja iespējams, izveidot tikai vienu rindiņu katram ziņojuma "adresātam", piemēram, failu. Šo pieeju jo īpaši ievēro FreeBSD. Rezultātā ir viegli noteikt, kāda informācija ir ierakstīta konkrētajā žurnālfailā, bet, piemēram, kodola ziņojumu adresāti ir jāapkopo visā konfigurācijas failā.

    mežizstrādes utilīta

    Sistēmā ir iekļauta reģistrētāja utilīta, kas ļauj nosūtīt ziņojumus uz syslog pakalpojumu tieši no komandrindas. To ir ērti izmantot, pārbaudot konfigurācijas noteikumus, kā arī izstrādājot skriptus viņu darba reģistrēšanai. Piemēri:

    user$ logger -p user.err “Kļūda lietotāja programmā!”

    user$ logger -h syslog.host.ru “Pārbaudiet to”

    Pirmais piemērs nosūtīs ziņojumu no err līmeņa objekta lietotāja, kas tiks apstrādāts atbilstoši konfigurācijas failam. Otrā komanda nosūtīs ziņojumu attālajam saimniekdatoram, noklusējuma avots un līmenis tiks iestatīts uz user.notice.

    Rotācijas mehānismu izmantošana

    Iepriekš apspriestais reģistrēšanas mehānisms neparedz nekādu žurnālfailu pārvaldību. Ziņojumi tiek vienkārši ievietoti tajos saskaņā ar konfigurācijas failā aprakstītajiem noteikumiem. Tas nozīmē, ka žurnālfaili pastāvīgi pieaugs, un, ja nekas netiks darīts, tad agrāk vai vēlāk tie aizpildīs visu pieejamo attiecīgā nodalījuma vietu. Lai no tā izvairītos, tiek izmantots rotācijas mehānisms.

    Piemēram, tiklīdz faila debug.log izmērs pārsniedz 100 MB, tas tiek pārdēvēts par debug.log.0 un tiek iepakots uz debug.log.0.bz2. Tā vietā tiek izveidots jauns debug.log. Turklāt, kad arī jaunā faila lielums sasniedz 100 MB, debug.log.0.bz2 tiek pārdēvēts par debug.log.1.bz2 un tiek atkārtota iepriekš aprakstītā procedūra. Sistēma saglabā tikai noteiktu skaitu arhīva failu, dzēšot vecākos. Tāda ir rotācija.

    newsyslog utilīta

    FreeBSD sistēmā rotāciju apstrādā newsyslog utilīta, kuru pēc noklusējuma katras stundas sākumā palaiž cron dēmons. Rotācijas periodu var mainīt, rediģējot /etc/crontab.

    Iepriekš minētajā piemērā norādītie rotācijas parametri (faila lielums, iepakojums), kā arī vairāki citi, ir iestatīti /etc/newsyslog.conf konfigurācijas failā. Katram failam, kas jāpagriež, tajā ir virkne ar deviņiem laukiem: faila nosaukums, īpašnieks un grupa, atļaujas, lielākais skaits arhīva faila nosaukumā, maksimālais faila lielums, rotācijas periods, papildu karodziņi un ceļš uz Lietojumprogrammas PID fails, uz kuru pēc pagriešanas jānosūta signāls, un nosūtāmā signāla numurs. (Var būt nepieciešams nosūtīt signālu procesam, piemēram, ja process visu laiku patur žurnāla failu atvērtu; ja tas nav izdarīts, izmantotais faila deskriptors nesakritīs ar jaunizveidoto failu.) Daži lauki var tikt izlaisti. . Šeit ir divi piemēri, pilnīgi un "tipiski".

    /var/log/pflog root:wheel 600 3 100 * JB /var/run/pflog.pid 1

    Saskaņā ar šo noteikumu pflog fails ir jāpārraksta, tiklīdz tā lielums pārsniedz 100 MB (5. lauks) neatkarīgi no laika (simbols "*" 6. laukā). Arhīva failiem būs tādi nosaukumi kā pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 utt.), un X nedrīkst būt vairāk par trim (3. parametrs 4. laukā). J karodziņš norāda, ka arhīva fails ir jāsaspiež, izmantojot utilītu bzip2. Pateicoties B karogam, rotācijas pakalpojuma ziņojumi netiks pievienoti arhivētajiem un jaunizveidotajiem failiem, jo ​​fails tiek uztverts kā binārs. Jaunizveidotais fails piederēs saknes lietotājam un riteņu grupai (šo lauku var izlaist, jo šis īpašnieks ir iestatīts pēc noklusējuma). Atļaujas tiks iestatītas uz rw------- (skaitliskā vērtība 600), t.i., tikai īpašnieks varēs lasīt un rakstīt šo failu. Visbeidzot, procesam, kura PID ir saglabāts mapē /var/run/pflog.pid, tiks nosūtīts signāls 1 (HUP), lai atkārtoti atvērtu žurnāla failu.

    /var/log/maillog 640 7 * @T00J

    Šis noteikums nosaka pasta žurnāla faila rotācijas opcijas: neatkarīgi no izmēra (zvaigznīte 5. laukā) fails tiks pārrakstīts katru vakaru pulksten 00:00 (man newsyslog.conf formātā laika norādīšanai ir aprakstīts pietiekami detalizēti). Arhīvam jābūt iepakotam, pēdējie 8 arhīvi (numurēti no 0 līdz 7 ieskaitot) tiks saglabāti, jaunizveidotais fails piederēs root lietotājam (noklusējums, tāpēc īpašnieka lauks tiek izlaists) un tiem ir rw-r--- -- atļaujas.

    Varat izmantot utilītas zcat un bzcat (attiecīgi gzip un bzip2), lai skatītu iesaiņotos žurnālfailus. Midnight Commander automātiski izsauc atbilstošās utilītas.

    Pēc faila newsyslog.conf rediģēšanas nekur nav jāsūta signāli – konfigurācija tiks no jauna nolasīta nākamreiz, kad tiks izsaukts newsyslog.

    Ņemiet vērā, ka newsyslog utilīta nav saistīta ar syslogd dēmonu. Tas ir, to var izmantot, lai pagrieztu visus failus, kuriem tas ir nepieciešams. Ja ir iespējota rotācija žurnāliem, kurus lietojumprogramma uztur atsevišķi (piemēram, clamd vai kalmāru žurnāli), esiet īpaši uzmanīgs, norādot īpašnieku un piekļuves tiesības. Ja tos norādāt nepareizi, lietojumprogramma pēc pagriešanas var darboties kā nepievilcīgs lietotājs, nevarēs rakstīt jaunizveidotajā failā.

    Summējot

    Syslog sistēma ir ļoti spēcīgs un efektīvs rīks dažādu sistēmā notiekošo notikumu reģistrēšanai. Noklusējuma iestatījumi ir diezgan līdzsvaroti un labi darbojas lielākajā daļā sistēmu. Tomēr izpratne par syslog darbību ļaus ievērojami uzlabot reģistrēšanas kvalitāti, konfigurējot reģistrēšanas informāciju stingri atbilstoši savām vajadzībām.