Syslog - hálózati rendszernapló. Linux naplófájlok sorrendben Melyik syslog ID rendelkezik a legmagasabb prioritással

Démon be Unix hívja a működő programot "a háttér" anélkül, hogy terminálvezérlést igényelne, és lehetőséget ad arra, hogy egyéb munkáit „előtérben” végezze. A démont elindíthatja egy másik folyamat, például a rendszerindítási szkriptek egyike anélkül, hogy hozzáférne a vezérlőterminálokhoz, vagy a felhasználó valamelyik terminálról indíthatja el, de ebben az esetben démon "nem veszi át" terminál a munkája idejére. Természetesen felmerül a kérdés, hogy mely démonokra van szükség a rendszeren, és melyeket lehet letiltani.

A kifejezés eredete
A valós (azaz nem számítógépes) világban a „démon” kifejezés (vagy szó) szellemet (leggyakrabban gonoszt) vagy „belső hangot” jelöl. Érdemes megjegyezni, hogy mindkét érték vonatkozik a Unix démon programokra is. A mitológiai démonokhoz hasonlóan a Unix démonok is a színfalak mögé bújnak, és próbálnak láthatatlanok maradni. És akárcsak a belső hang vagy a tudatalattink, mindig „készen vannak”, mindig elérhetőek, mindig „megnyilvánulhatnak”. Maga a „démon” szó is az egyik ilyen számítógépes betűszót képviseli, melynek eredetét éppoly nehéz kideríteni, mint eldönteni, hogy kezdetben tyúk vagy tojás volt. Feltehetőleg ez a kifejezés ("DAEMON") a szavakból származik "Lemez és végrehajtás figyelő" program.

Miután elkezdtem tanulmányozni a kérdést, elmentem egy paphoz, aki Ubuntu operációs rendszerrel használ számítógépet. Minden esetre vettem egy lemezt a Windows rendszerrel. Soha nem tudhatod... Közvetlen ember vagyok, nem vergettem, azonnal kiadtam minden információt. Hosszan és részletesen elmagyarázva. Nagy boldogságomra mindezt nyugodtan vette néhol, miközben én beszéltem, még mosolygott is, főleg amikor a nővérem férje ubuntutól való elutasításának okait mesélte el. Apa, normális ember, már 50 éves, kicsit többet beszélgettünk, vagy inkább én beszéltem, hogy megértsük, helyesen asszimilálta, amit mondtam. Utána elmondta, szó szerint nem emlékszem, de nem jutott eszembe diktafonra felvenni, úgyhogy saját szavaimmal írom le. Általánosságban nincs semmi baj azzal, hogy ezt a kifejezést használják a Linuxban, a lényeg az Istenbe vetett hit.

Bevezetés a szolgáltatásokba

Az /etc/init.d által hivatkozott démonok Linuxon szolgáltatásként vagy szolgáltatásként futnak. A szolgáltatások olyan programok, amelyeket az /etc/init.d könyvtárban található init szkriptek indítanak el és állítanak le. E szolgáltatások közül sok a rendszer indítási szakaszában indul el. A / sbin / service segédprogram felhasználói felületet (interakciót) biztosít inicializálási szkriptekkel. Ezek a szkriptek pedig maguk is felületet biztosítanak a szolgáltatások kezeléséhez, lehetőséget adva a felhasználónak a szolgáltatás indítására, leállítására, újraindítására, a szolgáltatás állapotának lekérdezésére és egyéb műveletek végrehajtására a szolgáltatáson. Például a httpd szolgáltatásinit parancsfájl a következő opciókkal rendelkezik:

/ sbin / service httpd Használat: httpd (start | leállítás | újraindítás | condrestart | újratöltés | állapot | teljes állapot | kecses | súgó | konfigteszt)

Az összes rendszerszolgáltatás aktuális állapotát megtekintheti a szerviz segédprogram következő lehetőségével:

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

A chkconfig segédprogrammal szerezhetők be vagy módosíthatók ezeknek a szolgáltatásoknak a futási szintjére vonatkozó információk, vagyis annak beállítása, hogy egy adott szolgáltatás melyik rendszerfutási szinten induljon el a rendszerindításkor. Lássuk például a syslog rendszernaplózási szolgáltatás aktuális beállításait:

/ sbin / chkconfig --list syslog syslog 0: ki 1: ki 2: be 3: be 4: be 5: be 6: ki

Azt látjuk, hogy a syslog szolgáltatás automatikusan elindul, amikor a 2., 3., 4. és 5. szintre lépünk. A 3. és 4. szinten való indulás letiltásához (egyébként nem jó ötlet) a következő opciót használhatja: a chkconfig parancs:

/ sbin / chkconfig --levels 34 syslog off

A / usr / bin / system-config-services segédprogram grafikus felületet biztosít a rendszerszolgáltatásokhoz, amely lehetővé teszi azok aktuális állapotának megtekintését és módosítását, valamint a különböző futási szinteken történő futtatás beállítását.

Nézzük meg, hogyan jelennek meg ezek a szolgáltatások és démonok a ps parancs kimenetében. Íme egy gyors kivonat:

UID PID PPID C STIME TTY IDŐ CMD gyökér 1 0 0 23:36? 00:00:00 init root 2161 1 0 23:37? 00:00:00 auditd root 2177 1 0 23:37? 00:00:00 syslogd -m 0 gyökér 2180 1 0 23:37? 00:00:00 klogd -x gyökér 2207 1 0 23:37? 00:00:00 mcstransd gyökér 2254 1 0 23:37? 00:00:00 rpc.statd root 2287 1 0 23:37? 00:00:00 rpc.idmapd gyökér 2577 1 0 23:37? 00:00:00 crond gyökér 2631 1 0 23:37? 00:00:00 / usr / sbin / atd root 2654 1 0 23:37? 00:00:00 rhnsd -- 240-es intervallum

Mi az érdekes itt megjegyezni (azon kívül persze, hogy ma túl későn ültem a számítógép elé)? Mindegyik démon esetében a szülőfolyamat-azonosító (PPID) 1. Ez azt jelzi, hogy a démonokat az init indította el a rendszerindításkor.

Ez az eredmény világosabban látható egy olyan hasznos parancs kimenetén, mint a "pstree", amely a folyamatok "fáját" jeleníti meg a "parents" jelzéssel. Íme egy kis részlet a pstree kimenetéből:

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

További információ a rendszeren lévő démonokról

Elkészültünk a bevezető információkkal. Most beszéljünk a rendszerdémonokról elszigetelten, és nézzük meg, melyikkel lehet biztonságosan kísérletezni. Ez a bejegyzés ismét egy Red Hat Enterprise Linux Beta 2-t futtató rendszerről szól munkaállomás-konfigurációban. A rendszer sajátosságaitól függően előfordulhat, hogy több vagy kevesebb démont láthat, köztük olyanokat is, amelyekkel itt nem foglalkozunk.

Az egyes démonok leírása tartalmaz linkeket olyan oldalakra, ahol további információkhoz juthat, de a legjobb, ha a démonok megismerését a megfelelő kézikönyvoldalakon kezdi el. O "Reilly kiváló ábécé sorrendben listázza a Linux parancsokat, és a wikipedia.org is rendelkezik a legtöbb ilyen démonról. Ne felejtse el megnézni a README fájlokat.

Ez az Advanced Configuration and Power Interface (ACPI) szolgáltatás. Az ACPI egy nyílt ipari szabvány, amely meghatározza a rendszerfelügyeleti műveleteket, elsősorban a plug-and-play eszközdefiníciót és az energiagazdálkodást, beleértve a rendszer indításakor, leállásakor és alacsony fogyasztású üzemmódba kerülésekor végzett műveleteket.

Valószínűleg ne tiltsa le ezt a szolgáltatást, hacsak nem hibakeresési vagy hardverproblémák megoldása céljából teszi.

További információ: http://www.acpi.info

Ha laptopot használ, ahogy manapság sokan teszik, akkor az egyik probléma az, hogy amikor megkéri a cron démont, hogy tegyen valamit, nem mindig biztos abban, hogy a számítógép be van-e kapcsolva a végrehajtás ütemezett időpontjában. feladatokat. Az Anacron (ez a név az "anachronistic cron" szóból származik, ami olyasmit jelent, mint az "elavult cron") úgy oldja meg ezt a problémát, hogy ellenőrzi, hogy a feladatok egy bizonyos időn belül végrehajtásra kerültek-e. Például az anacron elindít egy feladatot, ha azt meghatározott számú napig nem indították el.

Mikor lehet abbahagyni az anacron használatát? Ha a rendszer folyamatosan fut.
Megtagadhatja a cron futtatását, ha anakron fut? Nem; anacron esetén a feladat újraindítási időszaka csak napokban adható meg, percekben és másodpercekben nem.

További információ:

Ez az Advanced Power Management (APM) démon a BIOS-ban található illesztőprogramon keresztül. Az APM szabványt és az apmd démont most felváltotta az ACPI és az acpid. Ha a hardver támogatja az ACPI-t, akkor nem kell futtatnia az apmd-t.

Ez egy démon a munkák meghatározott időpontban történő elindításához. Ha nem használja, teljesen lehetséges letiltani.

Ez a démon automatikusan csatolja a konfigurációs fájlban meghatározott lemezeket és fájlrendszereket. Ennek a démonnak a használata megkönnyíti a cserélhető lemezekkel való munkát.

További információ: http://freshmeat.net/projects/autofs

A Linux auditáló rendszer kernelszintű rendszerhívásnaplózókból és felhasználói területnapló-gyűjtő és -megtekintő eszközökből áll. Az auditd démon a naplózott üzeneteket lemezre írja. Az Auditd konfigurálható, lehetővé téve a lemezen tárolt információk szabályozását és kezelését.

Folytatni kell az auditot? A naplókból származó információk nagyon hasznosak lehetnek a rendszerbiztonsággal kapcsolatos minden beállításánál. Például az auditd a SELinux eseménynaplózásában használatos. Vannak olyan segédprogramok is, mint például az aureport, amelyek lehetővé teszik az auditnaplók megtekintését. Íme egy példa az aureport segédprogram által generált jelentésre:

Összegző jelentés
======================

Időtartomány a naplókban: 2006.11.28. 06: 07: 04.800 - 2007.02.06 21: 10: 09.957 Jelentés kiválasztott időpontja: 1969.12.31. 19:00:00 - 02/06/2007 10: 09.957 Változások száma a konfigurációban: 285 Fiókok, csoportok vagy szerepkörök módosításainak száma: 32 Bejelentkezések száma: 145 Sikertelen bejelentkezések száma: 11 Felhasználók száma: 2 Terminálok száma: 22 Gazdanevek száma: 11 Szám végrehajtható fájlok száma: 27 Fájlok száma: 91 AVC-megtagadások száma: 688 MAC-események száma: 12 Sikertelen rendszerhívások száma: 404 Rendellenes események száma: 0 Anomáliás eseményekre adott válaszok száma: 0 Titkosítási események száma: 0 Folyamatok száma Azonosítók: 14022 Események száma: 70694 Avahi-daemon és avahi-dnsconfd

Az Avahi weboldala a következőképpen definiálja: "Az Avahi egy olyan rendszer, amely lehetőséget biztosít a szolgáltatások felfedezésére a helyi hálózaton. Ez azt jelenti, hogy miután számítógépe csatlakozik a helyi hálózathoz, azonnal felfedezheti az elérhető nyomtatókat, megnézheti, milyen megosztások érhetők el. a hálózaton megtudhatja, hogy a hálózat többi felhasználója közül kivel beszélhet chaten és így tovább." Az Avahi a Zeroconf protokoll megvalósítása. A Zeroconf pedig egy olyan megközelítés, amely lehetővé teszi a felhasználók számára IP-hálózatok létrehozását speciális konfigurációs szolgáltatások, például DNS-kiszolgálók nélkül.
Leggyakrabban az avahi-daemont a Rhythmbox-szal együtt használják, hogy megtekinthesse a másokkal megosztott zenei fájlokat. Ha nem oszt meg zenét vagy fájlokat a számítógépéről, letilthatja ezt a démont.

További információ: http://avahi.org, http://zeroconf.org

Bluetooth és a hidd and pand démonok

Maguk a nevek mindent megmagyaráznak. Indítsa el ezeket a szolgáltatásokat, ha Bluetooth-eszközöket szeretne használni. A ténylegesen futó démon neve hcid (Host Controller Interface Daemon).

A rejtett démon neve a "Bluetooth Human Interface Device Daemon"-ból származik. Bluetooth billentyűzet, egér és hanyattegér támogatást nyújt. A pand démon pedig Bluetooth segítségével tartja a számítógépet az ethernet hálózathoz csatlakoztatva.

További információ: http://www.bluetooth.com,

Ez a démon támogatja a közös ISDN alkalmazásprogramozási felületet. Akkor kell futtatni, ha ISDN hardverkomponensekhez csatlakozik. Ez a szolgáltatás elindul capiinit.

További információ: http://www.capi.org/pages

Nem, ennek semmi köze az éjszakai ingatlanbefektetési adásokhoz. A conman szolgáltatás (és a conmand démon) támogatja a konzolkezelést. Több konzoleszköz és egyidejű felhasználói munka támogatása, helyi soros eszközök és távoli terminálkiszolgálók támogatása (telnet protokollon keresztül). Ha több szervert kezel, szükség lehet a conman-re.

További információ: http://home.gna.org/conman/
cpuspeed

Ez a démon megváltoztatja a munka sebességét központi feldolgozó egység az energiafogyasztás csökkentése érdekében. Ha a CPU üresjáratban van, csökkentheti a sebességet, ezzel csökkentve az energiafogyasztást, a teljesítmény növeléséhez pedig növelni kell az energiafogyasztást. Ha azért dolgozol laptop, van értelme a cpuspeed futtatásának.

További információ: http://carlthompson.net/Software/CPUSpeed
crond

Ez a démon a feladatok automatikus indítására szolgál. Ez minden Linux és Unix rendszeren szükséges. Ne állítsa le vagy tiltsa le ezt a szolgáltatást.

További információ: http://www.unixgeeks.org/security/newbie/unix/cron-1.html, http://www.linuxhelp.net/guides/cron/

CUPS és cups-config-daemon

Ez a "Common UNIX Printing Solution" démon. Ahogy a neve is sugallja, ez egy olyan nyomtatási rendszer, amely többféle fájlformátumot és különböző típusok nyomtatók. Ha nyomtatni szeretne, futtassa ezt a démont a rendszerén.

További információ: http://www.cups.org, http://www.easysw.com/cups/index.php

Ennek a démonnak a neve a "DHcp Client D-Bus Daemon" rövidítése. A Free DeskTop wiki a következőképpen határozza meg:

A D-Bus egy üzenetbusz-rendszer, egyszerű módja annak, hogy az alkalmazások kommunikáljanak (vagy interakcióba lépjenek) egymással. A folyamatok közötti kommunikáció mellett a D-Bus segít a folyamat életciklusának koordinálásában; egyszerű és megbízható kódbeli implementációt biztosít egy alkalmazás vagy démon "külön példányának" futtatására, amely lehetővé teszi alkalmazások és démonok igény szerinti futtatását, amikor a megfelelő szolgáltatásokra szükség van.

Futtatnod kell ezt a démont? Ha a rendszere hálózaton működik (hogy is lehetne másként?), Főleg, ha hálózatok között mozog (például vezetékes hálózatról vezeték nélküli hálózatra vált), akkor el kell indítania a NetworkManager-t (a NetworkManager-t lentebb nézzük meg ).

A dhcdbd démon D-Bus interfészt biztosít a dhclient, az ISC DHCP kliens számára. Ez lehetővé teszi a NetworkManager számára a dhclient elérését és vezérlését.

További információ: http://www.freedesktop.org/wiki/Software/dbus

Ez a démon lehetővé teszi az egér használatát szöveges alkalmazásokban, mint pl fájl kezelőÉjfél parancsnoka. Ez akkor lehet hasznos, ha gyakran használja a konzolt; Ellenkező esetben, ha folyamatosan az X Window System-et használod, előfordulhat, hogy soha nem lesz szükséged a gpmd-re.

Nem, ez nem a gonosz számítógép egy 2001-es Űrodüsszeia filmből. Ebben az összefüggésben a HAL a Hardware Abstraction Layer rövidítése. A HAL démon (a kernel és maguk az eszközök segítségével) információkat gyűjt a hardvereszközökről, és konzisztens módon jeleníti meg az alkalmazások számára.

Ne tiltsa le ezt a szolgáltatást. Sok alkalmazás használja.

További információ: „Asztali és hardverkonfiguráció”, David Zeuthen

Ez a démon támogatja a HP Linux Imaging and Printing (HPLIP) rendszert, amelyet tintasugaras nyomtatón történő nyomtatáshoz, szkenneléshez és faxoláshoz használnak lézeres eszközök a HP-tól. A HPLIP együttműködik a CUPS-szal, amely hozzáférést biztosít a HP eszközeihez.

További információ:

Ez egy démon a Java relációs adatbázisokhoz. Nevét a Hypersonic SQL projekttől örökölte, amely már nem támogatott. A hsqldb-t széles körben használják nyílt forráskódú projektekben, például az OpenOffice.org-ban, valamint demókban, mivel teljes egészében RAM-ban futhat. Aminek köszönhetően gyorsan működik. Futtatnod kell ezt a szolgáltatást? Csak akkor, ha olyan programot futtat, amely ezt használja. De valójában nagyon is hasznos eszközés ha nem ismerné, érdemes megnézni.

További információ: http://hsqldb.org, http://dba.openoffice.org

Apache webszerver. Az összes webhely közel 60%-a használja. Ha szeretne fenntartani egy webhelyet, futtassa az Apache-ot. Kell még valamit mondanom?

További információ: http://httpd.apache.org

ip6tables és iptables

Ezek tűzfalak vagy tűzfalak. A Wikipédia szerint "A tűzfal vagy tűzfal (zsargon. Firewall vagy firewall az angolból. Firewall) olyan hardver- és/vagy szoftvereszközök összessége, amelyek az OSI modell különböző szintjein áthaladó hálózati csomagokat vezérlik és szűrik a meghatározott szabályokat.a tűzfal védelem számítógépes hálózatok vagy az egyes csomópontokat az illetéktelen hozzáféréstől."

Az Iptables úgy működik, hogy az IPv4 csomagszűrési szabályokat kerneltábla formájában állítja be. A bejövő és kimenő csomagokat ellenőrzik ezeknek a szabályoknak, és a szabályoknak nem megfelelő csomagokat blokkolják. Az Ip6tables ugyanezt teszi az IPv6-csomagoknál.

A két szolgáltatás közül melyiket szeretné futtatni? Mindkét. Mindig. A hálózat veszélyes!

További információ: http://www.netfilter.org, http://www.ipv6.org

Az IrDA (Infrared Data Association) az eszközök közötti infravörös vezeték nélküli kommunikáció ipari szabványa. A legtöbb laptop IrDA-kompatibilis infravörös adóval van felszerelve. Ezt a szolgáltatást csak akkor kell elindítania, ha infravörös kapcsolaton keresztül kívánja megszervezni a kommunikációt más eszközökkel.

További információ:

irqbalance

Ez a démon felelős a hardveres megszakítások elosztásáért a szimmetrikus processzoros (SMP) többprocesszoros architektúrák CPU-i között a teljesítmény javítása érdekében.

Ezt a démont nem szükséges egyprocesszoros rendszereken futtatni, csak a többprocesszoros rendszereket érinti.

További információ: http://www.irqbalance.org

Ez egy nagyon hasznos démon. Indításkor fut, és ellenőrzi, hogy mely hardvereszközök kerültek hozzáadásra vagy eltávolításra a rendszerből. Érdemes a kudzu-t rendszerindításkor futtatni, még akkor is, ha nem tervezi az eszközök gyakori hozzáadását vagy eltávolítását. Mert előbb-utóbb Ön is olyan helyzetbe kerül, amikor hozzáad egy eszközt, és elvárja, hogy a rendszer észlelje azt. Ezenkívül, mivel a kudzu rendszerindításkor fut, nincs negatív hatással a rendszer teljesítményére.

További információ: http://fedora.redhat.com/projects/additional-projects/kudzu

Ez a démon a nevét a Lan Information Server-ről kapta. A Lisa az MS-Windows Network Neighborhood szolgáltatásához hasonló funkcionalitást biztosít, azaz hozzáférést biztosít a helyi hálózat kiszolgálóihoz, beleértve a CIFS (Common Internet File Systems) kiszolgálókat is. A lisa TCP / IP-n fut, ICMP kéréseket küld a konfigurációs fájlban megadott tartományban lévő IP-címekre, és várja a számítógépek válaszát.

További információ: http://docs.kde.org/stable/en/kdenetwork/lisa, http://docs.kde.org/userguide/networking-with-windows.html,

lm_sensors

Ez a démon figyeli az alaplap hőmérsékletét és feszültségét. A felügyeleti rendszer működéséhez megfelelő érzékelőkkel kell rendelkezni a berendezésben. Csak akkor van értelme elindítani ezt a démont, ha biztosított a hardveres támogatás. Valószínűleg nem szabad normál munkaállomásokon futtatnia. Inkább a kritikus funkciókat ellátó csúcskategóriás szervereken van rá szükség.

További információ: http://www.lm-sensors.org, http://freshmeat.net/projects/lm_sensors

mcstrans

SELinux Context Translation System Daemon. Ez a démon a biztonsági kontextus információkat ember által olvasható formává alakítja. Leállíthatja ezt a démont, de ha igen, akkor az ls -Z parancs által megjelenített SELinux információ megváltozik. Például, amikor a démon fut, látni fogja:

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 Desktop -r-xr-xr-x jsmith jsmith user_home -: object_rt user_home - r - r-- jsmith jsmith user_u: object_r: user_home_t hello.c

És ha a démon leáll, a következőket fogja látni:

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 thjsmith : jsmith object_r: user_home_t: s0 hello -r - r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 hello.c

Vegye figyelembe, hogy ha a démon leáll, az "s0" biztonsági kontextusérték jelenik meg. Mctrans ebben az esetben nullázta a kontextust. Az egyéb biztonsági kontextusértékek alfanumerikus értékekről nevükre konvertálódnak.

További információ: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com

mdmonitor és mdmpd

Ezt a két démont olcsó / független lemezes (RAID) tárolórendszerek redundáns tömbjében használják. Az Mdmonitor elindítja, leállítja és újraindítja az mdadm-et (többutas eszközfigyelés és -felügyelet), egy szoftveres RAID-figyelő és felügyeleti szolgáltatást. Csak akkor kell elindítania ezt a szolgáltatást, ha a rendszere RAID-eszközökkel rendelkezik.

További információ: http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

üzenetbusz

Ez a D-BUS rendszerüzenet busz démon. Kisugározza a rendszereseményeket és eseményeket, például a nyomtatási sor változásait, vagy eszközök hozzáadása vagy eltávolítása (megjegyzendő, hogy ez nem ugyanaz, mint a kudzu, mivel az ilyen események a rendszer működése során bármikor előfordulhatnak, nem csak a rendszerindítási szakaszban ).

További információ: http://www.freedesktop.org/software/dbus

netplugd és ifplugd

Ezek a démonok konfigurálják az Ethernet-eszközöket, ha hálózati kábel van csatlakoztatva, és letiltják ezeket az eszközöket, ha a kábel le van választva. Mikor van rá szüksége? Például laptopokon, hogy az Ön hálózati kapcsolatok csak a hálózati kábel csatlakoztatásakor áll vissza.

Vegye figyelembe, hogy a netplugd támogatása megszűnt, és most az ifplugd váltja fel.

További információ: http://0pointer.de/lennart/projects/ifplugd

NetworkManager és NetworkManagerDispatcher

A NetworkManager démon automatizálja a hálózati kapcsolatok közötti váltást. Ez a démon hasznos azoknak a laptopfelhasználóknak, akik a WiFi vezeték nélküli és az Ethernet-kapcsolatok között váltanak. A NetworkManagerDispatcher démon automatikusan elindítja a parancsfájlokat a szükséges műveletek végrehajtásához (például parancsfájlokat a csomagok specifikus útválasztási irányainak beállításához), amikor a NetworkManager megváltoztatja a hálózat állapotát.

További információ: http://www.gnome.org/projects/NetworkManager

Ez egy démon, amely tartománynév-kiszolgálóként működik. Csak akkor futtassa, ha a számítógépe a hálózat DNS-kiszolgálója.

További információ: http://www.dns.net/dnsrd

Az nfsd démon támogatja az nfs hálózati kommunikációs protokollt, amely hozzáférést biztosít hálózati erőforrások TCP / IP hálózatokban. Akkor kell futtatnia, ha az nfs protokoll használatával hozzáférést ad más felhasználóknak a fájlrendszerekhez.

További információ:

Ez a névszolgáltatás gyorsítótárazó démonja. Karbantartja a futó programok csoportjainak és jelszavainak táblázatát, majd a következő kéréskor megjegyzett eredményt ad az egyébként túl lassú szolgáltatásokhoz, mint például a NIS vagy az LDAP. Ha futnak ezek a szolgáltatások, akkor az nscd-t is el kell indítani.

Ez egy démon, amely támogatja a Network Time Protocolt. Beállítja a rendszeridőt, és szinkronizálja a referenciaidőt fenntartó internetes szerverek által beállított idővel. Ha a rendszer csatlakozik az internethez (ugye?), akkor ez a démon figyeli a rendszeridő helyes beállítását a számítógépen.

További információ: http://www.ntp.org

Az oddjobd démon a com.redhat.oddjob szolgáltatást futtatja a rendszerbuszon. Az oddjobd által biztosított minden lehetőséget úgy biztosítanak külön módszer D-busz. Az Oddjobd támogatást nyújt a nem privilegizált alkalmazások privilegizált műveleteinek végrehajtásához.

Csak akkor indítsa el ezt a démont, ha olyan alkalmazásokat használ, amelyek ezt igénylik, mint például a Conga.

További információ: http://people.redhat.com/nalin/oddjob/oddjob.html,

Ez a démon támogatja a virtuális magánhálózatokat (VPN). Ennek a démonnak az indító szkriptje a következőket mondja:

Az OpenVPN egy robusztus és rendkívül rugalmas alagútkezelő alkalmazás, amely az OpenSSL-könyvtár titkosítási, hitelesítési és hitelesítési képességeit használja az IP-hálózat egyetlen UDP-porton keresztüli biztonságos alagútba történő továbbítására.

Ha a rendszer VPN-gazdagép, akkor valószínűleg az OpenVPN-t kell futtatnia.

További információ: http://openvpn.net

A pcscd (PC / SC Smart Card Daemon) egy démon a pcsc-lite (okoskártya hozzáférési szoftver) és (java alapú) MuscleCard fejlesztői környezethez. Kommunikációt biztosít az intelligenskártya-olvasókkal és magukkal az intelligens kártyákkal.

(Az intelligens kártya egy kis áramköri kártya, amely vagy memóriamodult vagy memóriamodullal ellátott mikroprocesszort tartalmaz. A Muscle a Movement for the Use of Smart Cards in a Linux Environment rövidítése.

További információ: http://www.smartcardalliance.org, http://pcsclite.alioth.debian.org, http://www.linuxnet.com/musclecard/index.html

A portmapper démon kezeli az RPC (távoli eljáráshívás) kapcsolatokat. Az RPC programszámokat TCP / IP (vagy UDP / IP) portszámokká alakítja. A portmappert leggyakrabban az NFS és a NIS használja.

Tehát ha a rendszere NIS-től vagy NFS-től függ, ne tiltsa le a portmap démont.

További információ: http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

Ez egy postai transzfer (szállítási) ügynök. Ha a rendszer nem közvetíti az e-mail rendszert, akkor nem kell elindítania ezt a szolgáltatást.

További információ: http://www.postfix.org

Ez a démon (az útválasztó felfedező démonja) útvonalakat talál a helyi alhálózaton. A rendszer indításkor fut, hogy az alapértelmezett útvonalakat hozzáadja az útválasztási táblákhoz.

További információ: http://www.informit.com/articles/article.asp?p=23951&rl=1

helyreállít

Ez egy démon a SELinuxtól. A Restorecond figyeli a fájlok létrehozását (az /etc/selinux/restorecond.conf fájlban felsorolt ​​fájlok esetében), és biztosítja, hogy a fájlok a megfelelő fájlkörnyezettel rendelkezzenek a megadott házirendhez, valamint meghatározza az alapértelmezett SELinux fájlkörnyezetet.

Ne tiltsa le ezt a szolgáltatást. SELinuxhoz szükséges.

További információ: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com/

Ez a démon rendszeresen ellenőrzi, hogy milyen műveleteket kell végrehajtani hálózati felület Red Hat (Red Hat Network webes felület), és futtatja őket. Ezek a műveletek magukban foglalják a szoftver telepítését, eltávolítását vagy frissítését, a rendszer újraindítását, a konfigurációs fájlok telepítését és így tovább.

További információ: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd és rpcsvcgssd

Az rpcgssd és rpcsvcgssd démonok az RPC feletti biztonságot szolgálják. Az Rpcidmapd a felhasználóneveket UID- és GID-számokká konvertálja.

Ha NFS-t vagy NIS-t használ, akkor ezeknek a démonoknak futniuk kell.

További információ:

readahead_early és readahead_later

A Readahead démon biztosítja, hogy az indítási programok a használat előtt betöltődnek a memóriába, ami csökkenti a rendszerindítási időt.

saslauthd

Ez a SASL hitelesítési kiszolgáló démonja. A SASL (Simple Authentication and Security Layer) hitelesítési képességeket ad a távoli kapcsolatokon alapuló protokollokhoz.

További információ: http://asg.web.cmu.edu/sasl

levél küldés

Ez egy SMTP (Simple Mail Transfer Protocol) szerver. A Sendmail a leveleket egyik rendszerből a másikba továbbítja, vagyis egy levélszállító ügynök. Ha olyan levelezőket használ, mint a Thunderbird vagy az Evolution, akkor nem kell futtatnia a sendmailt.

További információ: http://www.sendmail.org

hibaelhárítás

Ez a SELinux problémamegoldó démon. A Setroubleshooter a SELinux egyik legnagyobb újítása a közelmúltban. A hibaelhárító valós idejű visszajelzést ad a felhasználóknak a SELInux AVC (Access Vector Cache) hibáiról. Sőt, ez a visszajelzés kényelmes formátumban történik.

További információ: https://hosted.fedoraproject.org/projects/setroubleshoot

Ez a démon figyeli a sokféle meghajtóba, például SCSI-3 merevlemezekre telepített SMART (önfelügyeleti, elemzési és jelentéskészítési technológia) érzékelők leolvasását. A démon felügyeli az ilyen eszközök normál működését, és öntesztet hajt végre. Ha hardvere támogatja a SMART technológiát, akkor el kell indítania ezt a szolgáltatást.

További információ:

spamassassin

Ez a démon az Apache SpamAssassin programot használja a levélszemét ellenőrzésére. Általában egy mail Delivery agent (MDA) kiszolgálóval együtt fut. Ha olyan kliensprogramokat használ, mint a Thunderbird vagy az Evolution a levelei eléréséhez, akkor nem kell futtatnia a spamassassint.

További információ: http://spamassassin.apache.org

Ez a nyílt ssh protokoll démonja. Az Ssh helyettesíti a nem biztonságos rsh és rlogin programokat, és titkosított kapcsolatokat biztosít a nem biztonságos hálózatokon lévő gazdagépek között. Ha nyílt interneten keresztül más rendszerekhez csatlakozik, akkor az ssh-t kell használnia, és futtassa ezt a démont.

További információ: http://www.ssh.com, http://www.openssh.com

A syslog a szabványos Linux naplózási rendszer. Ne kapcsolja ki.

További információ: http://www.syslog.org

Ez a démon a Samba csomag része. Lehetővé teszi a Windows tartomány felhasználóinak, hogy Unix-felhasználóként csatlakozzanak Unix-kiszolgálókhoz. Ezt a démont el kell indítani, ha Windows és Linux/Unix számítógépek vegyes hálózatával van dolgunk.

További információ: http://www.samba.org/samba/docs/man/Samba-...on/winbind.html, http://www.samba.org

Ez egy font szerver. Ez a démon betölti a betűkészleteket a memóriába, így a grafikus alkalmazások gyorsabban futnak, mintha a merevlemezről kellene betűkészleteket betölteni. Ezt a szolgáltatást el kell indítani a rendszeren lévő alkalmazások teljesítményének javítása érdekében.

További információ: http://linuxreviews.org/howtos/xfree/xfs

Ez a szolgáltatás a NIS-ügyfelet a NIS-tartományhoz köti. A nevében szereplő "yp" betűk a "sárga oldalakból" származnak, mivel a NIS-könyvtárak olyanok, mint a sárga oldalas telefonkönyvek. Csak akkor kell elindítania ezt a szolgáltatást, ha a rendszer NIS-t (Network Information Service) használ a felhasználói költségvetések és rendszernevek eléréséhez.

További információ: http://www.linux-nis.org

yum-updatesd

A yum-updatesd figyeli a szoftverfrissítések elérhetőségét, és e-mailben, d-buszon vagy rendszerüzenetben értesítést küld ezekről a frissítésekről, valamint automatikus frissítés TOVÁBB. A D-bus üzeneteket a "báb" segédprogram (csomagfrissítő) fogadja, amely tájékoztatja a felhasználót, hogy elérhető frissítés, és lehetővé teszi a frissítés telepítését is.

További információ: http://linux.duke.edu/projects/yum, http://www.redhat.com/magazine/024oct06/features/fc62

Köszönet ZOOL a http://www.centrlan.ru/node/17929 weboldalon található információkért

A forrás nincs megadva

Minden kezdő Linux-felhasználó előbb-utóbb problémákba ütközik rendszere üzembe helyezése és működésének megszervezése során. És minden újonc szinte biztosan hallotta a tapasztaltabb felhasználók tanácsát: "Nézd meg a naplókat." Ez a tanács jó, de egy kezdőnek még mindig tudnia kell: mik azok a rönkök és hol találhatók meg! Tehát ebben a cikkben megpróbálom elmondani, mit és hol keressen.

A programozási szlengben a "naplók" olyan munkaprotokollok, amelyeket maga az operációs rendszer és számos program önállóan karbantart. A „napló” szót gyakran a „protokoll” szó szinonimájaként használják ebben az értelemben. Két fő helyzet van, amikor szükséges a protokoll elemzése: amikor valami a rendszerben nem úgy működik, ahogy vártuk (problémamegoldás), és amikor felmerül a gyanú, hogy a rendszert valamilyen behatoló feltörte, és ez szükséges. hogy megtudja, mi történt pontosan, hogyan történt, és mit kell tenni az invázió következményeinek kezeléséhez.

Az egyik leghíresebb eset, amikor naplófájlokat használnak a támadók behatolásának észlelésére, a híres hacker, Kevin Mitnicket, Tsuomo Shimomura számítógép-biztonsági szakértő elfogásának története. Íme, egy cikk egy bekezdésből, amely leírja, hogyan történt ez.

„Karácsony napján, amikor Shimomura síelni ment Nevadába nyaralni, valaki (már tudjuk, ki) betört a kaliforniai Solana Beachen található szuperbiztonságos otthoni számítógépébe, és elkezdte másolni a fájljait – több száz titkos fájlt a San Diegóból. A Supercomputer Center, ahol Shimomura dolgozott, változásokat észlelt a rendszer „napló” (napló) fájljaiban, és gyorsan rájött, mi történik. egy tartalék számítógéphez San Diegoban. A diák felhívta Shimomurát, és hazasietett, hogy leltárt készítsen az ellopott árukról. ."

Nem fogom itt elmondani a teljes történetet, csak annyit fontos megjegyeznünk, hogy a rendszer működési protokolljainak elemzése szolgált a jogsértő cselekmények kivizsgálásának sikerének alapjául. Az ilyen vizsgálatok végrehajtásának részletesebb leírása a cikkben található. De ahhoz, hogy a naplózás eredményeit felhasználhassuk, meg kell értenünk, hogyan jönnek létre a protokollok, hol vannak tárolva és mit lehet kinyerni belőlük. Ez a cikk mindezen kérdések megvitatására szolgál.

Hogyan jönnek létre az üzenetek a protokollhoz

Kezdjük azzal a ténnyel, hogy a C nyelvű programok létrehozásakor a programozóknak lehetőségük van szükség esetén speciális függvényhívást beszúrni. openlog, setlogmask, syslogés closelog a szabványos C könyvtárban található. Ezekkel a függvényekkel üzeneteket küldhetünk bizonyos eseményekről a program végrehajtása során egy speciális rendszerdémonnak syslogd a rendszerprotokoll vezetése. Funkció openlog kapcsolatot létesít egy démonnal syslogd, funkció syslog generál egy konkrét üzenetet, amelyet a protokollba és a függvénybe kell írni closelog bezár egy nyitott linket.

A függvény által generált üzenetek syslog, több, szóközzel elválasztott mezőből áll. Minden üzenet mezővel kezdődik PRI, amely információkat kódolt a létesítmény kategóriájáról és az üzenet súlyossági szintjéről vagy prioritásáról.

A kategória (létesítmény) információ arról, hogy az adott üzenet melyik osztályba tartozik. A kategória 0-tól 23-ig terjedő számmal van kódolva. A következő kategóriák vannak (a fájlban vannak meghatározva /usr/include/sys/syslog.h):

Asztal 1.

Numerikus értékSzimbólumDekódolás
0 alávágás Kernel üzenetek
1 felhasználó Különféle üzenetek küldésére szolgál felhasználói programokból. (Üzenetek felhasználói programokból)
2 levél Üzenetek a postai rendszertől.
3 démon Azoktól a rendszerdémonoktól származó üzenetek, amelyek az FTP-vel vagy az LPR-rel ellentétben nem rendelkeznek meghatározott kategóriákkal.
4 auth Minden, ami a felhasználói jogosultsághoz kapcsolódik, például bejelentkezés és su (biztonsági / hozzáférési jogok)
5 syslog A naplózó rendszer képes üzeneteket naplózni önmagától.
6 lpr Üzenetek a nyomtatórendszertől.
7 hírek Üzenetek a hírszerverről. (Netnews, USENET)
8 uucp Üzenetek a UNIX-tól UNIX-ba másolási protokolltól. Ez a UNIX történetének része, és valószínűleg soha nem lesz rá szüksége (bár néhány levelet még mindig UUCP-n keresztül kézbesítenek).
9 cron Üzenetek a rendszerütemezőtől.
10 authpriv Ugyanaz, mint az auth, de az ebbe a kategóriába tartozó üzenetek egy olyan fájlba íródnak, amelyet csak néhány felhasználó tud elolvasni (talán ez a kategória azért van kiemelve, mert a hozzá tartozó üzenetek nyílt felhasználói jelszavakat tartalmazhatnak, amelyeket illetéktelenek nem láthatnak, és így a a naplófájloknak rendelkezniük kell a megfelelő jogosultságokkal).
11 ftp Ebben a kategóriában beállíthatja az FTP-kiszolgálót, hogy rögzítse a műveleteit.
12-től 15-ig - Rendszerhasználatra fenntartva.
16-tól 23-ighelyi0 - helyi7 A rendszergazda általi használatra fenntartott kategóriák. A local7 kategóriát általában a rendszerindítási fázis során generált üzenetekhez használják.

Kategória auth van egy elavult szinonimája Biztonság amelynek használata nem javasolt. Ezen kívül van egy speciális kategória Mark(nincs digitális megfelelője), amely a démon által generált egyedi üzenetekhez van hozzárendelve syslogd... Ez a kategória arra szolgál, hogy meghatározott időközönként (alapértelmezés szerint 20 percenként) speciális jelöléseket helyezzen el a protokollban, ami lehetővé teszi például, hogy 20 perces pontossággal tudja, ha a számítógép lefagyott.

Vegye figyelembe, hogy a kategóriának általában semmi köze a démonnak üzenetet küldő program nevéhez. syslogd... Ahogy mondani szokták, minden véletlen egybeesés. Ezenkívül egyes programok különböző kategóriájú üzeneteket generálhatnak. Például démon telnetd sikertelen naplózási kísérletek esetén kategóriaüzeneteket generál authpriv, más esetekben pedig kategorizálja a bejegyzéseit démon.

A második paraméter, amely alapján a mezőérték alakul ki PRI, az üzenet szintje vagy prioritása (prioritás), vagyis az üzenet fontossági fokára vonatkozó információ. 8 súlyossági szint van beállítva standardként (ezek szintén a fájlban vannak meghatározva /usr/include/sys/syslog.h), amelyek 0 és 7 közötti számokkal vannak kódolva:

2. táblázat.

Numerikus értékSzimbólum Dekódolás
0 emerg(régi név PÁNIK) Vészhelyzet. A rendszer nem működik.
1 éber Szorongás! Azonnali beavatkozás szükséges.
2 crit Végzetes hiba (kritikus állapot).
3 téved(régi név ERROR) Hiba üzenet.
4 Figyelem(régi név WARN)Figyelem.
5 értesítés Információk valami normális, de fontos eseményről.
6 info Közlemény.
7 hibakeresés Hibakeresés során generált üzenetek.

Terület PRI az üzenet a következőképpen alakul: a kategória számértékét megszorozzuk 8-cal, és hozzáadjuk a prioritás számértékéhez, a kapott számot szögletes zárójelek közé írjuk a mezőbe.

A mezőt követve PRI Az üzenet a következő mezőket tartalmazza:

  • IDŐBÉLYEG- üzenetképzési idő,
  • HOSTNAME- gazdagépnév vagy IP-cím decimális jelöléssel,
  • MSG- az üzenet tetszőleges szövege - valamilyen szöveges (információs) karakterlánc az US-ASCII kódban (0x20 - 0x7e).

Idő (helyi!) A következő formátumban van írva: Feb 13 21:12:06. Ha a napszám egyjegyű szám, akkor egy további szóköz kerül elé (nem 0!). Ügyeljen arra, hogy a dátumban ne szerepeljen év és zóna, amit a szervezésnél figyelembe kell venni hosszú távú tárolás naplófájlok. Annak érdekében, hogy az üzenetben szereplő idő helyes legyen, szinkronizálni kell (például az NTP protokoll használatával).

A gazdagépnév szerepel az üzenetben, hogy ne keverjük össze a különböző gazdagépektől érkező üzeneteket, mivel amint az alább látható, a naplózás a hálózat egyik dedikált számítógépén is végrehajtható. A gazdagépnév a számítógép egyszerű hálózati neve, a tartomány megadása nélkül. Ha egy számítógépen több interfész van különböző IP-címekkel, akkor ezek bármelyike ​​használható gazdagépnévként vagy címként.

Üzenet szövege ( MSG) általában tartalmaz egy címkét ( CÍMKE), amely az üzenetet kiadó programra vagy folyamatra mutat, és az üzenet törzsére ( TARTALOM). A címke latin betűket és számokat tartalmazhat. Jellemzően egy egyszerű programnevet használnak címkeként, amelyet néha egy folyamatazonosító követ, szögletes zárójelben. Az üzenet törzsét speciális karakterek választják el a címkétől – Linuxban ezek általában kettőspont és szóköz.

Syslogd üzenetkezelés

Minden üzenet létrejött egyéni programokat funkció használatával syslog aljzaton keresztül küldve / dev / log rendszerdémon syslogd ki a felelős ezen üzenetek feldolgozásáért. Azt kell mondanom, hogy valójában két naplózó démon indul a rendszeren - syslogdés klogd... Mindkét démon benne van a csomagban sysklogd, melynek legfrissebb verziója megtalálható a weboldalon.

Démon klogd felelős a rendszermagban előforduló események naplózásáért. Külön démon szükségessége klogd azzal magyarázható, hogy a kernel nem tudja használni a szabványos függvényt syslog... A helyzet az, hogy a szabványos könyvtárak (beleértve azt a könyvtárat is, amelyben a függvény található syslog) csak általános alkalmazásokhoz használhatók. Mivel a kernelnek is szüksége van hasonló funkciókra, saját könyvtárakat tartalmaz, amelyek nem érhetők el az alkalmazások számára. Ezért a kernel saját üzenetgeneráló mechanizmusát használja. Démon klogd ezen üzenetek feldolgozásának megszervezésére szolgál. Elvileg az ilyen feldolgozást teljesen függetlenül és attól függetlenül végezheti el syslogd, például úgy, hogy ezeket az üzeneteket fájlba írja, de a legtöbb esetben az alapértelmezett beállítást használják klogd ahol a kernel összes üzenete ugyanahhoz a démonhoz kerül továbbításra syslogd.

Hogy megbizonyosodjon a démonokról syslogdés klogd fut a rendszeren, futtassa a parancsot ps -ax | grep log... Ez a parancs a következő eredményt adta számomra:

$ ps -ax | grep log 569? S 0:00 syslogd -m 0 574? S 0:00 klogd -x 1013? S 0:00 bejelentkezés - kos 1191? S 0:00 kalarmd --login Az első két sor azt jelzi, hogy a naplózó démonok futnak a rendszeren.

Démonkezelési üzenetek syslogd abból áll, hogy folyamatosan figyeli az üzenetek megjelenését és minden beérkezett bejegyzést összehasonlít a fájlban lévő szabályokkal. /etc/syslog.conf... Minden szabály a fájl egy soraként van írva /etc/syslog.conf két mezőből áll. A bal oldali mező ("választó") egy vagy több sablont ad meg, amelyekkel az üzenetek kiválaszthatók. A sablonokat pontosvessző választja el (lásd lent a példafájlt /etc/syslog.conf). A jobb margó ("művelet") határozza meg a kiválasztott üzenetek feldolgozási sorrendjét. A mezőket egy vagy több szóköz vagy tabulátor választja el.

A "selector" mezőben lévő minden sablon formátuma "category.level" (vagyis "facility.priority"). A "kategória" mező értékei a következők lehetnek:

  • az 1. táblázatban felsorolt ​​kategóriák valamelyik hagyományos elnevezése,
  • több ilyen név (ebben az esetben vesszővel van elválasztva)
  • vagy a * karakter (ami azt jelenti, hogy "minden kategória").

A "szint" mező értékei a következők lehetnek:

  • a 2. táblázatban felsorolt ​​szint feltételes nevei közül,
  • * karakter (a kategória összes üzenetének rögzítése, szinttől függetlenül),
  • vagy szót egyik sem(ne rögzítsen üzeneteket ebben a kategóriában).

Egy adott érték megadása a "szint" mezőben úgy értelmeződik, mint "ennek a szintnek és afölöttinek az összes értéke". Ha csak egy szintű üzeneteket kell rögzíteni, akkor egyenlőségjelet ("=") kell tennie a megadott érték elé. Ha a jelzett kivételével minden szintű üzenetet szeretne rögzíteni, akkor a szint neve elé egy felkiáltójel ("!") kerül. E két tábla egyidejű elhelyezése úgy értelmezendő, hogy "ne rögzítsenek meghatározott szintű vagy magasabb szintű üzeneteket".

A "választó" mezőben lévő nagy- és kisbetűk nem különböznek egymástól. Használhat számokat is (lásd: /usr/include/syslog.h). Az 1. táblázatban felsorolt ​​kategóriákon kívül Mark(szokásos időbélyegek) és Biztonság(elavult szinonimája a auth). A 2. táblázatban felsorolt ​​prioritási értékeken kívül használhatja figyelmeztet(szinonimája a Figyelem), hiba(szinonimája a téved), pánik(szinonimája a emerg).

Ha a fogadott üzenet kategóriája és szintje megegyezik valamilyen karakterlánc "választó" mezőjének egyik sablonjával, syslogd feldolgozza a rekordot a sor "művelet" mezőjében megadott műveletnek megfelelően.

Az "akció" mező tartalmazhat

  • meg kell adni egy normál fájl (naplófájl) nevét és a fájl teljes elérési útját, "/" gyökérrel kezdve, és ha a megadott fájl nem létezik, syslogd létrehozza,
  • nevű cső név - FIFO; ebben az esetben egy függőleges sáv ("|") kerül a név elé, és magát a csatornát kell létrehozni az indítás előtt syslogd csapat mkfifo,
  • terminálra vagy konzolra mutat (például eszköz: / dev / tty1),
  • hivatkozás a távoli gazdagépre (előtte a @ szimbólum),
  • vagy azoknak a felhasználóknak a listája (vesszővel elválasztva), akiknek a termináljaira e szabály szerint üzenetet küldenek. A felhasználók listája helyett egy csillagot (*) helyezhet el, ami azt jelenti, hogy az üzenetek elküldésre kerülnek minden felhasználónak, aki Ebben a pillanatban rendszerben.

Leggyakrabban az "action" mező továbbra is tartalmazza a naplófájl nevét. Sőt, a fájlnév elé mínusz jelet ("-") tehet, ami azt jelenti, hogy a rendszer a gyorsítótár pufferében tárolhatja a fájlt, és nem üríti ki minden üzenet lemezre írása után. Ez természetesen felgyorsítja a munkát, különösen, ha sok nagy üzenet kerül a naplóba, de egy váratlan rendszerösszeomlás esetén, vagyis pontosan akkor, amikor az ilyen üzenetekre különösen szükség van, bizonyos üzenetek elvesztéséhez vezethet. . Az "action" mezőben eszközként is megadhat egy nyomtatót - / dev / lp0. Ezt a „cselekvés” opciót olyan esetekben célszerű alkalmazni, amikor különösen fontos rendszerekről van szó. A kinyomtatott protokollokat a hackerek nem törölhetik vagy módosíthatják, ezért ez jó haszna egy régi mátrixnyomtatónak.

A fájl szabályait tartalmazó sorok mellett /etc/syslog.conf tartalmazhat üres sorokat és #-vel kezdődő megjegyzéssorokat. További információ a fájlszerkezetről /etc/syslog.conf a syslog.conf kézikönyvoldalon olvashat néhány példát a fájl szabálybejegyzésére. Vegye figyelembe, hogy a "category.level" párok megadásakor a fájlban syslog.conf nem használhatja az 1. és 2. táblázatban megadott számértékeket, csak a konvencionális elnevezések megengedettek.

Ha egy üzenet egyezik két vagy több sor mintájával, akkor az egyes szabályok szerint kerül feldolgozásra (vagyis az üzenetfeldolgozás nem áll le az első sikernél). Ez azt jelenti, hogy egy üzenethez tetszőleges számú műveletet lehet végrehajtani. Ezért egyszerre írhat üzenetet egy naplófájlba, és elküldheti a felhasználó(k)nak vagy egy távoli gazdagépnek.

Ezen túlmenően, ha több "category.level" pár szerepel a "selector" mezőben (pontosvesszővel elválasztva), akkor a következő párok visszavonhatják az előzőek műveletét. Az alábbi fájllistában láthat egy példát az ilyen törlésre /etc/syslog.conf: Minden információval egyenlő vagy magasabb szintű üzenet a / var / log / messages fájlba kerül, de a mail, authpriv és cron kategóriájú üzenetek kimaradnak (nem íródnak).

Felsorolás 1. Fájl /etc/syslog.conf a Red Hat Linux 7.1 disztribúciós készletre épülő rendszerből (most fordítottam le oroszra az ebben a fájlban található megjegyzéseket és kiválasztottam kiemelten szabálysorok).
# Nyomtassa ki az összes üzenetet a kernelből a konzolba. # kern. * / dev / konzol# Naplózzon minden információs szintű vagy magasabb szintű üzenetet, # kivéve a bizalmas # hitelesítési üzeneteket és cron üzeneteket tartalmazó leveleket. * .info; mail.none; authpriv.none; cron.none / var / log / messages# A bizalmas hitelesítési információkat tartalmazó üzeneteket # külön fájlba írja, függetlenül azok szintjétől. authpriv. * / var / log / biztonságos# A levelezőrendszer összes üzenetét külön is rögzíteni kell. * / var / log / maillog# Naplózza a cron démon műveleteit. cron. * / var / log / cron# A vészhelyzeti üzeneteket a rendszer minden felhasználójának # azonnal meg kell kapnia * .emerg *# A hírszolgáltatástól származó, kritikus és magasabb szintű üzeneteket külön fájlba kell írni. uucp, news.crit / var / log / spooler# A rendszerindítási szakaszban megjelenő üzeneteket a boot.log fájlba kell másolni local7 * /var/log/boot.log
Amint láthatja, a legtöbb üzenet egyszerűen a könyvtárban található különféle naplófájlokba íródik / var / log vagy annak alkönyvtáraiba, és a Red Hat Linux rendszer fő naplófájlja a fájl / var / log / messages... Csak a mail, authpriv és cron kategóriájú üzenetek (amelyekhez külön fájlok vannak lefoglalva) nem szerepelnek benne. Vessünk egy pillantást erre a fájlra, és a példájával vegyük figyelembe, mi van a naplófájlokban.

Naplófájl / var / log / messages

Természetesen itt nem lehet megmondani a fájl egyes sorainak tartalmát. Annak érdekében, hogy az olvasó képet kapjon arról, milyen információk találhatók a protokollban, külön üzenetsorokat mutatunk be nagyon rövid megjegyzésekkel.

A naplófájl minden sora egyetlen üzenetrekordot tartalmaz, amely a következő üzenetmezőkből áll, szóközzel elválasztva:

  • dátum szabványos szövegformátumban (mező IDŐBÉLYEG postától syslog),
  • gazdagépnév (mező HOSTNAME postától syslog)
  • üzenet szövege (mezők CÍMKEés TARTALOM postától syslog)

Először is érdemes megjegyezni, hogy ha a számítógép nem éjjel-nappal működik, hanem éjszaka kikapcsol, akkor ebben a fájlban több „munkaciklus” bejegyzései találhatók, kezdve a számítógép indításával és a leállítással. Egy ilyen ciklus a naplózó démonok indulásáról szóló üzenettel kezdődik (ez érthető, indításuk előtt az üzeneteket nem rögzítették):

Sep 17 08:32:56 kos3 syslogd 1.4-0: újraindítás. Sep 17 08:32:56 kos3 syslog: syslogd sikerült Sep 17 08:32:56 kos3 kernel: klogd 1.4-0, naplóforrás = / proc / kmsg elindult. Sep 17 08:32:56 kos3 kernel: /boot/System.map-2.4.2-2 vizsgálata 17. szeptember 08:32:56 kos3 syslog: start klogd sikerült

  • - Melyik kernelverziót használják: Sep 17 08:32:56 kos3 kernel: Linux verzió 2.4.2-2 ( [e-mail védett]) (gcc verzió 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) # 1 V ápr. 8. 20:41:30 EDT 2001
  • - Milyen paraméterekkel indult el a kernel: Sep 17 08:32:56 kos3 kernel: Kernel parancssor: auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2
  • - Információ a processzor típusáról és a RAM mennyiségéről: Sep 17 08:32:56 kos3 kernel: 1594,849 MHz-es processzor észlelve. szeptember 17. 08:32:56 kos3 kernel: Memória: 125652k / 130560k elérhető (1365k kernel kód, 4200k fenntartva, 92k adat, 236k init, 0k highmem) Sep 17 L 08:32:56 CPUK1 koche:3 kernel:1 koche , L1 D gyorsítótár: 8K Sep 17 08:32:56 kos3 kernel: CPU: L2 cache: 256K Sep 17 08:32:56 kos3 kernel: CPU: Intel (R) Pentium (R) 4 CPU 1.60GHz stepping 02
  • - Lemezmemória információ (beleértve a lemez geometriájára, a lemezpartíció szerkezetére és a használt megszakításokra vonatkozó információkat): Sep 17 08:32:56 kos3 kernel: hda: MAXTOR 6L020J1, ATA DISK meghajtó Sep 17 08:32:56 kos3 kernel: hdc: SAMSUNG CD-ROM SC-148C, ATAPI CD/DVD-ROM meghajtó szeptember 17. 08:32:56 kos3 kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14. szeptember 17 08:32:56 kos3 kernel: ide1 at 0x177-, 0 0x376 az irq-on, szeptember 17. 15. 08:32:56 kos3 kernel: hda: 40132503 szektor (20548 MB) 1819KiB gyorsítótárral, CHS = 2498/255/63, UDMA (100) 32. rész: 08 32. rész: 5 kernel ellenőrzés: szeptember 17. 08:32:56 kos3 kernel: hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >Sep 17 08:32:56 kos3 kernel: Hajlékonylemez-meghajtó(k): fd0 1,44M
  • - Perifériás információ: Szept. 17. 08:32:56 kos3 kernel: usb-uhci.c: USB UHCI I / O 0x1820, IRQ 11 Sep 17 08:32:56 kos3 kernel: usb-uhci.c: 2 port észlelve 17 08:32:56 kos3 kernel: ttyS00 a 0x03f8-nál (irq = 4) egy 16550A szept. 17. 08:32:56 kos3 kernel: a ttyS01 a 0x02f8-nál (irq = 3) egy 16555A kernel 0x03f8-nál (irq = 4) : eth0: Intel (R) 8255x-alapú Ethernet-adapter, szeptember 17. 08:32:56 kos3 kernel: Intel (R) PRO / 100 Fast Ethernet Adapter - Betölthető illesztőprogram, 1.5.6 verzió, szeptember 17. 08:32:56 kos3 kernel: PCI: IRQ 11 található a 02-es eszközhöz: 08.0
  • - Információ az egyes szolgáltatások és szolgáltatások indításával kapcsolatban: Sep 17 08:32:56 kos3 kernel: NET4: Linux TCP / IP 1.0 for NET4.0 Sep 17 08:32:56 kos3 kernel: IP protokollok: ICMP, UDP, TCP, IGMP Sep 17 08:32:56 kos3 kernel: NET4: Unix domain sockets 1.0 / SMP for Linux NET4.0. Sep 17 08:32:56 kos3 kernel: parport0: PC-style at 0x378 (0x778) Sep 17 08:32:56 kos3 kernel: parport0: irq 7 észlelve Sep 17 08:32:42 kos3 rc.sysinit: Turning on user és csoportkvóták a helyi fájlrendszerekhez: sikerült Sep 17 08:32:43 kos3 rc.sysinit: Csereterület engedélyezése: sikeres Sep 17 08:32:44 kos3 init: Belépés a futási szintre: 3 Sep 17 08:32:45 kosdating kudzu: Fel / etc / fstab sikerült Sep 17 08:32:55 kos3 kudzu: sikerült Sep 17 08:32:55 kos3 network: Hálózati paraméterek beállítása: sikerült Sep 17 08:32:55 kos3 network: Raising interfész lo: sikerült Sep 17 08 : 32:56 kos3 hálózat: Az eth0 interfész aktiválva: sikerült Sep 17 08:32:56 kos3 keytable: Betölti a billentyűzetkiosztást: Sep 17 08:32:56 kos3 keytable: Betölti a rendszer betűtípusát: Sep 17 08:32:56 kos3 véletlenszerű : Inicializálja a véletlenszám-generátort: ​​sikerült Sep 17 08:32:41 kos3 rc.sysinit: Kernelparaméterek konfigurálása: sikerült Sep 17 08:32:41 kos3 rc.sysinit: Az alapértelmezett betűtípus beállítása (cyr-sun16): sikerült szept. 17 08:32:41 kos3 rc.sysinit: Cserepartíciók aktiválása: sikerült Sep 17 08:32:41 kos3 rc.sysinit: Hostnév beállítása kos3: sikerült Sep 17 08:33:03 kos3 xinetd: start 8 Sexp:7 sikeres 33:05 kos3 gpm: gpm indítása sikerült Szeptember 17. 08:33:05 kos3 crond: crond indítása sikerült 17. szeptember 08:33:06 kos3 xfs: figyel a 7100-as porton 17. szeptember 08:33:06 indítás xf xfs sikerült:
  • - Információk a fájlrendszerek csatlakoztatásáról: Sep 17 08:32:56 kos3 kernel: VFS: Csak olvasható root (ext2 fájlrendszer) csatolva. szept. 17. 08:32:56 kos3 kernel: Swap hozzáadása: 265032k swap-space (prioritás -1) Sep 17 08:32:56 kos3 kernel: MSDOS FS: 866. kódlap használata 17. szeptember 17. 08:32:56 MSDOS FS: : IO karakterkészlet koi8-r Sep 17 08:32:41 kos3 rc.sysinit: USB fájlrendszer csatlakoztatása: sikeres Szept 17 08:32:41 kos3 rc.sysinit: A gyökér fájlrendszer ellenőrzése sikeres volt szeptember 17. 08:32:41 kossysin3 rc. : Gyökér fájlrendszer újracsatolása írás-olvasás módban: sikerült Sep 17 08:32:41 kos3 rc.sysinit: Proc fájlrendszer beillesztése: sikeres Sep 17 08:32:41 kos3 fsck: /: tiszta, 30407/160000 fájlok, 9159270/3159270/ blokkok Sep 17 08:32:42 kos3 fsck: / HOME: tiszta, 6573/432864 files, 689090/863722 blocks Sep 17 08:32:42 kos3 fsck: / usr: tiszta, 55105/38s95p fájl 17 08:32:42 kos3 rc.sysinit: A fájlrendszerek ellenőrzése sikerült
  • - Néhány hibaüzenet jelentett: Sep 17, 08:32:42 kos3 mount: SMB kapcsolat sikertelen Sep 17 08:32:42 kos3 mount: A csomagküldés sikertelen a 10.104.129.245 címre (137) ERRNO = A hálózat nem elérhető 17. szept: 32: 08 42 kos3 mount: mount: / dev / sda4: ismeretlen eszköz Sep 17 08:32:59 kos3 mount: hiba a 192.168.36.20:139-hez való csatlakozáskor (nincs útvonal a gazdagéphez) Sep 17 08:32:59 kos3 mount: mount: / dev / sda4: ismeretlen eszköz
  • - Üzenetek a felhasználó naplózásával kapcsolatban: Sep 17 08:33:14 kos3 bejelentkezés (pam_unix): munkamenet megnyitva kos felhasználó számá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): hitelesítési hiba; logname = kos uid = 500 euid = 0 tty = ruser = rhost = felhasználó = root
  • - És végül a számítógép kikapcsolásakor rögzített üzenetek, például: Szept. 17. 10:30:07 kos3 rc: Billentyűzettábla leállítása: sikeres Szept. 17. 10:30:07 kos3 betűtípus szerver: megszűnik szeptember 17. 10:30:08 kos3 xfs: az xfs leállítása sikerült Sep 17 10:30:08 kos3 gpm: gpm leállítása sikerült Sep 17 10:30:08 kos3 xinetd: Kilépés ... Sep 17 10:30:10 kos3 rpc.statd: Elkapott jel 15 - regisztráció és kilépés. Sep 17 10:30:11 kos3 kernel: A kernel naplózása (proc) leállt. Szeptember 17. 10:30:11 kos3 kernel: Kernel log démon leáll. szept 17 10:30:12 kos3 syslog: stop klogd sikerült szept 17 10:30:12 kos3 kilépés a 15-ös jelre

    A fájlban említett más protokollfájlok bejegyzései megközelítőleg azonos szerkezetűek. /etc/syslog.conf.

    Logger és tailf parancsok

    Az előző leírásból arra következtethetünk, hogy a rendszernaplók összes üzenetének kiadását a programozónak kell beállítania a programkészítés szakaszában. Ez nem teljesen igaz. A felhasználónak lehetősége van üzenetet küldeni a démonnak syslogd... Ehhez a Linuxnak van egy parancsa favágó, amely üzenet küldését biztosítja a parancssorból (sh, bash stb.). Az util-linux csomag tartalmazza. Természetesen ez a parancs elsősorban naplózási lehetőségeket biztosít, amikor a felhasználó különféle típusú shell szkripteket hoz létre. De közvetlenül a parancssorból is elindítható, például a naplózó rendszer lehetőségeinek megismerésére. Parancsindítási formátum: naplózó [-isd] [-f fájl] [-p PRI] [-t TAG] [-u socket] A parancssori paraméterek jelentése a következő:

    • -én- tartalmazza a folyamat számát az üzenetben
    • -s- duplikált üzenet a stderr-nek
    • -d- Datagram módot használjon üzenetek küldésekor (a szokásos streaming helyett)
    • -f fájlnév- mentse az üzenetet a megadott fájlba (alapértelmezés szerint ez használatos / var / log / messages)
    • -p létesítmény.szint- állítsa be az üzenet kategóriáját és prioritását (alapértelmezés szerint: user.notice)
    • -t CÍMKE - állítsa be a TAG mezőt
    • -u aljzat- küldjön üzenetet a megadott socketre a syslogd hívása helyett
    • MSG- Üzenet szövege

    Több üzenet küldése a program segítségével favágóés csodálja meg az eredményt a fájlban / var / log / messages(kivéve persze, ha megváltoztatta az alapértelmezést).

    Egyébként van egy nagyon érdekes mód a fájlba írt üzenetek megtekintéséhez / var / log / messages csapat favágó... Ez a módszer a felhasználáson alapul speciális program farka... Nyisson meg egy terminálablakot, szerezzen szuperfelhasználói jogokat (a paranccsal su), és futtassa a parancsot ebben az ablakban
    tailf / var / log / messages
    Ezután váltson át egy másik terminálra, és futtassa ott a parancsot logger tetszőleges_szöveg... Üzenete azonnal megjelenik abban az ablakban, ahol a program fut farka... Vagyis ennek a programnak a segítségével a rendszergazda valós időben figyelheti az új üzenetek rögzítését a protokollban. Igaz, a rendszergazdának valószínűleg nem lesz ideje ily módon figyelni a rendszer viselkedését (hacsak nem vészhelyzetekben). Ezért speciális programokat fejlesztettek ki a protokollok elemzésére. De róluk egy kicsit lejjebb, de most térjünk át arra a kérdésre, hogyan lehet megszervezni egy távoli számítógép felügyeletét (emlékszel, hogyan fogtad el a támadót Shimomura?).

    Hálózati naplózás

    Mint említettük, a naplóüzeneteket egy démon is küldheti syslogd a távoli gazdagéphez. De ott valakinek el kell fogadnia. Kiderült, hogy ugyanaz a démon csinálja syslogd fut ezen a távoli gazdagépen. Pontosabban, syslogd Bármely számítógépen nem csak a / dev / log socketen tud hallgatni (ezáltal üzeneteket fogad a helyi forrásokból), hanem az 514-es / UDP porton is, amely biztosítja, hogy a helyi hálózaton lévő többi számítógépről érkező üzenetek fogadásra (majd kiírásra) kerüljenek. helyi fájlba). Ez lehetőséget ad egy "naplószerver" létrehozására, ami nagyon kényelmes lehet a rendszergazdának (a hálózat minden eseményét egy helyen figyelik), és növeli a hálózat biztonságát is, mivel a behatolásról szóló üzenetek Ez a hacker nem távolíthatja el azonnal a protokollból az egyik hálózati gazdagépre küldött hackert.

    A "hálózati naplózás" beállításához azonban további erőfeszítésekre van szükség.

    Először is, mivel az 514-es / UDP portot használják üzenetek küldésére és fogadására a hálózaton keresztül, ennek mindkét számítógépen (kliensen és szerveren) elérhetőnek kell lennie. Ehhez a fájlban / etc / szolgáltatások a vonalnak mindkét számítógépen jelen kell lennie
    syslog 514 / udp
    Ha egy ilyen sor be / etc / szolgáltatások hiányzó, syslogd nem tud sem üzeneteket fogadni, sem elküldeni a hálózatra, mert nem tud UDP portot nyitni. Ha ez a helyzet előáll, syslogd azonnal leállítja az üzenetek írását, még a helyi naplóba is. Sőt, ahogy a parancs is mutatja ps, a memóriában marad, sőt néhány pufferben is tárolja az üzeneteket, mert ha a karakterlánc " syslog 514 / udp " visszaállítás fájlban / etc / szolgáltatások a kliensen, akkor a "hiányzó" üzenetek legalább egy része továbbra is megjelenik a naplóban (újraindítás után syslogd).

    Másodszor, a démon indításakor syslogd a szervernek rendelkeznie kell ezzel a lehetőséggel -r amely távoli naplózási lehetőséget biztosít (alapértelmezés szerint a démon syslogd csak a helyi socket üzeneteire vár). Az alábbiakban, a démon indításáról szóló részben leírjuk, hogyan és hol kell ezt az opciót beállítani. syslogd.

    Nos, és harmadszor, a fájlok beállításait ennek megfelelően kell korrigálni. /etc/syslog.conf mindkét számítógépen. Például, ha az összes üzenetet át akarja irányítani a naplózó kiszolgálóra, akkor be kell írnia a kliens számítógépen lévő fájlt. /etc/syslog.conf egy ilyen sort:
    *. * @gazdanév
    Ha a démon indulása során syslogd a szerver nem lesz elérhető (például jelenleg le van választva a hálózatról), vagy nem lehet név szerint megtalálni (a DNS szolgáltatás nem működött megfelelően) syslogd további 10 kísérletet tesz a szerver megtalálására, és csak akkor, ha ezután a szerver nem található, leállítja a próbálkozásokat és küld egy megfelelő üzenetet.

    Ha hálózatának több tartománya van, amelyeket egy naplózószerver szolgál ki, akkor ne lepődjön meg, hogy a szerveren lévő napló tartalmazza a kliensek teljes nevét (beleértve a tartományt is). Igaz, induláskor syslogd opciókat használhatja -s domain_list vagy -l hostlist, amelyek biztosítják, hogy a protokoll lecserélje a teljesen minősített gazdagépneveket azok rövid nevére (tartomány megadása nélkül).

    Ne felejtse el az indítási beállítások és a fájl beállítása után /etc/syslog.conf indítsa újra a démont, mert ellentétben cron, sysklogd nem olvassa be automatikusan újra a konfigurációs fájlokat.

    A Syslogd démon indítási beállításai

    Mivel az előző alfejezetben érintettük a démon indításához szükséges paraméterek beállításának kérdését syslogd, nézzük meg közelebbről ezt a kérdést. Amint már említettük, mindkét naplózó démon a rendszer inicializálásának szakaszában indul, pontosabban egy szkripten keresztül. /etc/rc.d/init.d/syslog(amelyhez, valamint az egyéb szolgáltatásokat indító szkriptekhez szimbolikus hivatkozások jönnek létre az /etc/rc.d/rc?.d/ könyvtárban). Az indítási paraméterek beállításához azonban nem kell módosítani ezt a szkriptet, mert a Red Hat disztribúció 7.2-es verziójától kezdve mindkét démon indítási beállításai külön konfigurációs fájlból kerülnek kiolvasásra. / etc / sysconfig / syslog... Itt van egy rövid lista a démon lehetséges paramétereiről syslogd.

    Indítási paraméterek syslogd:

    • - egy aljzat- Meghatároz egy további socketet, amelyre a démon figyelni fog syslogd... Legfeljebb 19 socketet adhat meg (több is megadható, de újra kell fordítani a csomagot). Ez a beállítás akkor használatos, ha valamilyen más démon (például ftp vagy http) korlátozott környezetben fut (chroot).
    • -d- Hibakeresési mód. Ebben az esetben a démon nem megy a háttérbe, és minden üzenetet kiad az aktuális terminálnak.
    • -f konfigurációs_fájl_neve Megadja az alapértelmezett helyett használt alternatív konfigurációs fájl nevét /etc/syslog.conf.
    • -h Alapértelmezés szerint be sysklogd a hálózaton keresztül kapott üzenetek továbbítása más számítógépre tilos. Ez azért történik, hogy elkerüljük a végtelen üzenetátvitelt a gyűrű körül. A -h kapcsoló lehetővé teszi a szokásos viselkedés megváltoztatását, és annak biztosítását, hogy a távoli gazdagépektől kapott üzenetek továbbadásra kerüljenek a hálózaton (és maga gondoskodjon az esetleges hurkoltságról).
    • -l host-list- Megadja a gazdagépek listáját, amelyek nevét nem szabad a teljes domain név feltüntetésével rögzíteni (FQDN - Full Qwalified Domain Name); a listán szereplő neveket kettőspont választja el.
    • -m perc E lehetőség nélkül indult sysklogd rendszeresen (20 percenként) naplózza a kategória üzeneteit Mark, vagyis csak időbélyegek. Az opcióval -m megváltoztathatja a jelek közötti intervallumot, vagy teljesen megszakíthatja az ilyen üzenetek kiadását, amelyekhez nulla intervallumot kell beállítani: -m 0.
    • -n Ne menjen a háttérbe; erre a lehetőségre akkor van szükség, ha a syslogd elindul és egy folyamat vezérli benne.
    • -p aljzat Meghatároz egy alternatív UNIX socketet (az alapértelmezett figyelés helyett / dev / log). Figyelem: opció -a további aljzatokat határoz meg, és -o- alternatíva!
    • -rÜzenetek fogadásának engedélyezése távoli gazdagépektől. Erről az előző részben beszéltünk, így a részleteket kihagyom.
    • -s domain-list Megadja azoknak a tartományoknak a listáját, amelyek nevét nem kell naplózni a gazdagép nevével együtt (azaz ezeknél a tartományoknál a teljes képzésű tartománynév (FQDN) helyett csak a gazdagépnevek kerülnek naplózásra. A listában szereplő nevek el vannak választva. kettősponttal. Annak a tartománynak a neve, ahol a syslogd szerver található) , nem kötelező megadni ebben a listában (a neve alapértelmezés szerint eltávolítva).
    • -v Verzió megjelenítése és kilépés.
    • -x Megtiltja a gazdagép nevének cím alapján történő meghatározását, megakadályozza a holtpontot, amikor ugyanazon a gazdagépen dolgozik a DNS-kiszolgálóval.

    A démon elindítása után syslogdállapotfájl jön létre / var / lock / subsys / syslog nulla hosszúságú, és a fájl folyamatazonosítóval /var/run/syslogd.pid.

    A parancs segítségével
    kill -SIGNAL `cat / var / run / syslogd.pid`
    elküldheted démonnak syslogd az alábbi jelek egyike:

    • SIGHUP - a démon újraindítása (újrainicializálás); minden nyitott fájl bezárul, a démon elölről indul, és újra beolvassa a konfigurációs fájlját.
    • SIGTERM - leállítás.
    • SIGINT, SIGQUIT - ha a hibakeresési mód engedélyezve van (opció -d), a jeleket figyelmen kívül hagyja, ellenkező esetben - kilépés.
    • SIGUSR1 - a hibakeresési mód engedélyezése / letiltása (csak akkor működik, ha a démon a -d kapcsolóval indult).

    Démon klogd nem kevesebb indítási lehetőséggel rendelkezik, mint syslogd, de ezeket itt nem soroljuk fel, az olvasót a megfelelő man-oldalra irányítva (a felhasználó ne vegyen részt a beállításban klogd, jobb, ha ugyanabban az állapotban hagyjuk, ahogyan azt a terjesztési készlet fejlesztői előállították).

    Dmesg fájl és dmesg parancs

    Mint említettük, a fájlban hivatkozott naplófájlok /etc/syslog.confáltalában a könyvtárban található / var / logés annak alkönyvtárai. De ha belenézünk ebbe a könyvtárba, akkor több olyan fájlt is találunk ott, amelyekben /etc/syslog.conf nem említették. Vessünk egy pillantást a céljukra. És kezdjük a fájllal dmesg.

    Először is meg kell említeni, hogy a Linuxnak van egy ilyen nevű parancsa. Ha összehasonlítja ennek a parancsnak a kimenetét (amikor paraméterek nélkül fut) a fájl tartalmával / var / log / dmesg, látni fogja, hogy nagyon hasonlóak, bár nem azonosak (a parancs kimenetét a fájlba dmesg2és hasonlítsa össze a fájlokat dmesgés dmesg2). Pontosabban a fájl / var / log / dmesg egy az egyhez egybeesik a parancs által megkapott kimenet kezdetével dmesg... Ahogy a kernelből következik, van egy gyűrűs puffer, amelybe a kernelnaplózó démon üzenetei íródnak. Azok az üzenetek, amelyek a betöltési folyamat során ebbe a pufferbe íródnak, és alkotják a fájl tartalmát / var / log / dmesg... Úgy tűnik, ez a fájl a rendszerindítás végén jön létre.

    Ha újra megnézi a fenti fájllistát /etc/syslog.conf akkor látni fogja, hogy a kategória összes bejegyzése alávágás a konzolra is kiadják. De ott gyorsan átszaladnak a képernyőn, és alig van időd elolvasni és megérteni őket. De a fájlba mentve vannak / var / log / dmesgés így rendelkezésre állnak a kényelmes megértéshez (ha a letöltési folyamat sikeresen befejeződött). A rendszerindítási folyamat végén folytatódik az üzenetek írása a kernelből a körkörös pufferbe. Amikor a parancs végrehajtódik dmesg, megjelenik a puffer aktuális állapota. Ezért ennek a parancsnak a kimenete több üzenetet tartalmaz, mint a fájl / var / log / dmesg: ennek a parancsnak a kimenetében láthatjuk azokat az üzeneteket is, amelyeket a rendszermag a rendszerindítási folyamat végén ad ki.

    Az összes üzenet tőle / var / log / dmesg megtalálod a fájlban / var / log / messages, csak ott váltakoznak más programok üzeneteivel. Csak egy lényeges különbség van: a fájlban dmesg az üzenet ideje és forrása (gazdanév és üzenetkategória) nincs megadva. A gazdagép itt mindig "helyi", és a visszaszámlálás kezdetét a számítógép utolsó újraindítása határozza meg.

    Lastlog, wtmp és utmp fájlok

    A fájlon kívül dmesg a katalógusban / var / log / van még két fájl, ami nem szerepel benne /etc/syslog.conf, de közvetlenül kapcsolódik a naplózáshoz – ezek fájlok lastlogés wtmp... De rájuk nézve ugyanaz, mint az aktát néztük / var / log / messages nincs értelme - nem fogsz érteni semmit. Az a tény, hogy ezekben a fájlokban az információkat speciális formátumban rögzítik, és speciális szoftvereszközökkel kell megtekinteni. Először azonban néhány szót kell ejteni ezeknek a fájloknak a céljáról.

    Fájl lastlog információkat tárol a rendszerbe utoljára bejelentkezett felhasználóról. Nem tudom, észrevette-e, hogy a felhasználónév és jelszó megadásakor a következő üzenet jelenik meg a képernyőn:

    Localhost bejelentkezés: kos Jelszó: Utolsó bejelentkezés: Wed Oct 9 19:25:53 on tty1 Ezt a három sort a segédprogram generálja Belépés, amely a felhasználó bejelentkezési jogának megállapítása után hozzáfér a fájlhoz / var / log / lastlog, onnan lekéri az előző sikeres felhasználói bejelentkezés adatait, kinyomtatja a képernyőre, majd frissíti a bejegyzést a fájlban lastlog... Ezt az üzenetet letilthatja egy üres .hushlogin fájl létrehozásával a saját könyvtárában. Ezt azonban nem ajánlatos megtenni, ellenkezőleg, különös figyelmet kell fordítani ennek az üzenetnek a tartalmára, nehogy elmulasszák azokat az eseteket, amikor valaki más lépett be a rendszerbe az Ön neve alatt.

    A fájltól eltérően / var / log / lastlog amely az akkori feljegyzéseket tartalmazza az utolsó minden felhasználó bejelentkezési adatait a fájlban / var / log / wtmp emlékeznek minden felhasználói be- és kijelentkezések száma a fájl létrehozása óta. Mint a fájlban lastlog, bejegyzések / var / log / wtmp speciális formátumban készülnek, így csak speciális parancsokkal tekinthetők meg. Mielőtt azonban ezekről a parancsokról beszélnénk, tegyük fel, hogy van egy másik fájl, amely bejegyzéseket tartalmaz a felhasználói naplózásról – ez a fájl / var / run / utmp... Ez a fájl információkat tartalmaz arról, hogy melyik felhasználó van jelenleg bejelentkezve a rendszerbe.

    Most beszélhet arról, hogyan tekintheti meg a rendszerben jelenleg dolgozó vagy korábban dolgozó felhasználók adatait. Ennek fő parancsa a parancs utolsó... Minden rekordot kiír a fájlból / var / log / wtmp, továbbá feltüntetésre kerül a felhasználónév, a terminál megjelölése, ahonnan a felhasználó dolgozott, a felhasználó a rendszerbe való belépés és a kijelentkezés időpontja, valamint a felhasználó munkamenetének időtartama a rendszerben. Ha a felhasználó munkája csak a rendszer leállása miatt szakadt meg, akkor a felhasználó kilépési ideje helyett a „down” szó kerül alkalmazásra (ezekkel a sorokkal könnyen meghatározható a rendszerleállási idő). Az újraindítási idő külön sorokban jelenik meg az „újraindítás” szóval kezdődően.

    Csapat lastb mint egy csapat utolsó de információkat jelenít meg a sikertelen felhasználói bejelentkezési kísérletekről. Azonban meg kell jegyezni, hogy ez a parancs csak akkor működik, ha a fájl létezik. / var / log / btmp... Azonban az itt tárgyalt programok egyike sem hoz létre naplófájlt, így ha bármelyiket töröljük, akkor a rögzítés véget ér.

    Csapat lastlog formázza és kiadja a fájl tartalmát / var / log / lastlog... A mezők a felhasználónév, a terminál neve, amelyről a felhasználó bejelentkezett, valamint a rendszerbe való utolsó bejelentkezés időpontja lesz. Alapértelmezés szerint (ha a parancsot paraméterek nélkül adjuk meg) fájlelemek / var / log / lastlog a felhasználói azonosító számok sorrendjében jelennek meg. Ha megadja az -u login-name paramétert, akkor csak a megadott felhasználó utolsó bejelentkezési idejére vonatkozó információ jelenik meg. A -t days paraméter megadásával csak az utolsó napok rekordjait kapja meg. Ha a felhasználó egyáltalán nem jelentkezett be a rendszerbe, akkor a terminálnév és az utolsó bejelentkezés időpontja helyett a „** Soha nem jelentkezett be **” karakterlánc jelenik meg.

    A parancs végrehajtásakor lastlog lassú számítógépen bizonyos esetekben úgy tűnhet, hogy a parancs elakadt. Ez annak köszönhető, hogy még akkor is, ha csak két felhasználó van regisztrálva a rendszerben (root és user), a fájlban / var / log / lastlog még mindig van hely a lehető legtöbb felhasználó számára, akik dolgozhatnak a rendszeren. Ezért a fájlban / var / log / lastlog nagy eltérések lehetnek a rendszerbe bejelentkezett felhasználók azonosítószámai között. Mivel az ilyen intervallumok megtekintésekor a program nem jelenít meg információkat a képernyőn, és a „fagyás” benyomása jelenik meg.

    A rendszerben jelenleg dolgozó személyek információinak megjelenítéséhez használja a parancsokat w, kiés felhasználókat... Csapat felhasználókat akkor használatos, ha csak azt szeretné tudni, hogy a felhasználók közül melyik dolgozik éppen a rendszerben, de nem érdekli, hogy melyik terminálról csatlakozott és mit csinál. Ha tudni szeretné, hogy ki melyik terminálról jelentkezett be, használja a parancsot ki... Ez a parancs információt ad ki egy fájlból / var / run / utmp... Beállíthatja, hogy egy fájlból adja ki az adatokat / var / log / wtmp(vagy bármely más fájl, amelyhez értelme van), ha megadja a fájl nevét a parancssorban. De a kimenetben továbbra is csak a felhasználónevet látja, a terminál jelzését, amelyről a felhasználó bejelentkezett, a bejelentkezési időt, és ha egy távoli számítógépről jelentkezett be, akkor a számítógép nevét.

    A parancs lényegesen több információt jelenít meg w... A kimenetén láthatja az aktuális időt, mennyi ideig fut a rendszer, hány felhasználó dolgozik jelenleg a rendszerben és a rendszer átlagos terhelését az utolsó percben, 5 és 15 percben. Ezután minden felhasználónál kiírja:

  • Felhasználónév,
  • terminál neve,
  • távoli gazdagépnév
  • bejelentkezés óta eltelt idő,
  • az az idő, ameddig ezt a terminált nem használják (tétlen idő),
  • a terminálról indított összes folyamat által eltöltött teljes idő (JCPU grafikon),
  • az az idő, ameddig a felhasználó által elindított utolsó folyamat (PCPU grafikon) fut,
  • információ arról, hogy éppen melyik programot hajtja végre a felhasználó (parancssor formájában, amely minden paraméterrel elindítja a parancsot).

    Mint már említettük, a parancs w fájlban tárolt információkat ad ki utmp... Apropó, a kalauz Férfi kimondja, hogy a közönséges felhasználóktól meg kell tagadni az írási hozzáférést a fájlhoz utmp hiszen sokan rendszerprogramok(valamilyen megmagyarázhatatlan okból) az integritásától függ. Fennáll a veszélye, hogy összekeverik a rendszerstatisztikai fájlokat és módosítják a rendszerfájlokat, ha engedélyezi bármely felhasználó számára, hogy írjon egy utmp fájlba.

    Más programok naplófájljai

    A már leírt fájlok mellett vannak más protokollfájlok is, amelyeket külön programok hoznak létre. A legjellemzőbb példák a démonok protokolljai. szamba, ftpd vagy httpd amelyeket külön aktákban őriznek. Ezen programok némelyike ​​a könyvtár alkönyvtáraiban hozza létre protokolljait / var / log / mások máshol tartják a protokollokat. Ezen fájlok szerkezete pedig jelentősen eltérhet a rendszer által létrehozott fájlok szerkezetétől. syslog... Például adok néhány sort a szervernaplóból Apache fut a számítógépemen: 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 28" : // linux / ve / papírok / új / 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 "Mint látható, ennek a naplófájlnak a szerkezete jelentősen eltér attól, amit a rendszernaplókban láttunk.

    A Samba szerver a fő szerver működési protokollon kívül az alkönyvtárban hoz létre / var / log / samba számos naplófájl különböző esetekre, különösen külön fájl minden egyes felhasználó számára, akik jogosultak a szerver által biztosított erőforrások használatára. A következő két rekord egy ilyen fájlból származik:

    Smbd / service.c: make_connection (550) linux (192.168.36.10) csatlakozik a nyilvános szolgáltatáshoz kos felhasználóként (uid = 500, gid = 500) (pid 1366) smbd / service.c: close_cnum (550) linux (192.168). 36.10) zárt kapcsolat a nyilvános szolgáltatással Ezek a példák azt mutatják, hogy ha tud egy kicsit angolul olvasni, és érti a rekordok szerkezetét, akkor sok hasznos információt nyerhet ki a naplófájlokból. Csak a „hulladékkő” teljes lerakódásaiból kell kinyerni – hatalmas, egymást követő naplófájlokból, ami nem triviális feladat. Ezért speciális szoftvereszközöket fejlesztettek ki a protokollelemzéshez.

    Eszközök a protokollok feldolgozásához

    Számos különböző programot és szkriptet fejlesztettek ki a protokollelemzéshez. korlátozni fogom magam rövid leírás két ilyen eszköz: logóraés mintadarab.

    logóra egy Perl-szkript, amely a szabványos Red Hat Linux disztribúció része. Éppen a cikk elkészítése során jelent meg a program 4.1-es verziója a fejlesztő webhelyén (ő Kirk Bauer).

    A program fő gondolata az, hogy a naplófájl egy szűrőn halad át, amely kivonja a naplóból az összes sort (azaz üzenetet), amely megfelel egy adott feltételnek. Az eredményeket e-mailben küldik el a megadott felhasználónak (alapértelmezett a root). A szűrők bármilyen programozási nyelven írhatók, de a csomag szerzője a Perl-t részesíti előnyben. A szűrőket úgy kell megírni, hogy kiolvassák az stdin-ből származó adatokat, és az eredményt az stdout-ba adják ki.

    A használat fő módja logóra tartalmaz egy hivatkozást a fő szkriptre ( /etc/log.d/scripts/logwatch.pl) az /etc/cron.daily könyvtárba, ami a napi végrehajtást okozza logóra alapértelmezett paraméterekkel. A hivatkozás egy „00”-val kezdődő nevet kap (pl. 00-logwatch), hogy a szkript a logrotate előtt lefusson.

    De futtathatja a szkriptet a parancssorból is. Természetesen, ha nem változtatta meg az információs kimeneti paramétert, akkor a munkájának eredményét a superuser postafiókjában kell keresni. Ha ezeket az eredményeket szeretné látni a képernyőn, akkor be kell állítania a parancssori paramétert --nyomtatás- jelentést ad ki az stdoutnak.

    Általános szkriptindítási formátum:

    /etc/log.d/scripts/logwatch.pl [--részlet szint ] [--log fájl csoport-naplók ] [--szolgáltatás szolgáltatás neve ] [--print] [--mailto a cím ] [--megment Fájl név ] [--archívum] [--tartomány dátum-intervallum ]

    Az alapértelmezett paraméterek az /etc/log.d/logwatch.conf fájlban vannak tárolva, amelyek megjegyzései lehetővé teszik a parancssori paraméterek jelentésének megértését:

    • LogDir - az a könyvtár, amelyhez viszonyítva a fájlneveket figyelembe veszik;
    • MailTo – kinek küldje el a jelentést;
    • Nyomtatás – a jelentés postai úton történő elküldése helyett adja ki az stdoutnak;
    • Mentés - a jelentés levélben történő elküldése helyett mentse el a megadott fájlba;
    • Archívum - nemcsak a naplók aktuális verzióit dolgozza fel, hanem a logrotate által létrehozott régi másolatokat is;
    • Tartomány - a megadott időintervallum feldolgozása: Mind, Ma, Tegnap (tegnapi naptári nap);
    • Részletes - a jelentés részletezettségi szintje: 0-tól 10-ig vagy Alacsony, Közepes, Magas;
    • Szolgáltatás – Az összes vagy a szűrő neve az /etc/log.d/scripts/services/ fájlból (több szűrő is megadható);
    • LogFile - Az összes vagy a naplócsoport neve (több csoport is megadható).

    További információ a forgatókönyvről logóra megtalálod benne.

    Ez a cikk egy másik szkriptet ír le a naplófájlok feldolgozásához, amely a Mandrake Linux disztribúció része. Ezt a szkriptet hívják mintadarab("Simple WATCHer"), és szintén Perl nyelven íródott.

    Munkairányítás mintadarab alapértelmezés szerint egyetlen konfigurációs fájl használatával történik $ HOME / .swatchrc... Ez a fájl minta szöveget tartalmaz (reguláris kifejezés formájában). mintadarab keresni fog a naplófájlokban. Minden ilyen mintát követ egy cselekvés, amely mintadarab fel kell vennie, ha talál a mintának megfelelő szöveget.

    Előfordulhat például, hogy minden alkalommal figyelmeztetést szeretne kapni, amikor puffertúlcsordulási támadást kísérel meg webszerverén egy nagyon hosszú fájlnév miatt. És tudod, hogy ilyen esetekben a naplófájlban /var/apache/error.log egy üzenet jelenik meg a "Fájlnév túl hosszú" szavakkal. Ebben az esetben a fájlba .swatchrc a következő megjegyzést kell beilleszteni:

    Watchfor / A fájlnév túl hosszú / mail [e-mail védett], tárgy = BufferOverflow_attempt

    A programról itt nem adok részletesebb leírást. mintadarab... Lelkes cikket szenteltek neki, maga a program pedig megtalálható a honlapon. Csak azt szeretném megjegyezni, és mintadarab, és logóra egy meglehetősen primitív algoritmust valósítson meg a protokollfájlok feldolgozására, amely egy adott karakterlánc (aláírás) keresésében merül ki a protokollban. Eközben egyrészt egy ilyen vonal jelenléte gyakran még nem jelzi a behatoló behatolását, másrészt egy hozzáértő támadó gondoskodhat tevékenysége nyomainak eltüntetéséről. A vizsgált termékek másik nyilvánvaló hátránya, hogy „késleltetett üzemmódban” működnek, mivel csak ütemezetten kerülnek forgalomba. A behatolók elleni küzdelmet pedig "valós időben" kell végrehajtani, azonnal reagálva a rendszerbe való behatolási kísérletekre. Ezért a kereskedelmi termékek folyamatosan működő megfigyelőrendszereket kínálnak, és "intelligens" algoritmusokat valósítanak meg a protokollok elemzéséhez. Ezek az algoritmusok az üzenetfolyam statisztikai elemzésén és a rendszer normál viselkedésétől való statisztikailag szignifikáns eltéréseinek azonosításán alapulnak.

    A szakasz befejezéseként szeretném megjegyezni, hogy a SecurityLab.ru webhely (http://www.securitylab.ru/tools/?ID=22111) tartalmaz egy listát a protokollok feldolgozására szolgáló különféle szoftvereszközök webhelyeire mutató hivatkozásokról. ezeknek az eszközöknek a rövid leírásával. Kísérletezhet különféle programokkal, és kiválaszthatja az Önnek megfelelőt.

    Naplófájlok forgatása

    Természetesen megértheti, hogy ha a rendszert erősen használják, akkor a naplófájlok gyorsan növekednek. Ez lemezterület pazarlásával jár. És felmerül a protokollok "megszelídítésének" problémája. A Red Hat Linux szkriptekkel javítja ezt a problémát. logrotate amely a címtárban található /etc/cron.daily, és ezért a démon elindítja cron napi. Ez a szkript nem csak a rendszernaplók feldolgozását teszi lehetővé syslog, hanem bármilyen más program is.

    Forgatókönyv logrotate figyeli a naplófájlok növekedését, és biztosítja ezeknek a fájlok úgynevezett rotációját, ha azok meghaladták a megadott méretet (vagy a megadott időintervallum lejárta után). Az elforgatás nem más, mint az archív fájlok korábbi verzióinak szekvenciális másolása, valami ilyesmi:

  • üzenetek.2 -> üzenetek.3
  • üzenetek.1 -> üzenetek.2
  • üzenetek.0 -> üzenetek.1
  • üzenetek -> üzenetek.0
    és új üzenetfájl létrehozása a következő üzenetek rögzítéséhez.

    A szkript által feldolgozandó fájlok listája logrotateés ennek a feldolgozásnak a paramétereit konfigurációs fájlok határozzák meg, amelyekből több is lehet. A konfigurációs fájlok neveit a szkript indításakor a parancssorban állítjuk be (az indítási paramétereket lásd alább). Red Hat Linux rendszeren az alapértelmezett konfigurációs fájlok a következőhöz: logrotate használt fájl /etc/logrotate.conf, ami valahogy így nézhet ki:

    Heti rotáció 4 létrehozása tömörítés: /etc/logrotate.d / var / log / wtmp / var / log / lastlog (havi létrehozás 0664 root utmp rotate 1)

    Ez a fájl olyan, mint a szkript bármely konfigurációs fájlja. logrotate több részből áll. Az első szakasz globális paramétereket határoz meg (soronként egyet), amelyek beállítják az összes napló alapértelmezett paramétereit. A következő szakaszok helyi paramétereket határoznak meg egy sor naplófájlhoz. Ezen fájlok nevei a szakasz első sorában vannak felsorolva, majd a helyi paraméterek kapcsos zárójelben vannak beállítva, amelyek csak a megadott fájlok feldolgozásakor érvényesek (soronként egy paraméter is). A naplófájlok neveit a shell szabályok idézhetik, ha szóközt vagy más speciális karaktert tartalmaznak. Több fájlnevet vagy fájlnév-mintát is megadhat szóközzel elválasztva (a minták a shell-szabályokat is követik). Az egyes szakaszok feldolgozását egyetlen műveletként kezeljük. A „#” karakterrel kezdődő sorok megjegyzések. A helyi paraméterek elsőbbséget élveznek a globális paraméterekkel szemben.

    A konfigurációs fájl adott példájában először a globális paramétereket írjuk le, majd egy külön részben a / var / log / wtmp és / var / log / lastlog fájlok feldolgozásához szükséges paramétereket. Ezenkívül a globális paraméterek között a címtárra mutató hivatkozás található /etc/logrotate.d, amelybe minden csomag helyi paramétereket ír a naplóihoz.

    A globális paraméterek részben mindenekelőtt a következő paraméterek egyike van megadva, amely meghatározza a fájl elforgatásának kritériumát:

  • napi- a sorozat verzióváltása naponta történik,
  • heti- verzióváltás hetente történik,
  • havi- verzióváltás havonta történik,
  • méret byte - verzióváltás történik, ha a napló mérete meghaladta a megadott bájtszámot; használhatja a "k" - kilobyte - és az "M" - megabájt utótagokat)

  • és paraméter tartalmazza ezt követi egy másik (további) konfigurációs fájl vagy akár egy könyvtár neve. Ez utóbbi esetben a megadott könyvtárban található összes fájl, kivéve az alkönyvtárakat, a speciális fájlokat és a kizárások listájából származó utótagokat tartalmazó fájlokat, a szkript konfigurációs fájljának minősül. logrotate(irányelv tartalmazza nem használható olyan szakaszban, amely fájlcsoport feldolgozási paramétereit adja meg).

    Paraméter forog szám megtalálható mind a globális, mind a lokális paraméterek között, és meghatározza, hogy hány régi verziót kell megtartani; ha a szám 0, akkor a protokoll archivált verziói nem jönnek létre.

    Ha a paraméter be van állítva borogatás akkor a régi verziók tömörítése gzip használatával történik, és ha meg van adva tömörítés nélkül- nem zsugorodnak. Paraméter tömörítéscmd lehetővé teszi annak megadását, hogy melyik tömörítőprogramot használja (alapértelmezés szerint a gzip), és kitömöríteni cmd beállítja a kicsomagoló programot (alapértelmezés szerint az ungzip). tömörítési opciók beállítja a tömörítő program paramétereit; az alapértelmezett "-9", azaz. maximális tömörítés a gzip számára. A paraméter használatával tömörítve módosíthatja a tömörített fájlok utótagját és a paramétert kiterjesztés utótag Megadja az utótagot, amelyet a fájlnevekhez kell hozzáadni az elforgatás során (a tömörítési utótag előtt).

    A konfigurációs fájlokban található kulcsszavak között a szavak utólagos forgatásés előforgatni amelyek nyitott zárójelként szolgálnak a shell szkriptek konfigurációs fájlokba való beillesztéséhez. A konfigurációs fájl összes sora sorból utólagos forgatás a vonalhoz végirat shell-parancsként futnak le a naplófájl verziójának módosítása után. Ennek megfelelően az összes sor a sorból előforgatni a vonalhoz végirat a naplófájlok elforgatása előtt hajtódnak végre. Ezeknek a szkripteknek a segítségével különféle eljárásokat szervezhet a naplófájlok feldolgozására a forgatás során.

    A konfigurációs fájl egyéb paramétereivel felülírhatja a naplófájlok hozzáférési jogait (ha ez a paraméter nincs megadva, a régi naplófájl attribútumai kerülnek felhasználásra); jelezze, hogy kinek küldjön üzenetet a naplózó rendszer működésében fellépő hibákról; elküldi a napló archív másolatát a megadott felhasználónak; állítsa be azt a könyvtárat, ahová a protokollok átkerülnek a verzióváltás során (a könyvtárnak ugyanott kell lennie fizikai eszköz mint / var / log), vagy adja meg a kizáró utótagok listáját a könyvtárhoz tartalmazza... Ezeknek a szolgáltatásoknak és paramétereknek (valamint a nem említettek) részletes leírása a parancs alatt található ember logrotate.

    Mint már említettük, további konfigurációs fájlok logrotate a szkript indításának parancssorában adható meg. Tetszőleges számú nevet megadhat a konfigurációs fájlok vagy könyvtárak számára. A listában szereplő fájlok és könyvtárak nevei egyszerűen szóközzel vannak elválasztva. A listában a nevek sorrendje azért fontos, mert az alábbi konfigurációs fájlban megadott paraméterek felülírják a listában megadott paraméterek értékeit. előző fájl... A konfigurációs könyvtárban lévő fájlok sorrendje nincs meghatározva.

    Ezenkívül a következő paraméterek adhatók meg az indítási parancssorban:

    • -d- hibakeresési mód, nem történik valódi változtatás,
    • -f- módosítani akkor is, ha logrotate nem látja szükségét - akkor használatos, ha a feldolgozott naplók listájában változás történik,
    • férfi logóra
    • Mick Bauer, "Paranoid Penguin: Swatch: Automated Log Monitoring for the Vigilant but Lazy"
    • RFC 3164. C. Lonvick, The BSD Syslog Protocol, 2001. augusztus.
    • RFC 3195. D. New, M. Rose, Reliable Delivery for syslog, 2001. november.
    • Per. S. Lapshansky, "A démon figyeli a rendszert"
    • Denis Kolisnichenko,

    A syslog protokoll és a támogató szoftver biztosítja, hogy az eseményinformációk a rendszernaplóba (naplók, rendszerkonzol) kerüljenek beírásra, valamint a hálózaton keresztül a naplózószerverre továbbíthatók, az üzenetek forrásától és súlyosságától függően rendezve és feldolgozva. Ez a cikk ismerteti a syslog protokollt, annak Solaris és Linux (syslogd), Cisco IOS rendszerben való megvalósítását, valamint a kiegészítő eszközöket: logrotate, logwatch.

    A rendszerelemek egy üzenetgenerátor (eszköz vagy folyamat), egy csereprotokoll, egy üzenetgyűjtő (gyűjtő, syslog szerver), közvetítők (továbbító, fogadja az üzeneteket egy vagy több generátortól és továbbítja egy vagy több gyűjtőnek vagy következő közvetítőnek). A generátor (illetve adás közben relé) nem tudja, hogy a vevő relé vagy gyűjtő, egy üzenetet több vevőnek is továbbíthat, magát az üzenetet tudja feldolgozni (például fájlba írással).

    A syslog protokoll nem nyújt védelmet az üzenethamisítás ellen. Még rosszabb, az UDP protokoll használata lehetővé teszi a támadók számára, hogy üzeneteket küldjenek bármely gazdagép nevében. A helyi hálózatot képernyővel (IOS ACL, ipchains) kell védeni a hamis helyi címekkel rendelkező csomagok fogadásától (bár ez nem akadályozza meg a hamis üzenetek küldését a helyi hálózaton belülről), valamint a csomagok kívülről az 514-es / udp porton történő fogadását. Ismertek olyan esetek, amikor a lemez túlcsordul hamis üzenetekkel.

    A syslog protokoll és az UDP nem biztosít garantált kézbesítést (az üzenetek a hálózat torlódása során elveszhetnek vagy elfoghatók, a sérült üzenetek figyelmeztetés nélkül törlődnek), a megfelelő kézbesítési sorrendet (a folyamat végéről szóló üzenet az indulásáról szóló üzenet elé kerülhet) , elsőbbségi kézbesítés.

    Az üzeneteket nem kezeljük bizalmasan, mivel tiszta szövegben továbbítják.

    Ha az üzenetgenerátor konfigurálásakor rossz címet ad meg a gyűjtő vagy relé címét, akkor nem lesz hibaüzenet - az üzenetek törlődnek (vagy valaki más naplójába íródnak;).

    Az üzenetek hibásan konfigurált relék általi hurkolt átvitele ellen nem biztosítanak védelmi eszközöket.

    Az RFC 3195 új protokollt javasol a TCP-n keresztül (syslog-conn, 601), hogy biztosítsa a megfelelő sorrendben történő kézbesítést. A megvalósítás számomra nem ismert. XML, SMTP-stílusú parancsok és visszatérési kódok, valamint MIME-fejlécek (BEEP) szörnyű keveréke szabványos rendszernapló-üzenetekben. Két mód van használatban: RAW (az aktuális UDP protokoll analógja) és COOKED (az üzenetek mezők szerint vannak strukturálva). A BEEP lehetővé teszi a hitelesítést, az integritást és a titkosságot (SASL, TLS).

    A syslog-sign RFC tervezet hitelesítést, rendezést, üzenetintegritást és hiányzó üzenetek észlelését javasolja speciális üzenetek generálásával, amelyek korábbi üzenetek blokkjának digitális aláírását tartalmazzák, megőrizve a szabványos syslog protokollt és formátumot, valamint UDP használatával. SHA1, OpenPGP DSA használja.

    Az 514-es port / UDP üzenetek fogadására szolgál. Szintén ajánlott az 514-es forrásport használata az üzenetküldéshez. Az üzenet egy szöveges karakterlánc, és nem lehet hosszabb 1024 bájtnál, ellenkező esetben csonkolható vagy akár el is dobható. Még az 514-es portra küldött hibásan formázott üzenetet is rendszernapló-üzenetnek kell tekinteni. Ha azonban a relé továbbadja az üzenetet, akkor szabványos fejléceket kell hozzáadnia hozzá (egyidejűleg, esetleg 1024 bájtra vágva) - FELHASZNÁLÓ, MEGJEGYZÉS, a helyi idő és az üzenetforrás egyszerű neve.

    Az üzenet egy PRI mezővel kezdődik, amely kódolta az üzenet létesítményét és súlyossági szintjét. Ezt követi az idő (TIMESTAMP), a szóköz, a gazdagépnév vagy IP-cím decimális jelöléssel (HOSTNAME), szóköz, tetszőleges üzenetszöveg (MSG) US-ASCII-ben (0x20 - 0x7e).

    A gazdagépnév (egyszerű, nem FQDN!) az üzenetgenerátor által ismert módon van írva. Ha az eszköznek több különböző IP-című interfésze van, akkor ezek bármelyike ​​használható gazdagépnévként vagy címként.

    Az üzenetszöveg (MSG) általában tartalmaz egy címkét (TAG), amely azonosítja az üzenetet kiadó programot vagy folyamatot és az üzenet törzsét (CONTENT). A címke latin betűket és számokat tartalmazhat. Az üzenettörzs elejét az első speciális karakter azonosítja, általában kettőspont vagy nyitó szögletes zárójel. Például a Cisco IOS egy szekvenciális üzenetszámot, majd kettőspontot használ címkeként, a Unix pedig egy egyszerű programnevet (az üzenet törzse szögletes zárójelben lévő folyamatszámmal és kettősponttal kezdődik).

    syslogdüzeneteket fogad az 514-es portról / UDP és helyi forrásokból (socket / dev / log), az üzenetek forrásától és a súlyossági szinttől függően továbbítja azokat. Lehetővé teszi üzenetek kiadását a naplóba, kimenetet a konzolra, terminálra, elküldést egy másik szerverre. Egy további MARK forrástípus kerül bevezetésre (normál jegyek, információ)

    A napló minden sora egyetlen üzenetrekordot tartalmaz, amely szóközzel elválasztott mezőkből áll:

    • dátum szabványos szöveges formátumban (TIMESTAMP mező a rendszernaplóból)
    • gazdagépnév (fqdn vagy rövidítés, HOSTNAME mező a rendszernapló üzenetéből)
    • üzenet szövege (TAG és CONTENT mezők a syslog üzenetből)

    Indítási paraméterek:

    • -a kiegészítő-hallgató-aljzat (hasznos a chrootot végző démonoknál; több is lehet)
    • -d(hibakeresési mód)
    • -f config-file-name (alapértelmezett, /etc/syslog.conf)
    • -h(módosítsa azt a szokásos viselkedést, amely szerint a távoli gépektől kapott üzeneteket a rendszer nem továbbítja a távoli gazdagépnek való írásra, hogy elkerülje a hurkot)
    • -l host-list (azon gazdagépek listája, amelyek nevét nem szabad FQDN-ként írni; kettősponttal elválasztva)
    • -m percek (intervallum a szokásos ideiglenes felvételeknél; alapértelmezés szerint - 20; ha 0, akkor egyáltalán ne tegye)
    • -n
    • -o hallgató-aljzat (alapértelmezett: / dev / log)
    • -r(engedélyezze az üzenetek fogadását távoli gépektől; a tűzfalnak kissé nyitva kell lennie; az 514 / udp rendszernaplóját az / etc / services fájlban kell megadni)
    • -s domain-lista (a megadott tartományok neveit távolítsa el a gazdagépnevekről; kettősponttal elválasztva; alapértelmezés szerint a rendszernaplószerver tartományának megfelelő tartomány csonkolva van)
    • -v
    • -x(tiltja a gazdagépnév cím alapján történő meghatározását, megakadályozza a holtpontot, ha ugyanazon a gazdagépen dolgozik a DNS-kiszolgálóval)

    Felhasznált fájlok:

    • /etc/syslog.conf- konfigurációs fájl (az indításkor paraméter szerint módosult -f)
    • / dev / log- socket, ahonnan a helyi üzenetek olvasásra kerülnek (az indításkor paraméter szerint módosítva -o)
    • /var/run/syslogd.pid- folyamatazonosító

    Reakció a jelekre:

    • SIGHUP - újrainicializálás (bezár minden fájlt, újra beolvassa a konfigurációs fájlt)
    • SIGTERM - leállítás
    • SIGINT, SIGQUIT - kilépés, ha a hibakeresés le van tiltva
    • SIGUSR1 - a hibakeresés engedélyezése / letiltása (csak a -d kapcsoló használata esetén)

    Rootként fut. Nem változtatja meg a fájl jogosultságait. Ha egy fájl létrehozására kényszerítik, azt 644 jogosultsággal teszi meg, ha korlátozni kell a naplóhoz való hozzáférést, akkor a megfelelő fájlt manuálisan kell létrehozni (vagy módosítani kell a jogosultságokat). Különleges problémákat okoz logrotate.

    Ez az üzenettovábbítási szabályok halmaza. Minden szabály egy választóból és egy műveletből áll, amelyeket tabulátorok (Solaris 5 régebbi rendszereken) vagy szóközök (Linux) választanak el. Miután megkapta a naplózandó üzenetet (a klogd-ből, egy helyi vagy távoli programból), a syslogd minden szabálynál ellenőrzi, hogy az üzenet megfelel-e a választó által megadott mintának. Adott esetben a szabályban meghatározott művelet végrehajtásra kerül. Egy üzenethez m. tetszőleges számú műveletet hajtottak végre (azaz az üzenetfeldolgozás nem áll le az első sikernél).

    A választó két részből áll, amelyeket egy pont választ el: az üzenet forrása és a súlyosság. A kis- és nagybetűk ugyanazok. Használhat számokat is (lásd: /usr/include/syslog.h). A syslog.3-ban meghatározott forrásokon kívül megadhatja Mark(szokásos időbélyegek) Biztonság(elavult szinonimája a auth). A syslog.h-ban meghatározott súlyossági szinteken kívül használhatja figyelmeztet(szinonimája a Figyelem), hiba(szinonimája a téved), pánik(szinonimája a emerg). Érvényesnek tekintendők azok az üzenetek, amelyeknek a szintje megegyezik a választóban megadott szinttel vagy magasabb, és a forrás megegyezik a választóban megadottal. A pont előtti csillag bármely forrásnak, egy pont után bármely szintnek megfelel. Szó egyik sem pont után - nincs szint az adott forráshoz. Egy választóban több forrást is megadhat (vesszővel elválasztva). Egy sorban több választó is megadható. A szemantika nem egyértelmű: ha pozitív szelektorokat használunk, akkor a logikai VAGY ha negatív ( egyik semés egy felkiáltójel), majd a logikai ÉS.

    Az új syslogd-ban (linux) a szint előtt egyenlőségjel szerepelhet - csak a megadott szintű (de nem a legmagasabb) üzenetek felelnek meg a választónak; felkiáltójel - az egyenlő vagy nagyobb szintű üzenetek nem egyeznek; felkiáltójel és egyenlő nem egyezik meg a megadott szinttel megegyező szintű üzenetekkel.

    Műveletként megadhatja:

    • normál fájlnév (a gyökér teljes elérési útja), a név előtti mínusz letiltja a rekordok szinkronizálását
    • elnevezett csatornák - fifo (a név elé függőleges vonal kerül), magának a csatornának kell lennie létrehozva a syslogd mkfifo paranccsal történő elindítása előtt
    • terminál vagy konzol
    • @hostname (üzenetek küldése távoli naplózáshoz)
    • azon felhasználók listája (vesszővel elválasztva), akiknek a termináljára az üzenet elküldésre kerül
    • egy csillag, amely üzenetet küld az összes terminálra (fal)

    Konfig fájl elemzésekor syslogdösszehasonlítja a címet loghost(az / etc / hosts-ban definiálva, nem DNS-en keresztül) a számítógép címével, és ha egyezik, meghatározza a változót LOGHOST... A syslog.conf ezután átkerül az m4 (1) makróprocesszoron. Alapvetően ez arra szolgál, hogy ugyanazt a konfigurációs fájlt lehessen használni a kliens és a szerver (rendszernapló szempontjából) gazdagépen.

    Indítási és leállítási eljárás: /etc/init.d/syslog(hivatkozások az /etc/rc?.d könyvtárból). A folyamatszámot a rendszer tárolja /etc/syslog.pid.

    A klogd beolvassa a kernel üzeneteit (akár a / proc / kmsg-n keresztül, akár a rendszerhívásokon keresztül), meghatározza a szintet, lefordítja a parancscímeket programnevekre, és üzenetet küld a syslogd-nek.

    Indítási paraméterek:

    • -c szint(az ilyen szintű és kevésbé súlyos üzenetek a syslogba kerülnek, a komolyabbak pedig a konzolra; alapértelmezés szerint - 7; 0 nem adható meg)
    • -d(hibakeresési mód)
    • -f Fájl név (jelentkezzen be a megadott fájlba a syslog helyett)
    • -én(a modul szimbólumainak újratöltése a már futó klogd-ben, minden alkalommal használni kell, amikor egy modult betöltenek vagy kiraknak; remélhetőleg az insmod, rmmod és modprobe jelenlegi verziói maguk is ezt teszik)
    • -ÉN(újratölti a kernel és a modul szimbólumait a már futó klogd-ben)
    • -k Fájl név (Használja a megadott fájlt kernelszimbólum-táblaként ahelyett /boot/System.map)
    • -n(ne menjen a háttérbe; az initből kell futni)
    • -o(egyszeri mód - naplózza a kernel pufferében felhalmozott összes üzenetet, és lépjen ki)
    • -o(csak abban az esetben töltse be újra a modulszimbólum táblát a címfordításkor - lehet, hogy a kernel nem tudja ezt megtenni)
    • -s(csak rendszerhívásokat használjon, és ne menjen a / proc / kmsg címre, hogy megkapja az eredeti üzeneteket)
    • -v(változat és befejezés megjelenítése)
    • -x(ne alakítsa át a címeket névvé)
    • -2 (A kernel összeomlási üzenetei - Hoppá! - kétszer jelennek meg: a címek névvé alakítása előtt - ksymoops esetén - és utána)

    Kernel üzenetszintek (a szögletes zárójelben lévő szám határozza meg, és a rendszernapló súlyosságára konvertálva, változatlan a fájlkimeneten):

    • KERN_EMERG - 0 (a rendszer nem használható)
    • KERN_ALERT - 1 (azonnal intézkedni kell)
    • KERN_CRIT - 2 (kritikus feltételek)
    • KERN_ERR - 3 (hibaállapotok)
    • KERN_WARNING – 4 (figyelmeztetési feltételek)
    • KERN_NOTICE – 5 (normál, de jelentős állapot)
    • KERN_INFO - 6 (tájékoztató jellegű)
    • KERN_DEBUG - 7 (hibakeresési szintű üzenetek)

    Reakció a jelekre:

    • SIGINT, SIGKILL, SIGTERM és SIGHUP - leállítás
    • SIGTSTP - naplózás leállítása
    • SIGCONT - önéletrajz, esetleg másik választása
    • üzenetek forrása (/ proc / kmsg vagy rendszerhívások)
    • SIGUSR1 - Modulok szimbólumainak újratöltése
    • SIGUSR2 - A kernel és a modul szimbólumainak újratöltése

    A folyamatszámot a rendszer tárolja /var/run/klogd.pid.

    Napló inicializálása: openlog- az összes következő üzenethez hozzáadott szabványos előtag feltüntetésre kerül (általában a program neve, a folyamat száma szögletes zárójelben és kettőspont); forrás és opciók. closelog- a fakitermelés befejezése. syslog- naplózás (meghatározza a karakterlánc forrását, súlyosságát és formátumát, mint a printf-ben).

    logrotate(3.2-1 / 3.3.2-1 / 3.5.9 verzió) - Küzdelem a növekvő naplók ellen: forgatás (verzió), tömörítés, törlés és postázás. Naponta fut a cron ( /etc/cron.daily/logrotate), és lehetővé teszi a naplók feldolgozását, ha azok meghaladják a megadott méretet vagy a megadott időintervallumban. Lehetővé teszi nemcsak a syslog naplók feldolgozását, hanem bármely más program feldolgozását is. Paraméterek:

    • [-d](hibakeresési mód, nem történik valódi változtatás)
    • [-f](Módosítások végrehajtása akkor is, ha a logrotate nem látja szükségét - a feldolgozott naplók listájának módosítása esetén használatos)
    • [-s állapotfájlnév ] (a naplók aktuális állapota ebben a fájlban tárolódik a futtatások között, alapértelmezés szerint - /var/lib/logrotate.status)
    • konfigurációs fájlnevek (a nevek szóközzel elválasztva; a sorrend számít; ha meg van adva egy könyvtárnév, akkor minden benne lévő fájl konfigurációs fájlnak minősül; RH fájlt használ /etc/logrotate.confés címtár /etc/logrotate.d)

    A konfigurációs fájl globális paramétereket határoz meg (soronként egyet), amelyek beállítják az összes napló alapértelmezett paramétereit. Minden feldolgozott naplóköteghez helyi paraméterek vannak megadva: az alap fájlnév, majd a helyi paraméterek kapcsos zárójelben, soronként egy. A fájlnevet a shell-szabályok idézhetik, ha szóközt vagy más speciális karaktereket tartalmaznak. Több fájlnevet vagy fájlnév-mintát is megadhat szóközzel elválasztva (a minták a shell-szabályokat is követik). Az egyes szakaszok feldolgozását egyetlen műveletként kezeljük. A „#” karakterrel kezdődő sorok megjegyzések. A következő konfigurációs fájlban megadott paraméterek felülírják az előző fájlban megadott paraméterek értékeit. A helyi paraméterek elsőbbséget élveznek a globális paraméterekkel szemben. A konfigurációs könyvtárban lévő fájlok sorrendje nincs meghatározva.

    Paraméterek:

    • borogatás | tömörítés nélkül(a régebbi verziók tömörítve vannak, vagy nincsenek tömörítve a gzip segítségével)
    • tömörítéscmd(beállítja a tömörítő programot, alapértelmezés szerint a gzip)
    • kitömöríteni cmd(beállítja a kicsomagoló programot, alapértelmezés szerint - ungzip)
    • tömörítve(beállítja a tömörített fájlok utótagját)
    • tömörítési opciók(beállítja a tömörítő program paramétereit; az alapértelmezett "-9", azaz a gzip maximális tömörítése)
    • másoláscsonkítás | nocopytruncate(általában a régi verziót átnevezzük, és létrejön a napló új verziója; ha ez a paraméter be van állítva, a logrotate a naplót egy új fájlba másolja, majd levágja a régit; akkor használatos, ha a naplót létrehozó program nem tudja bezárni; rekordok készültek a másolás és a csonkítás között elvesznek; De vajon segít-e, ha a naplót létrehozó program az append mód helyett egyszerűen egy belső mutató segítségével ír egy fájlba?)
    • létrehozni [ hozzáférési jogok tulajdonos csoport] | nocreate(közvetlenül a napló régi verziójának átnevezése után és hívás előtt utólagos forgatásúj napló jön létre a megadott attribútumokkal - az engedélyek oktálisan vannak beállítva, mint a chmod.2-ben; ha az attribútumok nincsenek megadva, akkor a régi naplóból származnak)
    • napi(a sorozat verzióváltása naponta történik)
    • késleltetett tömörítés | nodelaycompress(egyes programok nem zárják be azonnal a naplót, ilyenkor a tömörítést el kell halasztani a következő ciklusra)
    • hibákat email (kinek kell hibajelentést küldeni)
    • kiterjesztés utótag (beállítja a fájlnevekhez hozzáadott utótagot a tömörítési utótag előtti forgatáskor)
    • ha üres | értesítést üresen(változatok módosítása akkor is, ha a fájl üres; ez az alapértelmezett)
    • tartalmazza Fájl név | könyvtárnév (Szöveges helyettesítés egy fájl vagy az összes fájl a megadott könyvtárból; alkönyvtárak, speciális fájlok és utótagokkal rendelkező fájlok a kizárások listájából nem szerepelnek; szakaszon belül nem használhatók)
    • levél a cím | nomail(ha a verzióváltás szükségessé teszi a régi napló törlését, majd elküldését a megadott címre)
    • mailfirst(ne a folyóirat törölt változatát küldje el, hanem az elsőt)
    • maillast(a napló törölt verziójának elküldése; ez az alapértelmezett)
    • hiányzó | nomissingok(ne küldjön hibaüzenetet, ha a napló hiányzik)
    • havi(a verzióváltás havonta történik)
    • olddir Könyvtár | noolddir(a verzióváltás során a napló átkerül a megadott könyvtárba; ugyanazon a fizikai eszközön kell lennie)
    • utólagos forgatás végirat shell parancsként futnak le a frissítési folyamat után)
    • előforgatni(minden további sor a sorig végirat a frissítési folyamat előtt végrehajtódnak)
    • forog szám (hány régi verziót kell megtartani; ha 0, akkor egyet sem)
    • méret byte (Verzióváltás történik, ha a napló mérete meghaladja a megadott számot; használhatja a "k" - kilobájt - és az "M" - megabájt utótagokat)
    • megosztott szkriptek | nosharedscripts(parancsok végrehajtása előforgatniés utólagos forgatás szakaszban leírt összes fájl esetében csak egyszer)
    • tabuext [+ ] utótag-lista (meghatározva az utótag kivételeinek listáját a tartalmazza; ha a pluszjel meg van adva, akkor összeadás, egyébként csere; alapértékek: .rpmorig, .rpmsave, .rpmnew, ", v", .swp és "~")
    • heti(a verzióváltás hetente történik)

    Szállításban RH /etc/logrotate.conf leírja a / var / log / wtmp és / var / log / lastlog globális paramétereit és paramétereit, és hivatkozik a könyvtárra /etc/logrotate.d, amelybe minden csomag helyi paramétereket ír a naplóihoz.

    A logwatch egy olyan keretrendszer, amely programokat (úgynevezett szűrőket) ír, hogy hasznos információkat nyerjen ki számos nagy és változatos naplóból (nem csak a syslogból). A "csomag" számos Red Hat Linuxra tervezett szűrőt tartalmaz (valami ősi verzió, mivel az xinetd helyett az inetd-t említik), de ezeket Önnek kell adaptálnia egy adott helyzethez. Az utolsó változtatást 2000 szeptemberében hajtotta végre a szerző, így nem kell várni a további fejlesztésekre.

    A szűrők bármilyen programozási nyelven írhatók, de a csomag szerzője a perl-t részesíti előnyben. A szűrőket úgy kell megírni, hogy kiolvassák az stdin-ből származó adatokat, és az eredményt az stdout-ba adják ki. A szűrő meghívása előtt be kell állítani a környezeti változókat: LOGWATCH_DATE_RANGE, LOGWATCH_DETAIL_LEVEL, LOGWATCH_TEMP_DIR, LOGWATCH_DEBUG. A fő program is perl-ben van írva: /etc/log.d/scripts/logwatch.pl(Az /etc/log.d/logwatch, / usr / sbin / logwatch és /etc/cron.daily/00-logwatch szimbolikus hivatkozások rá).

    Könyvtár /etc/log.d/conf/logfiles/ naplócsoportok konfigurációs fájljait tartalmazza, amelyekben a karbantartott szolgáltatások rekordjai tárolódnak. Minden csoport leírása külön fájlban található csoport név.conf, amelyben a következők vannak beállítva:

    • LogFile = a naplót vagy névmintát tartalmazó fájl neve; több név vagy minta megadható; nevek m. a LogDir-hez képest
    • Archívum = a napló archivált változatának logrotate-ja által létrehozott fájl neve vagy egy elnevezési minta; több név vagy minta megadható; nevek m. a LogDir-hez képest
    • szűrők nevei ( csak egyszer, bár a másik látható!) tól től /etc/log.d/scripts/shared/ mint
      *szűrőnév = paramétereket , például a napló dátum szerinti szűréséhez, ha az a szabványos syslog formátumban van írva, használja a következő sort:
      * ApplyStdDate =

    Könyvtár /etc/log.d/conf/services/ azon szolgáltatások konfigurációs fájljait tartalmazza, amelyek naplóbejegyzéseit a logwatch feldolgozza. Minden szolgáltatás leírása külön fájlban található szolgáltatás neve.conf, amelyben a következők vannak beállítva:

    • LogFile = naplócsoport neve
    • szűrőnevek innen /etc/log.d/scripts/shared/ mint
      *szűrőnév = paramétereket a szervizszűrő előtt
    • $környezeti változó neve = jelentése

    Könyvtár /etc/log.d/scripts/logfiles/ szűrőket tartalmaz a naplócsoportok feldolgozásához: naplócsoportok feldolgozásakor a könyvtárban lévő összes fájl /etc/log.d/scripts/logfiles/ csoport név szűrőként használják.

    Könyvtár /etc/log.d/scripts/services/ szűrőket tartalmaz adott szolgáltatások rekordjainak feldolgozásához.

    Könyvtár /etc/log.d/scripts/shared/ a naplócsoport konfigurációs fájljaiban használt általános szűrőket tartalmazza:

    • applystddate - szűri a naplót a kívánt dátum szerint, ha az syslog formátumban van írva (itt és a privát szűréseknél dátum szerint írd be a LANG = hívás dátuma elé, ellenkező esetben a Mar semmilyen módon nem esik egybe a Mar-al;)
    • expandrepeat - az "utolsó üzenet ismétlése" sorokat az előző sor megfelelő számú üzenetsorává alakítja
    • onlycontains - csak azokat a naplósorokat hagyja meg, amelyek a megadott karakterláncot tartalmazzák (idézőjeleket teszek a "$ *" köré)
    • onlyservice - syslog formátumban kivonja a naplóból a megadott szolgáltatáshoz kapcsolódó sorokat (a szolgáltatás neve paraméterként kerül átadásra)
    • Remove - csak azokat a naplósorokat hagyja meg syslog formátumban, amelyek nem tartalmazzák a megadott sort ( Idézőjeleket tettem a "$ *" köré, és megtettem az remove1, remove2 stb. mivel nem értettem, hogyan lehet több almintát megadni az egrep-hez egy sorban; egyébként a paraméterek be vannak cserélve a shellbe, így speciális karakterek sem használhatók)
    • Removeheaders – távolítsa el a szabványos mezőket (dátum, idő, gazdagépnév, szolgáltatáscímke és folyamatszám)
    • removeservice - syslog formátumban kivonja a naplóból azokat a sorokat, amelyek nem kapcsolódnak a megadott szolgáltatáshoz (a szolgáltatás neve paraméterként kerül átadásra)

    Az alapértelmezett paraméterek az /etc/log.d/conf/logwatch.conf fájlban tárolódnak (az /etc/log.d/logwatch.conf szimbolikus hivatkozással rendelkezik rá), a megjegyzések segítségével megértheti a paraméterek:

    • LogDir - az a könyvtár, amelyhez képest a fájlneveket figyelembe veszi
    • MailTo – kinek küldje el a jelentést
    • Nyomtatás – ahelyett, hogy postai úton küldene jelentést, adja ki az stdoutnak
    • Mentés – ahelyett, hogy postai úton küldené el a jelentést, a megadott fájlba menti
    • Archívumok – használja a logrotate által generált naplók verzióit
    • Tartomány – figyelembe vett időintervallum: Mind, Ma, Tegnap (tegnapi naptári nap)
    • Részletes - a jelentés részletezettségi szintje: 0-tól 10-ig vagy Alacsony, Közepes, Magas
    • Szolgáltatás – Az összes vagy a szűrő neve a /etc/log.d/scripts/services/ könyvtárból (több szűrő is megadható)
    • Naplófájl - Az összes vagy a naplócsoport neve (több csoport is megadható)

    Indítási paraméterek:

    • --Részlet szint (a jelentés részletessége: magas, közepes vagy alacsony)
    • --log fájl csoport-naplók (csak ennek a csoportnak a naplóit dolgozza fel; a csoport szimbolikus névvel van megadva a konfigurációs fájlban; több csoport is megadható)
    • --szolgáltatás szolgáltatás neve (csak azokat a bejegyzéseket dolgozza fel a naplókban, amelyek ehhez a szolgáltatáshoz kapcsolódnak; a szolgáltatás szimbolikus névvel van megadva a konfigurációs fájlban; több szolgáltatás is megadható; név Minden hívási rekordok feldolgozása minden szolgáltatásnál)
    • --nyomtatás(jelentés az stdout-nak)
    • --mailto a cím (jelentés küldése a megadott címre)
    • --megment Fájl név (írja a jelentést a megadott fájlba)
    • --levéltár(nem csak a naplók aktuális verzióit dolgozza fel, hanem a logrotate által létrehozott régi másolatokat is)
    • --hatótávolság dátum-intervallum (csak azokat a bejegyzéseket dolgozza fel a naplókban, amelyek az adott időintervallumra vonatkoznak: Tegnap, Ma, Minden)

    A fő használat egy 00-logwatch fájl (00-tól kezdődően, hogy a logrotate előtt fusson) az /etc/cron.daily könyvtárba, ami miatt a logwatch naponta fut az alapértelmezett beállításokkal.

    Sajnos az összes szűrőt úgy tervezték, hogy a naplók ugyanazon a gazdagépen legyenek írva, amelyen a szolgáltatás fut.

    Az összes naplót egy számítógépen tárolja (ha paranoiás hajlamai vannak, egyszerre két szerveren rögzítheti a naplókat).

    A forrás formális neve és a valódi eszköz vagy program közötti megfelelés:

    • helyi0 - Cisco
    • local3 - ftp (van egy speciális forrásnév, de a Solaris 2.5 nem ismeri)
    • local4 - könyvelésre van fenntartva
    • local5 - POP3 / IMAP
    • local6 - tac_plus>

    Az 514-es / udp port képernyőjének nyitva kell lennie a szerveren (korlátozhatja a csomagok forráscímét, de ez csak a baleseteken segít). A syslogd indítását (a /etc/rc.d/init.d/syslog vagy / etc / sysconfig / syslog paraméterei) a "-r -m 0" billentyűkkel kell elindítani (és a "-x" billentyűkkel is, ha ugyanaz a számítógép DNS-kiszolgáló futtatása). Indítsa el a klogd-ot a "-2 -c 1" kapcsolókkal. Syslog.conf beállítása:

    • * .crit - a CRIT és magasabb súlyosságú üzeneteket a terminálokra kell küldeni, és külön fájlba kell írni (chmod 600), az üzeneteket a tartalék szerverre kell küldeni; A sendmail kritikusnak tekinti a levélfogadási problémákról szóló üzeneteket
    • kern - kern fájl létrehozása az üzenetek minden szintjéhez (chmod 600)
    • mail - levélfájl létrehozása minden szintű üzenethez (nincs szinkronizálás)
    • auth, authpriv – hozzon létre egy biztonságos fájlt minden szintű üzenethez (chmod 600)
    • hírek - a hírkönyvtárban hozzon létre külön fájlt minden súlyossági szinthez (hibakeresés szinkronizálás nélkül)
    • cron - hozzon létre egy cron fájlt minden szintű üzenethez (a cron az RH 6.2-ben és a Solaris 2.5-ben nem használhat syslog-ot)
    • local0 - hozzon létre egy külön fájlt minden egyes súlyossági szinthez a cisco könyvtárban (hiba és alul szinkronizálás nélkül)
    • local3 - az ftp könyvtárban hozzon létre külön fájlt minden súlyossági szinthez (információ és hibakeresés szinkronizálás nélkül)
    • local5 - imap.log fájl létrehozása minden szintű üzenethez
    • local6 – hozzon létre egy tac_plus.log fájlt minden szintű üzenethez
    • local7 - boot.log fájl (üzenetek a rendszer indításakor, valamint a syslogd és a klogd elindul vagy leáll)
    • minden INFO szintű és magasabb szintű üzenet, amely nem került be a fent definiált fájlok egyikébe, írja be az üzenetfájlba (chmod 600)

    Az ügyfélszámítógépeken úgy állítsa be a syslog-ot, hogy az összes üzenet a rendszernapló-kiszolgálóra kerüljön, a hibaüzenetek a / var / log / syslog mappában, a kritikus állapotüzenetek pedig a konzolon és a felhasználói terminálokon duplikálódjanak. A linuxos gépeken a rendszerindító üzenetek a helyi fájlba (local7, boot.log) is kiírhatók. A biztonsági mentési rendszernapló-kiszolgálónak fogadnia kell a kritikus üzeneteket a hálózatról, és fájlba kell írnia (lyuk a képernyőn, "-r" indítókapcsoló).

    logrotate: örökre megőrzi, verziókat a lehető legritkábban módosítani (havonta, kivéve a squid), kiíratni külön könyvtárakba (kivéve squid) és tömöríteni (késleltetett módban, kivéve ftpd, linuxconf, sendfax), hibákat és törölt fájlokat küldeni nekem. A syslog paramétereinek egyezése.

    A fájlnév elé egy csőszimbólumot (|) helyezve lehetővé teszi a használatát fifo (első be - első ki, először jött – először jött ki) vagy nevű csőüzenetek fogadójaként. A syslogd elindítása (vagy újraindítása) előtt létre kell hoznia egy fifo-t az mkfifo paranccsal. Néha a fifókat hibakeresési célokra használják.

    Terminál és konzol

    Terminál, például / dev / console.

    Távoli gép

    Ha üzeneteket szeretne továbbítani egy másik gazdagépnek, írja be a gazdagép nevét egy @ szimbólummal. Vegye figyelembe, hogy az üzeneteket a rendszer nem továbbítja a fogadó gazdagéptől. (hogy ez a hozzárendelés működjön a fájlban lévő kliensen és szerveren / etc / szolgáltatások a sort le kell írni syslog 514 / udpés az 514-es UTP-port nyitva van)

    a felhasználók listája

    Az üzeneteket fogadó felhasználók vesszővel elválasztott listája (ha a felhasználó be van jelentkezve). Ez gyakran magában foglalja a root felhasználót is.

    Minden regisztrált felhasználó

    Az összes regisztrált felhasználó fali paranccsal történő értesítéséhez használja a csillag (*) szimbólumot.

    Példa egy egyszerű syslog.conf:

    # Az összes kernelüzenet kiírása a konzolra. # kern * / dev / console # Minden napló információs szinten vagy magasabb szinten, kivéve az e-mail üzeneteket, és # nem naplózza a hitelesítési üzeneteket és a cron démon üzeneteket! * .info; mail.none; authpriv.none; cron.none / var / log / messages # A bizalmas hitelesítési információkat tartalmazó üzeneteket szinttől függetlenül egy külön fájlba írja. authpriv * / var / log / secure # A levelezőrendszer összes üzenetét külön fájlba kell írni. * - / var / log / maillog # Ütemező üzenetek naplózása a / var / log / cron cron címre * / var / log / cron # A sürgősségi üzeneteket azonnal meg kell kapni # minden rendszerfelhasználó * .emerg * # Üzenetek mentése hírei Krit szint és magasabb egy külön fájlba. uucp, news.crit / var / log / spooler # Indító üzenetek mentése a boot.log local7 fájlba. * /var/log/boot.log

    Sok konfigurációs fájlhoz hasonlóan a szintaxis a következő:

    • a # karakterrel kezdődő sorokat és az üres sorokat figyelmen kívül hagyja.
    • A * szimbólum az összes kategória vagy az összes prioritás jelzésére használható.
    • A none speciális kulcsszó azt jelzi, hogy ehhez a művelethez nem kell naplózni ebben a kategóriában.
    • A fájlnév előtti kötőjel (mint ebben a példában a / var / log / maillog) azt jelzi, hogy a naplót nem kell minden bejegyzés után szinkronizálni. A rendszer összeomlása esetén információkat veszíthet, de a szinkronizálás letiltása javítja a teljesítményt.

    A konfigurációs fájl szintaxisában a prioritás elé helyezheti jel! jelezni, hogy a műveletet nem szabad alkalmazni, erről a szintről és feljebb... Hasonlóképpen elsőbbséget lehet adni jel = jelezni, hogy a szabály csak arra a szintre vonatkozik, vagy != jelezni, hogy a szabály minden szintre vonatkozik, kivéve ezt az egyet. Néhány példa az alábbiakban látható (sok más példa is megtalálható a man syslog.conf fájlban):

    # Küldje el az összes kernel üzenetet a / var / log / kernel címre. # Minden kritikus és magasabb szintű üzenet küldése a távoli sysloger gépnek és a konzolnak # Küldje el az összes információt, figyelmeztetést és figyelmeztető üzenetet a / var / log / kernel-info # kern címre * / Var / log / kernel kern.crit @sysloger kern .crit / dev / console kern.info; kern.! err / var / log / kernel-info # Minden levelezőrendszer-üzenet elküldése, kivéve a / var / log / mail információs szintjét. mail. *; mail.! = info / var / log / mail

    Megpróbáltam a diagramon a lehető legvilágosabban bemutatni a syslogd működését:

    A syslogd démon indítása

    A naplózó démon a rendszer inicializálásának szakaszában indul el egy parancsfájl segítségével /etc/rc.d/init.d/syslog azonban az indítási paraméterek beállításához nem kell módosítani ezt a szkriptet - a 7.2-es verziótól kezdve az indítási beállítások egy külön konfigurációs fájlból kerülnek kiolvasásra / etc / sysconfig / syslog (/ etc / default / syslogdebianban).

    Íme néhány lehetséges syslogd démon indítási beállításai:

    • -a / mappa / aljzat- további hallgatási aljzat megadása (először ne felejtsen el létrehozni egy socketet)
    • -d- hibakeresési mód. Ebben az esetben a démon nem megy a háttérbe, és minden üzenetet elküld az aktuális terminálnak;
    • -f config-file-name... Megadja az alapértelmezett /etc/syslog.conf helyett használandó alternatív konfigurációs fájl nevét;
    • -l host-list- azon gazdagépek listájának beállítása, amelyek nevét nem szabad rögzíteni a teljes tartománynév feltüntetésével (FQDN - Full Qwalified Domain Name);
    • -m perc- Az opció nélkül elindított sysklogd 20 percenként naplózza a mark kategória üzeneteit (időbélyegek). Az -m kapcsoló használatával módosíthatja a jelek közötti intervallumot, vagy teljesen megszakíthatja az ilyen üzenetek kiadását;
    • -p aljzat- alternatív UNIX socket beállítása (az alapértelmezett / dev / log hallgatás helyett);
    • -r- engedély üzenetek fogadására távoli gépektől;
    • -x- a hosztnév cím alapján történő meghatározásának tilalma a lefagyás elkerülése érdekében, amikor ugyanazon a gazdagépen dolgozik a DNS-kiszolgálóval.
    • -v- a verzió megjelenítése és a munka befejezése

    A syslogd démon elindítása után egy állapotfájl jön létre / var / lock / subsys / syslog nulla hosszúságú, és a fájl folyamatazonosítóval /var/run/syslogd.pid.

    A parancs segítségével
    kill -SIGNAL `cat / var / run / syslogd.pid`

    lehet küldeni a syslogd démonhoz az alábbi jelek egyike: SÓGOTT- a démon újraindítása; SIGTERM- a munka befejezése; SIGUSR1- a hibakeresési mód engedélyezése / letiltása.

    Valójában két naplózó démon fut a rendszeren - syslogdés klogd... Mindkét démon benne van a csomagban sysklogd.

    A klogd démon felelős az események naplózásáért a rendszer magja... Külön klogd démonra azért van szükség, mert a kernel nem tudja használni a szabványos syslog függvényt. A lényeg az, hogy a szabványos C-könyvtárak (beleértve a syslog függvényt tartalmazó könyvtárat is) csak használatra szolgálnak. hagyományos alkalmazások... Mivel a kernelnek naplózási funkcióra is szüksége van, saját könyvtárakat tartalmaz, amelyek nem érhetők el az alkalmazások számára. Ezért a kernel saját üzenetgeneráló mechanizmusát használja.

    A klogd démon ezen üzenetek feldolgozásának megszervezésére szolgál. Ezt a feldolgozást elvileg teljesen függetlenül és a syslogd-től függetlenül is meg tudja csinálni, például úgy, hogy ezeket az üzeneteket fájlba írja, de a legtöbb esetben az alapértelmezett klogd beállítást használják, ami a kernelből minden üzenetet ugyanahhoz a syslogd démonhoz küld.

    A naplók automatikus forgatása (teljes fájlok frissítése) és archiválása

    Idővel a naplófájl növekszik, különösen bármely szolgáltatás intenzív munkája esetén. Ennek megfelelően ellenőrizni kell a rönkök méretét. Ez azzal történik logrotate parancsokat amit általában meg is tesznek cron démon... A cron munkájáról a következő cikkekben fogok beszélni. a fő cél logrotate parancsokat a naplók rendszeres biztonsági mentése és új tiszta naplók létrehozása. A naplók több generációja megmarad, és amikor az utolsó generációs napló eléri a lejárati dátumát, archiválható (tömöríthető). Az eredményt például postai úton lehet eljuttatni az archívum kezeléséért felelős személyhez.

    A naplók forgatási és archiválási sorrendjének meghatározásához használja konfigurációs fájl /etc/logrotate.conf ... Különböző folyóiratoknál eltérő gyakoriságot állíthat be, például napi, heti vagy havi gyakoriságot, ezen kívül beállíthatja a felhalmozott generációk számát, valamint megadhatja, hogy az archívum másolatai kerüljenek-e a karbantartásért felelős személyhez. archívum, és ha igen, mikor. Lásd alább példa /etc/logrotate.conf fájl:

    # az "alapértelmezett" paraméterek (globális beállítások) kerülnek először beállításra # a naplófájlok frissítése hetente # az elmúlt 4 hét naplóinak archívumának megőrzése forgatás 4 # új (üres) fájl létrehozása elforgatás után (frissítés) létrehozás # megjegyzés visszavonása, ha szeretnéd, hogy a mentett fájlokat tömörítsék # tömörítés # engedélyezze a rotációs beállításokat a megadott könyvtárból: /etc/logrotate.d # ne tárolja a wtmp-t vagy a btmp-t - a naplóadatok elforgatási beállításai a következők: / var / log / wtmp (missingok havi létrehozás 0664 root utmp rotate 1) / var / log / btmp (missingok havi létrehozás 0664 root utmp rotate 1) # specifikus rendszernaplók konfigurálhatók alább

    A globális opciók az elejére kerülnek logrotate.conf fájl... Alapértelmezés szerint akkor használatosak, ha máshol semmi konkrétabb nincs megadva. A példában a naplók forgatása történik hetiés a biztonsági másolatokat a négy hétig. Amint a napló elforgatásra kerül, automatikusan új jön létre a régi napló helyett. Logrotate.conf fájl tartalmazhat más fájlokból származó specifikációkat. Tehát tartalmazza a könyvtár összes fájlját /etc/logrotate.d.

    Ez a példa speciális szabályokat is tartalmaz a / var / log / wtmpés / var / log / btmp(információk tárolása a rendszerbe való sikeres és sikertelen bejelentkezési kísérletekről), amelyeket havonta váltanak. Ha a fájlok hiányoznak, nem jelenik meg hibaüzenet. Létrejön egy új fájl, és csak egy biztonsági másolat kerül mentésre.

    Ebben a példában, amikor a biztonsági másolat eléri a legújabb generációt, törlődik, mert nincs meghatározva, hogy mi legyen vele.

    Biztonsági mentések naplózása akkor is előállítható, ha a naplók elérnek egy bizonyos méretet, és parancskészletekből is előállíthatók a parancsfájlok, amelyeket a mentési művelet előtt vagy után kell végrehajtani. Példa:

    / var / log / messages (forgasd el 5-öt [e-mail védett] méret 100k postrotate / usr / bin / killall -HUP syslogd endscript)

    Ebben a példában a forgatás / var / log / messages akkor jön létre, ha eléri a 100 KB-ot. Öt biztonsági másolat halmozódik fel, és amikor a legrégebbi biztonsági másolat lejár, a rendszer a következő címre küldi el [e-mail védett] A postrotate parancsszó lehetővé teszi a szkript számára, hogy HUP jel küldésével újraindítsa a syslogd démont, miután a forgatás befejeződött. Az endscript parancsszó szükséges a szkript leállításához, és akkor is, ha elérhető az előforgató szkript. További információkért tekintse meg a logrotate kézikönyvoldalait.

    Paraméterek megadva a konfigurációs fájlban logrotate.conf:

    • borogatás| tömörítés nélkül(a régebbi verziók tömörítve vannak, vagy nincsenek tömörítve a gzip segítségével)
    • tömörítéscmd(beállítja a tömörítő programot, alapértelmezés szerint a gzip)
    • kitömöríteni cmd(beállítja a kicsomagoló programot, alapértelmezés szerint - ungzip)
    • tömörítve(beállítja a tömörített fájlok utótagját)
    • tömörítési opciók(beállítja a tömörítő program paramétereit; az alapértelmezett "-9", azaz a gzip maximális tömörítése)
    • másoláscsonkítás| nocopytruncate(általában a régi verziót átnevezzük, és létrejön a napló új verziója; ha ez a paraméter be van állítva, a logrotate egy új fájlba másolja a naplót, majd csonkolja a régit; akkor használatos, ha a naplót létrehozó program nem tudja bezárni; a másolás és a csonkítás közötti rekordok elvesznek; de segít, ha a naplót létrehozó program a hozzáfűzés helyett egyszerűen egy belső mutató segítségével ír egy fájlba?)
    • teremt[engedélytulajdonosok csoportja] | nocreate(közvetlenül a napló régi verziójának átnevezése után és a postrotate meghívása előtt egy új napló jön létre a megadott attribútumokkal - az engedélyek oktálisan vannak beállítva, mint a chmod.2-ben; ha nincs megadva attribútum, akkor a régiből veszik folyóirat)
    • napi(a sorozat verzióváltása naponta történik)
    • késleltetett tömörítés| nodelaycompress(egyes programok nem zárják be azonnal a naplót, ilyenkor a tömörítést el kell halasztani a következő ciklusra)
    • hibákatemail(kinek kell hibajelentést küldeni)
    • kiterjesztésutótag(beállítja a fájlnevekhez hozzáadott utótagot a tömörítési utótag előtti forgatáskor)
    • ha üres| értesítést üresen(változatok módosítása akkor is, ha a fájl üres; ez az alapértelmezett)
    • tartalmazzaFájl név| könyvtárnév (szöveges helyettesítés egy fájl vagy az összes fájl a megadott könyvtárból; alkönyvtárak, speciális fájlok és utótagokkal rendelkező fájlok a kizárások listájából nem szerepelnek; szakaszon belül nem használhatók)
    • levéla cím| nomail(ha a verzióváltás szükségessé teszi a régi napló törlését, majd elküldését a megadott címre)
    • mailfirst(ne a folyóirat törölt változatát küldje el, hanem az elsőt)
    • maillast(a napló törölt verziójának elküldése; ez az alapértelmezett)
    • hiányzó| nomissingok(ne küldjön hibaüzenetet, ha a napló hiányzik)
    • havi(a verzióváltás havonta történik)
    • olddirKönyvtár| noolddir(a verzióváltás során a napló átkerül a megadott könyvtárba; ugyanazon a fizikai eszközön kell lennie)
    • utólagos forgatás(minden további sor az endscript sorig shell-parancsként fut le a verzióváltási folyamat után)
    • előforgatni(az endscript sorig minden további sor végrehajtásra kerül a verzióváltási folyamat előtt)
    • forogszám(hány régi verziót kell megtartani; ha 0, akkor egyet sem)
    • méretbyte(Verzióváltás történik, ha a napló mérete meghaladja a megadott számot; használhatja a "k" - kilobájt - és az "M" - megabájt utótagokat)
    • megosztott szkriptek| nosharedscripts(A prerotate és postrotate parancsokat csak egyszer hajtsa végre a szakaszban leírt összes fájlhoz)
    • tabuext[+] utótag-lista(az include utótag-kizárások listájának megadása; ha a pluszjel meg van adva, akkor összeadás, egyébként csere; alapértelmezés szerint: .rpmorig, .rpmsave, .rpmnew, ", v", .swp és "~")
    • heti(a verzióváltás hetente történik)

    A naplók feltárása és megfigyelése

    A naplóbejegyzések általában tartalmaznak egy időbélyeget, azt a gazdagépnevet, amelyen a leírt folyamat fut, és a folyamat nevét. Naplók megtekintése használhat oldalszámozó programot, pl. Kevésbé, akkor kereshet meghatározott bejegyzéseket (például kernel üzeneteket egy adott démontól) a paranccsal grep:

    # less / var / log / messages # grep "ppp" / var / log / messages | farok december 17. 16:34:25 proxy pppd: A kapcsolat megszakadt. Dec 17 16:34:25 proxy pppd: Kilépés. december 17. 16:35:57 proxy pppd: az LCP-t a peer (^ P] kV ^ @ leállítja

    Előfordulhat, hogy a számítógép nem működik folyamatosan, és kikapcsol, mondjuk éjszaka. Ezért a / var / log / üzenetek rekordjai ciklikusan tárolódnak a számítógép indításától a leállításig, ez látható az üzenetekből:

    december 17. 08:32:56 syslog-server syslogd 1.4-0: újraindítás. December 17. 08:32:56 syslog-server syslog: syslogd sikeresen Dec 17 08:32:56 syslog-server kernel: klogd 1.4-0, naplóforrás = / proc / kmsg elindult. december 17. 08:32:56 syslog-server syslog: a klogd indítása sikerült

    december 17. 08:32:56 syslog-server kernel: Kernel parancssora: auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2 Dec 17 08:32:56 syslog-server kernel: Memória: 125652k / 130560k elérhető (1365k kernel kód, 4200k fenntartva, 92k adat, 236k init, 0k highmem) December 17. 08:32:56 syslog-szerver kernel: CPU: Intel (R) Pentium Step 1.40 CPUz (R) 60 CPU

    Ezenkívül ebben a fájlban információkat találhat a lemezmemóriáról (beleértve a lemez geometriájára, a partíció szerkezetére és a használt megszakításokra vonatkozó információkat), információkat a perifériás eszközökről, az egyes szolgáltatások és szolgáltatások elindításáról, információkat a fájlrendszerek csatlakoztatásáról és a felhasználói bejelentkezésről szóló üzeneteket. hibaüzenetként.

    Néha szükséges lehet figyelő rendszernaplók aktuális események kereséséhez. Például megpróbálhat elkapni egy ritka eseményt abban a pillanatban, amikor az megtörtént. Ebben az esetben használhatja a parancsot farok opcióval -f a syslog tartalmának nyomon követéséhez. Példa:

    # tail -f / var / log / messages | grep syslog-server december 17. 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 Dec 17 16:46:09 syslog-server pppd: Script / etc / ppp kész (pid 12552), állapot = 0x0 december 17. 16:46:49 syslog-server pptpd: CTRL: Kliens 85.175.197.65 vezérlőkapcsolat elindult december 17. 16:46:49 syslog-server pptpd: hívás indítása (CTRL, pptpd indítása nyitás GRE) December 17. 16:46:49 syslog-server pppd: /usr/lib/pptpd/pptpd-logwtmp.so beépülő modul betöltve.

    Az /etc/syslog.conf fájlban megadott naplófájlokon kívül vannak más fájlok is, például olyan fájl, amely a syslogd elindítása előtt információkat tárol a rendszerindítási folyamatról, valamint olyan fájlok, amelyek bináris formátumúak és információkat tárolnak. az utolsó bejegyzés felhasználói bejelentkezéséről, az összes sikeres felhasználói bejelentkezésről és az összes sikertelen felhasználói bejelentkezésről, ill. Ezenkívül a / var / log / könyvtár tartalmazhatja démonok, például webszerverek vagy proxyszerverek naplófájljait. A fájlok formátuma hasonló a syslogd naplókhoz.

    Végül szeretném hangsúlyozni, hogy ez a protokoll nem túl biztonságos, tk. A syslog nem tartalmaz semmilyen védelmet az üzenethamisítás ellen. Ami még rosszabb, az UDP használata lehetővé teszi a támadók számára, hogy üzeneteket küldjenek bármely gazdagép nevében. A helyi hálózatot meg kell szűrni a hamis helyi címekkel rendelkező csomagok fogadása ellen (bár ez nem akadályozza meg, hogy hamis üzeneteket küldjön a helyi hálózaton belülről), valamint a csomagok fogadása kívülről az 514-es / udp porton. Ismertek olyan esetek, amikor a lemez túlcsordul hamis üzenetekkel.

    A syslog protokoll és az UDP nem biztosít garantált kézbesítést (az üzenetek a hálózat torlódása során elveszhetnek vagy elfoghatók, a sérült üzenetek figyelmeztetés nélkül törlődnek), a megfelelő kézbesítési sorrendet (a folyamat végéről szóló üzenet az indulásáról szóló üzenet elé kerülhet) , elsőbbségi kézbesítés.

    Az üzeneteket nem kezeljük bizalmasan, mivel tiszta szövegben továbbítják.

    Ha az üzenetgenerátor konfigurálásakor rossz címet ad meg a gyűjtő vagy relé címét, akkor nem lesz hibaüzenet - az üzenetek törlődnek (vagy valaki más naplójába íródnak).

    Számos projektet javasoltak a syslog protokoll javítására. Az RFC 3195 például egy TCP-alapú naplózási rendszert (syslog-conn) javasol az üzenetek megfelelő sorrendben történő kézbesítésének biztosítására. A syslog-sign projekt hitelesítést, rendezést, üzenetintegritást és hiányzó üzenetek észlelését javasolja speciális üzenetek generálásával, amelyek a korábbi üzenetek blokkjának digitális aláírását tartalmazzák, miközben fenntartják a szabványos syslog protokollt és formátumot, valamint UDP-t használnak.

    Összefoglaljuk:

    A Linuxnak egyetlen démonja van, amely felelős az események naplózásáért a helyi rendszeren és a távoli rendszereken. Minden esemény a / dev / log socketből, az 514-es UDP portból, valamint a "segítőből" - a klogd démonból, amely üzeneteket küld a kernelből. Az összes összegyűjtött üzenetet a syslogd démon szűri az /etc/syslog.conf fájl szabályai alapján, és a szabályoknak megfelelően továbbítja a megfelelő célhelyekre. A naplófájlokat időszakonként „csonkolják”. A gyakoriságot a logrotate.conf fájl és a logrotate parancs határozza meg, amelyet a rendszerütemező - cron futtat.

    Ez minden mára. Remélem mindent a lehető legvilágosabban leírtam. Idővel kiegészítem a cikket!

    Üdvözlettel, Mc.Sim!

    SZERGEJ SUPRUNOV

    FreeBSD tippek: syslog használata

    - Elnézést elvtársak, minden mozdulatot felírtam!

    – Az iroda ír – mondta Ostap.

    I. Ilf, E. Petrov "12 szék".

    Minden rendszer, és mindenekelőtt a szerver munkájának naplózása az adminisztráció egyik legfontosabb összetevője. Először is a naplófájlokban nézünk meg, amikor valamilyen probléma van a rendszerben. Innen megbizonyosodhatunk arról, hogy ez vagy az a program az elvárásoknak megfelelően működik. A webalkalmazások fejlesztése során a naplófájl válik a legfontosabb hibakeresési információforrássá. A rendszerinformációk naplózásáért felelős syslog démon szolgáltatásairól lesz szó.

    Mi az a syslog

    A Syslog egy központosított szolgáltatás, amely összegyűjti és rögzíti a különböző operációs rendszer-összetevőkből és felhasználói folyamatokból származó naplóinformációkat. A harmadik féltől származó programok általában képesek önállóan dolgozni a naplófájljaikkal, bár sok közülük beállítható úgy, hogy működjenek együtt a syslogd démonnal. A syslog használatának előnyei közé tartozik, hogy a szükséges információk összegyűjtésének folyamatát egyetlen konfigurációs fájl segítségével lehet vezérelni, ami biztosítja a fogadott naplófájlok konzisztenciáját, és ennek eredményeként leegyszerűsíti azok kezelését.

    A syslog szolgáltatást a syslogd démon biztosítja, amely a rendszer indításakor automatikusan elindul. Folyamatosan a memóriában van, várja a többi folyamattól érkező üzeneteket, és a beállításoknak megfelelően feldolgozza azokat.

    Minden üzenetet egy szint és egy lehetőség jellemez. A szint az üzenet fontossági fokát határozza meg a rendszer működése szempontjából. A syslog.h fájl a következő szinteket (prioritásokat) határozza meg:

    1. táblázat: Üzenetszintek

    Szint

    Leírás

    előbukkan, pánik

    Pánik állapot

    éber

    Azonnali figyelmet igénylő állapot

    crit

    Kritikus állapotban

    hiba, hiba

    Egyéb munkahibák

    figyelmeztetés, figyelmeztetés

    Figyelmeztetések

    értesítés

    Üzenetek, amelyek nem hibák, de meg kell jegyezni

    info

    Információs üzenetek (normál működés)

    hibakeresés

    Hibakeresési információk

    Az 1. táblázat az üzenetszinteket csökkenő sorrendben sorolja fel. Erre a sorrendre később a konfigurációs fájl szintaxisának tárgyalásakor lesz szükség.

    Az azonos sorba írt üzenetszint-jelölők (pl. emerg és panic) szinonimák, és bármelyik használható. A pánik, a hiba és a figyelmeztetés (a táblázatban a második helyen szerepel) azonban elavult, és ezeket kerülni kell a konfigurációs fájl szerkesztésekor. Használja helyette az emerg, err és figyelmeztetést.

    Az üzenet lehetséges forrásait a 2. táblázat tartalmazza:

    2. táblázat: Üzenetek forrásai

    Egy forrás

    Leírás

    alávágás

    Kernel üzenetek

    auth, authpriv

    Biztonság

    Biztonsági üzenetek (pl. tűzfaltól)

    konzol

    Üzenetek a konzolnak (/ dev / konzol)

    syslog

    Syslog natív üzenetek

    cron

    Cron alrendszer üzenetei

    Időszolgálati üzenetek

    Hozzászólások FTP szerverek

    Alrendszer-üzenetek nyomtatása

    levél

    Üzenetek a postai szolgáltatásoktól

    hírek

    Hírszolgálati üzenetek

    uucp

    Hozzászólások UUCP

    démon

    Üzenetek más, a rendszeren futó démonoktól

    felhasználó

    Felhasználó feldolgozza az üzeneteket

    helyi0 - helyi7

    Különféle felhasználói igényekhez használható (néha a rendszer is használja)

    Amikor egy alkalmazást úgy konfigurál, hogy működjön együtt a syslog szolgáltatással, ellenőrizze, hogy melyik szolgáltatást használja. Egyes programok lehetővé teszik a forrás megadását. Például a clamd démon (a clamav vírusirtó fő folyamata) alapértelmezés szerint a local6-ot használja, de lehetővé teszi egy másik forrás megadását (a konfigurációs fájl LogFacility paraméterét). Egyes esetekben hasznos lehet az üzeneteit a levelezési szolgáltatásoktól származó üzenetekkel kombinálni, forrásként megadva a LOG_MAIL-t.

    A démon indítási lehetőségei

    Az indítási lehetőségek teljes listája a syslogd kézikönyvoldalán található. Itt csak néhányat fogunk megvizsgálni közülük.

    A Syslog képes bejövő üzeneteket naplófájlokba írni (amelyek általában a / var / log könyvtárban találhatók), elküldi őket a konzolra vagy egy csatlakoztatott felhasználói terminálra, elküldi egy távoli gazdagépre, vagy egy külső segédprogramra továbbítja őket. feldolgozás.

    A hálózatépítéshez a syslog az 514-es portokat (UDP és TCP) használja. A további paraméterek nélkül elindított Syslogd ezeken a portokon figyeli a bejövő üzeneteket. Az -s kapcsoló letiltja a bejövő üzeneteket, de az 514-es portokon a socketek továbbra is létrejönnek a kimenő kapcsolatokhoz, így a syslogd üzeneteket küldhet a távoli gépeknek. A kulcs megkettőzése (-ss) a kimenő kapcsolatokat is megtagadja.

    Alapértelmezés szerint a syslogd a -s kapcsolóval indul (lásd /etc/defaults/rc.conf, syslogd_flags paraméter), így a bejövő kapcsolatok megtagadva. Ha a kiszolgáló rendszernapló szolgáltatását több gép kiszolgálására szeretné használni, adja hozzá a következő sort az /etc/rc.conf fájlhoz:

    syslogd_flags = ””

    Ez felülírja az /etc/defaults/rc.conf fájlban beállított értéket, hogy a syslogd kezelni tudja a bejövő kapcsolatokat. Természetesen ebben az esetben biztosítani kell a szükséges biztonsági szintet, kizárva annak lehetőségét, hogy külföldi állomások bármit is írjanak a naplóidba. Az -a kapcsoló lehetővé teszi korlátozások beállítását a bejövő kapcsolatokra (lásd: man syslogd). A megfelelően konfigurált tűzfal is fontos szerepet játszik.

    Egy másik hasznos kapcsoló, a -l, lehetővé teszi további socket fájlok megadását, amelyeket a syslogd figyel az alapértelmezett / var / run / log mellett. Ez a kapcsoló például szükséges ahhoz, hogy a syslog kezelni tudja a chroot környezetben futó programokat. Konkrétan a named így működik a BIND 9 óta. A FreeBSD 5.3-ban a syslogd a következő kulcsokkal indul:

    # ps -wax | grep syslog

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

    Konfigurációs fájl szintaxisa

    A naplózás az /etc/syslog.conf fájlban van beállítva. Magától értetődik, hogy csak a root felhasználó szerkesztheti. Ez a fájl kétféle karakterláncot tartalmaz – nevezzük ezeket „szűrőknek” és „szabályoknak”.

    A szűrőkarakterlánc azt a programot vagy gazdagépet határozza meg, amelytől a következő szabályokat kell alkalmazni az üzenetekre. A "! Prog" (vagy "#! Prog") szűrő azt jelzi, hogy a következő sorok a megadott prog program által generált naplókra vonatkoznak. Ennek a bejegyzésnek a szinonimája: "! + Prog". Ezzel szemben a "! -Prog" sor azt jelenti, hogy a következő szabályok minden üzenetre vonatkoznak, kivéve a prog programból érkezőket. Több program listázása megengedett vesszővel elválasztva, míg a „+” vagy „-” jel a teljes listára vonatkozik.

    Ha a szűrőkarakterlánc „+ hostname”-ként van megadva, akkor a megadott gazdagép lesz a következő szabályok által feldolgozandó üzenetek forrása. Akárcsak a programok esetében, a „-” szimbólum azt jelzi, hogy a szabályok minden üzenetre vonatkoznak, kivéve a megadott gazdagéptől érkezőket. Megadhatja a gazdagépek listáját vesszővel elválasztva.

    A programként vagy gazdagépként megadott "*" karakter felülírja a korábban beállított szűrőt. Vagyis az ilyen sor után megadott szabályok minden üzenetre vonatkoznak. A gazdagépnévvel vagy programmal rendelkező szűrők függetlenek egymástól, és egyszerre is működhetnek. Például:

    # Az itt található szabályok minden üzenetre vonatkoznak

    My.host

    # A szabályok a my.host összes üzenetére vonatkoznak

    Logger

    # A szabályok vonatkoznak a my.host naplózóból érkező üzenetekre (a gazdagép szűrője folytatódik)

    # Szabályok vonatkoznak a su-tól a my.host szolgáltatással küldött üzenetekre

    # Szabályok vonatkoznak a su-tól bármely gazdagéptől érkező üzenetekre (a gazdagépszűrő megszakad, a programszűrő folytatódik)

    # A szabályok minden üzenetre vonatkoznak (a programszűrő is törlődik)

    A szabálysorok a következők:

    létesítmény.CMP szintű cél

    Itt a létesítmény az üzenet forrása (a "*" bármely forrást jelöl), a szint pedig a szabály szerint feldolgozott üzenetek szintje. A szint helyett megadott "none" szolgáltatás szó arra utasítja, hogy az üzeneteket teljesen kizárják ebből a forrásból.

    CMP - összehasonlítási művelet (karakterek ">", "<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    A cél megadja, hogy hova kell menteni ezt az üzenetet. Ez lehet egy naplófájl (a teljes elérési út meg van adva, "/"-vel kezdődően), a távoli szerver címe ("@" szimbólummal kezdődően), egy felhasználónév (az üzeneteket a rendszer arra a terminálra küldi, amelyre ez a felhasználó csatlakoztatva van). Ezenkívül az üzenet átadható egy külső programnak feldolgozásra, amelyhez a "|" pipe szimbólumot használják.

    Néhány példa a szabályokra

    Minden kernel üzenet a kern.log fájlba kerül.

    * /var/log/kern.log

    Minden hibaüzenet, valamint az emerg, alert és crit levelek az all-err.log fájlba kerülnek. Figyelje meg a kötőjelet a naplófájl neve előtt. Alapértelmezés szerint az üzenetek pufferelve vannak a memóriában, és a puffer megtelésekor a lemezre íródnak. Ez csökkenti a fájlrendszer terhelését, de a gép összeomlásakor bizonyos információk elveszhetnek. A fájlnév előtti kötőjel hatására a syslogd démon azonnal üzeneteket ír a lemezre.

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

    A felhasználói folyamatok hibakeresési üzenetei arra a terminálra kerülnek, amelyhez a vasya felhasználó jelenleg csatlakozik.

    user.debug vasya

    A hírek és az e-mail szolgáltatások minden üzenetét a syslog.host.ru gép 514-es portjára továbbítják.

    mail *, hírek * @ syslog.host.ru

    Az összes alábbi figyelmeztető nyomtatási szolgáltatási üzenet a megadott fájlba kerül. Mint korábban említettük, az alapértelmezett érték nagyobb vagy egyenlő, mint az összehasonlítás, és a! megfordítja, helyette a "kevesebbet". Ha ki kell zárnia egy adott szintet, használja a "! =" Konstrukciót.

    lpr.! figyelmeztetés /var/log/printers.log

    A 0. és 3. szintű hibakeresési szintű üzenetek (és csak a hibakeresési üzenetek) minden csatlakoztatott terminálra megjelennek.

    0. szint, 3. szint = hibakeresés *

    Azok a Time Service üzenetek, amelyek magasabbak a kritikusnál (azaz emerg and alert) és kisebbek, mint az értesítés (figyelmeztetés, információ és hibakeresés), az ntpuser és a root terminálokra kerülnek elküldésre.

    ntp.> crit,<=notice ntpuser,root

    Minden figyelmeztető üzenet, kivéve a levelezőszolgáltatásoktól érkező üzeneteket, a warn.log fájlba kerül.

    *. = figyelmeztetés, mail.none /var/log/warn.log

    Ebben az esetben minden crit-nél nagyobb vagy azzal egyenlő szintű üzenetet a rendszer a root felhasználónak küld el.

    * .crit | mail -s "kritikus üzenet" gyökér

    Amint láthatja, a konfigurációs fájlformátum lehetővé teszi több szint, forrás és rendeltetési hely egy sorban történő felsorolását, ami rugalmasabbá teszi a konfigurációt. Ahhoz, hogy a változtatások a szerkesztés után érvénybe lépjenek, HUP jelet kell küldenie a syslogd folyamatnak:

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

    Meg kell jegyezni, hogy ha ez vagy az üzenet a konfigurációs fájl több sorának hatálya alá esik, akkor mindegyiknek megfelelően kerül feldolgozásra. Példa:

    * / var / log / maillog

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

    Ebben az esetben a mail.err üzenetek mind a maillog, mind az error.log mappába kerülnek.

    Konfigurációs fájl stratégia

    A konfigurációs fájllal kapcsolatos vizsgálatomat befejezve szólok néhány szót a fordítási stratégiákról. A nagyon népszerű "ha csak működik" mellett két fő is megkülönböztethető, amelyeket feltételesen "forrás szerint" és "cél szerint" fogunk nevezni.

    • Az első stratégia, amely számos GNU/Linux disztribúcióban megfigyelhető, az, hogy minden üzenetforráshoz más szabályt írunk (vagy szabálycsoportot, ha a különböző szintű üzeneteket eltérően kell feldolgozni). Előnye, hogy egyszerű meghatározni, hogy az egyes szolgáltatások üzenetei hol vannak írva.
    • A „cél szerinti” stratégia az, hogy ha lehetséges, csak egy sort hozzunk létre egy üzenet, például egy fájl minden egyes „címzettje számára”. Ez a megközelítés különösen a FreeBSD esetében. Ennek eredményeként könnyen meghatározható, hogy egy adott naplófájl milyen információkat rögzít, de például a kernel üzenetek célállomásait a teljes konfigurációs fájlból kell összegyűjteni.

    Logger segédprogram

    A rendszer tartalmaz egy naplózó segédprogramot, amely lehetővé teszi üzenetek küldését a syslog szolgáltatásnak közvetlenül a parancssorból. Kényelmes a konfigurációs szabályok tesztelésekor, valamint a munkájuk naplózására szolgáló szkriptek fejlesztésekor. Példák:

    user $ logger -p user.err “Hiba a felhasználói programban!”

    felhasználó $ logger -h syslog.host.ru „Test it”

    Az első példa hibaszintű létesítmény felhasználói üzenetet küld, amelyet a konfigurációs fájlnak megfelelően dolgozunk fel. A második parancs üzenetet küld a távoli gazdagépnek, a forrás és az alapértelmezett szint user.notice lesz.

    Forgatási mechanizmusok használata

    A fent tárgyalt naplózási mechanizmus semmiféle naplófájlkezelést nem biztosít. Az üzenetek egyszerűen elhelyezhetők bennük a konfigurációs fájlban leírt szabályok szerint. Ez azt jelenti, hogy a naplófájlok folyamatosan növekedni fognak, és ha nem teszünk semmit, előbb-utóbb feltöltik az összes rendelkezésre álló helyet a megfelelő partíción. Ennek elkerülése érdekében forgó mechanizmust használnak.

    Például, amint a debug.log fájl meghaladja a 100 MB-ot, a rendszer átnevezi debug.log.0-ra, és a debug.log.0.bz2 fájlba csomagolja. Ehelyett egy új debug.log jön létre. Ezután, amikor az új fájl mérete eléri a 100 MB-ot, a debug.log.0.bz2 átnevezi debug.log.1.bz2-re, és a fenti eljárás megismétlődik. A rendszer csak bizonyos számú archív fájlt tárol, a legrégebbieket törli. Ez a forgás.

    Newsyslog segédprogram

    A FreeBSD-n a forgatást a newsyslog segédprogram kezeli, amely alapértelmezés szerint minden óra elején fut le a cron démon által. A forgatási periódust módosíthatja az / etc / crontab fájl szerkesztésével.

    A fenti példában megadott forgatási paraméterek (fájl mérete, csomagolás), valamint számos egyéb paraméter az /etc/newsyslog.conf konfigurációs fájlban vannak beállítva. Minden egyes elforgatásra szoruló fájlnál egy általában kilenc mezőből álló sort tartalmaz: fájlnév, tulajdonos és csoport, hozzáférési jogok, legnagyobb szám az archív fájlnévben, maximális fájlméret, forgatási időszak, további jelzők és a PID elérési útja. Az elforgatás után jelet küldő alkalmazás fájlja és a küldendő jel száma. (Előfordulhat, hogy jelzést kell küldenie egy folyamatnak, ha például a folyamat folyamatosan nyitva tartja a naplófájlt; ellenkező esetben a használt fájlleíró nem egyezik az újonnan létrehozott fájllal.) Néhány mező elhagyható. Íme két teljes és tipikus példa:

    / var / log / pflog gyökér: kerék 600 3 100 * JB /var/run/pflog.pid 1

    E szabály szerint a pflog fájlt felül kell írni, amint mérete meghaladja a 100 MB-ot (5. mező), időtől függetlenül ("*" a 6. mezőben). Az archív fájlok neve például pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 stb.), és az X nem lehet több háromnál (3. paraméter a 4. mezőben). A J jelző azt jelzi, hogy az archív fájlt a bzip2 segédprogrammal kell tömöríteni. A B jelzőnek köszönhetően a forgatásról szóló szolgáltatási üzenetek nem kerülnek az archivált és újonnan létrehozott fájlokhoz, mivel a fájl binárisként jelenik meg. Az újonnan létrehozott fájl a root felhasználó és a kerékcsoport tulajdona lesz (ez a mező elhagyható, mivel ez az alapértelmezett tulajdonos). Az engedélyek értéke rw ------- (numerikus érték 600), ami azt jelenti, hogy csak a tulajdonos olvashatja és írhatja ezt a fájlt. Végül egy 1-es (HUP) jelet küld annak a folyamatnak, amelynek PID-je a /var/run/pflog.pid fájlban van tárolva, hogy újra megnyissa a naplófájlt.

    / var / log / maillog 640 7 * @ T00 J

    Ez a szabály határozza meg a maillog fájl elforgatási paramétereit: mérettől függetlenül (csillag az 5. mezőben), a fájl minden este 00:00-kor újraírásra kerül (a man newsyslog.conf részletesen leírja az idő megadásának formátumát) . Az archívumot be kell csomagolni, az utolsó 8 archívum mentésre kerül (0-tól 7-ig terjedő számokkal), az újonnan létrehozott fájl a root felhasználó tulajdonába kerül (az alapértelmezett érték, így a tulajdonos mező kimarad) és az rw -r ----- engedélyek.

    Használhatja a zcat és a bzcat segédprogramokat (a gzip és a bzip2 esetében) a csomagolt naplófájlok megtekintéséhez. A Midnight Commander automatikusan meghívja a megfelelő segédprogramokat.

    A newsyslog.conf fájl szerkesztése után nem kell jeleket küldeni sehova – a konfiguráció újraolvasásra kerül a következő newsyslog meghívásakor.

    Vegye figyelembe, hogy a newsyslog segédprogram nincs a syslogd démonhoz kötve. Azaz bármilyen fájl elforgatására használható, amelyiknek szüksége van rá. Ha az alkalmazás által önállóan karbantartott naplók esetében engedélyezve van a forgatás (például a clamd vagy a squid naplók esetében), akkor fordítson különös figyelmet a tulajdonos és a hozzáférési jogok megadására. Ezek helytelen megadása oda vezethet, hogy a rotációt követően a jogosulatlan felhasználóként elindított alkalmazás nem tud írni az újonnan létrehozott fájlba.

    Összegezve

    A syslog rendszer egy nagyon hatékony és hatékony eszköz a rendszerben előforduló különféle események naplózására. Az alapértelmezett beállítások meglehetősen kiegyensúlyozottak, és a legtöbb rendszeren jól működnek. A syslog működésének megértése azonban lehetővé teszi a naplózás minőségének jelentős javítását azáltal, hogy testreszabja a naplózást az Ön egyedi igényeinek megfelelően.