Systémové prihlásenie v Linuxe. Konfiguračný súbor démona syslogd Protokolovanie siete

Zoznam bežných démonov UNIX/LINUX, ktoré sa v OS Windows nazývajú služby, ktoré možno použiť v rôznych modifikáciách UNIX/LINUX. Názvy démonov UNIX/LINUX sa často končia písmenom d ako skratka pre angličtinu. démon Pomocou príkazu top alebo ps aux môžete skontrolovať, či je proces/démon spustený.

Nižšie je uvedený zoznam mien najbežnejších démonov a ich Stručný opis. Nižšie uvedený zoznam démonov UNIX/LINUX nie je úplný/vyčerpávajúci a váš systém UNIX/LINUX môže mať jeden, všetky alebo niekoľko z nich prítomných alebo chýbajúcich v závislosti od verzie/typu/úpravy/konfigurácie vášho systému UNIX/LINUX a nainštalovaného systému je na ňom softvér.

Proces/Démon Popis procesu/démona
auditovanéauditd je komponent auditu pre systémy Linux. Udržuje protokol auditu na disku, ktorý je možné zobraziť pomocou príkazov ausearch a aureport. Príkaz auditctl vám umožňuje nakonfigurovať pravidlá auditu. Okrem toho sa pri spustení načítajú pravidlá obsiahnuté v súbore /etc/audit.rules. Niektoré parametre samotného démona je možné nakonfigurovať v súbore auditd.conf.
acpidacpid (ACPI event daemon) - démon pre reakciu na ACPI udalosti, napríklad reakciu na stlačenie tlačidla napájania alebo zatvorenie krytu notebooku. Správa napájania a interakcia medzi Linuxom a BIOSom cez ACPI (Advanced Configuration and Power Interface) a APM. ACPI "spánkové" režimy: S1 - všetko spí, CPU v režime minimálnej aktivity; S3 - "Suspend to RAM" - všetko prejde do režimu spánku, CPU sa vypne; S4 - "Suspend to Disk" stavový výpis sa uloží na disk, systém sa vypne, po zapnutí sa systém obnoví z predchádzajúceho miesta; S5 - vypnutie softvéru. http://acpid.sourceforge.net/
atďvykoná front úloh na (1)
autofsFormát tabuľky s automatickým pripojením. Mapy automatického pripojenia môžu byť súbory alebo tabuľky NIS, na ktoré odkazuje hlavná tabuľka automatického pripojenia (pozri auto.master(5)). Tabuľky popisujú umiestnenie súborové systémy, ktoré sa automaticky pripájajú k základným upevňovacím bodom (nastaveným v súbore auto.master). Tento dokument popisuje formát slnečnej tabuľky, pre iné formáty (napr. hesiod) tento dokument neplatí.

Tabuľky je možné upravovať za chodu – tieto zmeny budú zohľadnené pri ďalšej operácii s touto tabuľkou.Toto však neplatí pre hlavnú tabuľku auto.master!

biodPracuje v spojení so vzdialeným nfsd na riešenie požiadaviek klienta NFS.
obchodník s certifikátmiDémon certmonger monitoruje a kontroluje platnosť certifikátov a môže voliteľne obnoviť certifikáty pomocou CA. Dokáže riadiť celý proces registrácie od generovania kľúča až po registráciu a obnovu.
cgconfigTento skript spúšťa obslužný program cgconfigparser, ktorý analyzuje a konfiguruje súborový systém riadiacej skupiny (cgroup). Na analýzu sa používa konfiguračný súbor /etc/cgconfig.conf a parametre v ňom definované.
cgredDémon spravuje pravidlá cgroup :)
cpufreqSkript načíta moduly jadra na riadenie frekvencie procesora.
cpuspeedZmení frekvenciu procesora, aby sa šetrila energia. Mnoho moderných notebookov a stolných počítačov podporuje túto technológiu. Môžu ho používať používatelia s procesormi Pentium-M, Centrino, AMD PowerNow, Transmetta, Intel SpeedStep, Athlon-64, Athlon-X2, Intel Core 2. Používateľom notebookov sa odporúča ponechať tento démon zapnutý. Zakážte tohto démona, ak chcete, aby CPU používal pevnú hodnotu frekvencie.
crond
cupsdTlačový server. Ako prístup k vzdialeným tlačiarňam, prístup k lokálnym, prístup zvonku k lokálnym.
dbusSystém medziprocesovej komunikácie ( Širší analóg CORBA a DCOP)
dbus-daemonDémon pre prácu s dátovou zbernicou
dhcpdDémon na dynamické určovanie konfigurácie TCP/IP pre klientov.
dnsmasqDémon, ktorý ukladá názvy DNS do vyrovnávacej pamäte a poskytuje server DHCP.
earlysyslogSpustenie démona syslog poskytuje protokolovanie.
earlyxdmSpustenie X servera
esoundZvukový démon s podporou vzdialeného prístupu k zvukovej karte
esdZvukový server pre správcu okien Enlightenment a prostredie GNOME. ESD zmiešava zvukové prúdy niekoľkých súčasne spustených programov a výsledný prúd vysiela na zvukovú kartu. Patrí do balíka esound.
famFAM ( Monitor zmien súborov) - monitor zmeny súboru. Démon FAM používajú desktopové prostredia ako GNOME, Xfce a KDE na sledovanie a zobrazenie zmien vykonaných v súborovom systéme. Zahrnuté v balení fam. Má popis na wiki.archlinux.org.
ovládanie ventilátoraOvládanie rýchlosti otáčania chladiča CPU. Časť lm_sensors.
fbsetSkript potrebný na fungovanie framebufferu. Konfiguruje jeho fungovanie vrátane načítania modulov jadra.
festivalDémon, ktorý umožňuje fungovanie programov na čítanie textu.
fingerdPoskytuje sieťové rozhranie pre finger protokol na použitie s príkazom finger.
prvé spustenieSlužba je špecifická iba pre Fedoru. Spustí sa iba raz po inštalácii a po inštalácii (nastavenie hesla root, pridanie používateľov atď.). Po inštalácii systému sa dá vypnúť.
ftpdSlužba na prenos súborov cez FTP protokol.
funkcieJeden z inicializačných skriptov systému Arch Linux. Popisuje funkcie, ktoré prepisujú hodnoty použité pri načítaní do úrovne spustenia 3. Skript sa používa iba vtedy, ak používateľ používa úroveň spustenia 5. Je súčasťou initscriptov.
gpmMyš server pre konzolu a xterm. Obsiahnuté v rovnomennom balení.
gpsdRozhranie pre komunikáciu so zariadením GPS. Väčšina používateľov ho môže vypnúť.
Haldaemon, halHAL je skratka pre Hardware Abstraction Layer. Dôležitá služba na zhromažďovanie informácií o zariadeniach rôzne zdroje. Odporúča sa nechať zapnuté.
zastaviťVypnutie a reštart skriptu.
zastaviť.miestnySkript, ktorého príkazy sa musia vykonať pred vypnutím alebo reštartom.
zdravýNastavuje rozsah prevádzkových teplôt základnej dosky/procesora a rýchlosti chladiča. Je to jedna z komponentov lm_sensors.
heimdal-kdcCentrum distribúcie kľúčov. Zahrnuté v balení heimdal.
httpdDémon webového servera Apache.
initUnixový program, ktorý spúšťa všetky ostatné procesy.

V predvolenom nastavení má démon init 7 úrovní vykonávania, z ktorých každá spúšťa preddefinovanú sadu systémových služieb.

Úrovne behu:
0 - Vypnutie systému
1 - Prevádzkový režim pre jedného používateľa
2-5 - Režimy prevádzky systému pre viacerých používateľov

Viac podrobností o úrovniach spustenia: menej /etc/inittab

inetdMonitoruje požiadavky siete. Ak je požiadavka platná, spustí sa proces na pozadí na obsluhu žiadosti. Niektoré systémy používajú rozšírenú verziu - xinetd
iptablesŠtandardný firewall v Linuxe. Odporúča sa najmä pre priame spojenie na internet (cez kábel, DSL, T1). Neodporúča sa, ak dodatočne používate hardvérový firewall (Netgear, Linksys, D-Link atď.).
ip6tablesSlužba iptables funguje pomocou protokolu IPv6. Ak ste zakázali podporu IPv6, táto služba by mala byť vypnutá. V opačnom prípade sa odporúča ponechať ho zapnutý.
irdaIrDA je potrebný na podporu zariadení, ktoré fungujú cez infračervené ( notebooky, PDA, mobily, kalkulačky (pozn. prekladateľa: kalkulačky? o_O), atď. Väčšina používateľov ho môže vypnúť.
irexecdDémon pre infračervené žiarenie. Dodáva sa s lirc-utils.
irqbalance, irq_balancerVo viacprocesorových systémoch sa používa na distribúciu prerušení medzi procesormi. Používatelia, ktorí nemajú viacprocesorové počítače/laptopy, môžu tohto démona/službu zakázať. Povolenie tejto služby na počítači s jedným procesorom nebude mať žiadny účinok. Na nových počítačoch s viac ako jedným procesorom (Intel Core 2 Duo, AMD X2) musí byť táto služba povolená.
ivmanDémon je zodpovedný za automatické pripojenie zariadení v systéme (CD, USB disky atď.)
jackd, jack-audio-prepojovacia-sadaAudio server
jexecPoskytuje podporu pre spúšťanie a spúšťanie aplikácií v jazyku Java - JAR. Bude k dispozícii, ak si nainštalujete Javu od Sun. Toto je voliteľné a možno ho vypnúť.
joystickSkript, ktorý načíta moduly jadra, aby pákový ovládač fungoval.
kadmindDémon na určenie účtov, ktoré majú prístup k databáze Kerberos, a ich úrovne prístupu. Je to jedna zo súčastí balíka heimdal.
kdumpkdump - zobrazenie údajov sledovania jadra. Príkaz zobrazí súbory sledovania jadra vytvorené pomocou ktrace(1) vo formáte čitateľnom pre človeka. Štandardne sa zobrazuje súbor ktrace.out v aktuálnom adresári.
kbdNastavenie klávesnice vo virtuálnom termináli.
kdmKDM ( KDE Display Manager) je jedným z programov v balíku kdebase ( súčasťou KDE), ktorý poskytuje možnosť prihlásenia cez grafické rozhranie.
kpasswdDémon na zmenu hesiel v Kerberose. Je to jedna zo súčastí balíka heimdal.
ksysguarddKDE démon pre monitorovanie systému.
libvirtdDémon na správu hosťujúcich počítačov a sietí QEMU.
libvirt-hostiaSkript, ktorý posiela hosťujúce operačné systémy do režimu spánku pri vypínaní a prebúdza ich pri načítaní.
lircdDémon LIRC dešifruje signály prichádzajúce z infračerveného portu. Dodáva sa s lirc-utils.
lircmdDémon LIRC prekladajúci signály myši. Dodáva sa s lirc-utils.
lvm2-monitorDémon na monitorovanie LVM (Logical Volume Management). Odporúča sa, ak používate LVM, inak ho nechajte vypnutý.
lpd„Line Printer Daemon“ - protokol sa používa na správu tlačovej cievky.
mdadmDémon monitoruje MD zariadenia (softvérový RAID v Linuxe).
mdmonitor a mdmpdTieto dva démony sa používajú v úložných systémoch s poliami RAID (redundantné pole lacných/nezávislých diskov). Mdmonitor spúšťa, zastavuje a reštartuje mdadm (monitorovanie a správa viaccestných zariadení), softvérovú službu na monitorovanie a správu RAID. Túto službu musíte spustiť iba vtedy, ak má váš systém zariadenia RAID.
messagebusSlužba medziprocesovej komunikácie pre Linux. Kritický komponent pretože je pripojený k D-BUS. Dôrazne sa odporúča ponechať ho zapnutý.
microcode_ctl, microcode.ctlSlužba, ktorá vám umožňuje aktualizovať firmvér procesora Intel (Pentium Pro, PII, Celeron, PIII, Xeon, Pentium 4 atď.). Aktualizácie sa zaznamenávajú pri každom sťahovaní. Mala by byť povolená iba vtedy, ak máte procesor Intel.
mcelog, mcelogdNa monitorovanie hardvérových problémov v 64-bitových zostavách Linuxu je vhodné použiť balík mcelog, ktorý analyzuje stav MCE (Machine Check Exception) v procesoroch AMD a Intel, čo môže naznačovať problémy s pamäťou a vyrovnávacou pamäťou CPU, chyby výmeny údajov medzi CPU a čipset základnej dosky.
mpdDaemon hudobného prehrávača - hudobný prehrávač s architektúrou klient-server, ktorá prehráva hudbu z určeného adresára.
multipathdPoužíva sa na monitorovanie zariadení s viacerými cestami, to znamená jednotiek, ku ktorým možno pristupovať pomocou viacerých ovládačov alebo metód.
mysqld, mysqlDémon databázy MySQL
nfsdProces žiadosti operátora NFS pre klientske systémy. Historicky každý démon nfsd podporuje jednu požiadavku naraz, takže sa spustí niekoľko kópií.
netconsoleUmožňuje exportovať konzolu do iného počítača cez sieť. V predvolenom nastavení môže byť zakázané.
netfsPočas zavádzania automaticky pripája súborové systémy dostupné cez sieť ( NFS, Samba a ďalšie). Väčšina používateľov stolných počítačov a / alebo prenosných počítačov ho môže vypnúť.
sieteDémon zodpovedný za vytváranie a konfiguráciu lokálnych sieťových rozhraní (LAN)
sieťové diaľkové ovládačeRovnaký ako predchádzajúci, ale navyše zvyšuje bezdrôtové rozhrania
nfs, nfslockSlužby poskytujú štandardný sieťový súborový systém pre operačné systémy Unix/Linux a BSD. Ak potrebujete otvoriť prístup cez NFS, nechajte ho povolený, inak ho môžete vypnúť.
nginxnginx je webový server a poštový proxy server bežiaci na operačných systémoch podobných Unixu.
nmbdPoužíva sa samba. Pozrite si Sambu nižšie.
nscdServerový démon, ktorý ukladá mená a heslá používané službami ako NIS, NIS+, LDAP, hesiod. Dá sa vypnúť.
nslcdlokálny démon názvovej služby LDAP.
ntpdNTP démon, ktorý spravuje časovú synchronizáciu cez sieť. xntpd je vybavený verziou 3 štandardu NTP.
ntpdate
oddjobdDémon oddjobd poskytuje službu com.redhat.oddjob na celosystémovej zbernici správ. Každá funkcia, ktorú oddjobd poskytuje, je poskytovaná ako samostatná metóda D-Bus.
openntpdServer a klient pre synchronizáciu času.
openvpnPoskytuje bezpečnú metódu na vytvorenie VPN. Pre Ďalšie informácie pozri OpenVPN. Môže byť zakázaná, ak ju nepoužíva NetworkManager.
pcmciaPoskytuje podporu pre štandardné rozširujúce karty pcmcia. Zvyčajne sa používa iba v prenosných počítačoch.
pcscdPoskytuje podporu pre čítačky kariet a čipové karty. Ak nemáte čítačku kariet alebo čipové karty, môžete túto službu vypnúť. Často dostupné na prenosných počítačoch.
portreserveZabraňuje prístupu k skutočným portom pre rôzne služby RPC a uprednostňuje vyhradené aplikácie. Podrobnejšie informácie nájdete v manuálovej stránke portreserve. Odporúča sa nechať zapnuté.
výpadok napájaniaTento skript sa spustí, keď sa zistia správy od UPS
postfixProgram na správu pošty Postfix
pppdDémon protokolu Point-to-Point
pppSkript pre prácu s démonom pppd.
psacctSpravuje procesy jadra Linuxu. Zapojený do monitorovania.
purge-kernelsSkript pre automatické vymazanie staré jadrá ( nakonfigurovaný v /etc/zypp.conf)
kvóta_nldkvótový démon správ netlink
surovéSkript načíta nespracované moduly zariadení.
rdiscDémon zisťovania sieťovej brány, rdisc, funguje ako klient protokolu ICMP Gateway Discovery Protocol. rdisc sa volá pri zavádzaní, aby získal sieťové smerovacie tabuľky s predvolenými bránami.
rdateslužba je potrebná na synchronizáciu počítača s časovým serverom pri zavádzaní systému operačný systém. Dá sa deaktivovať.
restorecondPoužíva sa na obnovenie kontextu a sledovanie politiky SELinux súvisiacej so súbormi. Služba sa nevyžaduje, ale odporúča sa pri používaní SELinux.
rngdrngd - Kontrola a prenos náhodných údajov z hardvérového zariadenia do náhodného zariadenia jadra. Doslova sa to dá preložiť ako démon, ktorý kontroluje a prijíma náhodné dáta z hardvérových zariadení pre jadro náhodných zariadení – aké je to šikovné :), démon generátora náhodných čísel, v ruštine démon generovania náhodných čísel.
rpcbindDémon na správu RPC, ktoré používajú iné služby (napríklad NFS alebo NIS). Funguje podobne ako portmap. Dá sa deaktivovať, ak na ňom nie sú závislé žiadne iné služby.
rpcgssd, rpcidmapd, rpcsvcgssdPoužíva sa NFS v4 (Network File System). Zakážte, ak nepotrebujete NFS v4. http://ru.wikipedia.org/wiki/Network_File_System
rsyslogrsyslog slúži na pohodlný zber a spracovanie systémových logov a umiestňuje sa ako rozšírený modul syslogd pre Unixové systémy a Linux, ktorý sa zameriava na bezpečnosť a spoľahlivosť a má tiež pokročilé multi-threading. Rsyslog ponúka širokú škálu funkcií, ktoré nájdete po kliknutí na odkaz - Funkcie RSyslog. http://www.rsyslog.com/module-Static_Docs-view-f-features.html.phtml
rsyncrsync( Vzdialená synchronizácia) je program pre operačné systémy podobné UNIXu, ktorý synchronizuje adresáre a súbory na viacerých miestach a zároveň minimalizuje prevádzku, v prípade potreby používa kódovanie údajov. rsync bol vytvorený ako náhrada za rcp a scp. Čítaj viac...
saslauthdDémon autentifikačného servera SASL. SASL ( Jednoduchá autentifikácia a bezpečnostná vrstva) poskytuje možnosť autentifikácie v protokoloch založených na vzdialených pripojeniach.
samba, smbdDémon servera Samba.
poslať mailPoskytuje podporu pre lokálnu službu IMAP alebo POP3, nechajte ju povolenú. Služba môže byť užitočná na upozorňovanie na aktivitu rôznych démonov/služieb, ktoré je možné poskytovať cez cron alebo posielanie pošty z PHP skriptov.
nasnímanéDémon z lm_sensors zbiera informácie z rôznych senzorov.
senzorySkript, ktorý v prípade potreby načíta potrebné moduly jadra na prácu s lm_sensors.
pobrežná stenaSkript na správu firewallu shorewall.
štíhlySprávca prihlásení pre X.
smartdDémon SMART monitoruje disky. Používa sa na predpovedanie porúch a monitorovanie diskov alebo problémov s pevným diskom. Používatelia zvyčajne nepotrebujú tohto démona, ale stále sa odporúča (najmä pre servery) ponechať ho povolený.
kohoNa otvorenie spoločného je potrebný démon SAMBA prístup k sieti do súborov v systéme Linux pre Používatelia systému Windows. Musí byť povolené, ak máte v sieti počítače so systémom Windows, ktorým je potrebné poskytnúť prístup k súborom.
smoltDémon, ktorý mesačne posiela informácie na zhromažďovanie štatistík na pomoc vývojárom. Štatistiky sú dostupné pre každého. Používatelia, ktorí chcú pomôcť vývojárom, musia túto službu povoliť.
snmpd, snmptrapdPoskytnite podporu SNMP ( Simple Network Management Protocol), ktoré možno použiť na správu a konfiguráciu zariadení, ako sú sieťové rozbočovače, servery, tlačiarne atď. a tak ďalej. Dá sa zakázať, ale môže sa vyžadovať na spustenie tlačových služieb HP ( hplip).
chobotniceSquid proxy démon.
sshdPočúva požiadavky zabezpečeného prostredia od klientov. SSH umožňuje ostatným používateľom prihlásiť sa cez sieť z iného počítača a spúšťať aplikácie na vašom počítači, ktoré sa zvyčajne používajú na vzdialenú správu. Toto môže byť potenciálne bezpečnostné riziko. Na pracovných staniciach, ktoré nevyžadujú vzdialený prístup, je vhodné ho vypnúť.
sssdSSSD ( Démon služieb zabezpečenia systému) umožňuje prístup k mechanizmom vzdialenej autentifikácie. Tým sa stiera hranica medzi sieťovou a lokálnou autentifikáciou a umožňuje použitie rôznych mechanizmov. Informácie o užívateľoch sú prenášané databázou nazývanou doména a môžu byť zdrojom údajov pre vzdialenú autentifikáciu. Je povolených viacero mechanizmov, ktoré umožňujú viacerým serverom implementovať rôzne menné priestory. Prijaté informácie sú poskytované externým aplikáciám pomocou štandardných rozhraní NSS a PAM.

SSSD beží ako sada služieb, ktoré sú nezávislé od aplikácie, ktorá ich volá, takže aplikácie nemusia iniciovať svoje vlastné pripojenia k vzdialeným doménam, ani nemusia vedieť, ktorý démon/služba sa používa. Lokálne ukladanie informácií o skupine a údajov o identite do vyrovnávacej pamäte umožňuje bez ohľadu na zdroj údajov ( LDAP, NIS, IPA, DB, Samba atď.) pokračovať v práci offline, čo celkovo zvyšuje produktivitu. SSSD môže povoliť viacerých poskytovateľov rovnakého typu ( napríklad LDAP).

svnserveserverový démon svn.
sysstatBalík Sysstat obsahuje pomocné programy na monitorovanie výkonu systému a použitých zdrojov.
swapperSkopíruje lokálny proces do odkladacieho priestoru na opravu stránky fyzickej pamäte pre jadro. Tiež sa nazýva sched.
syslogdSystémový proces na zaznamenávanie rôznych systémových správ.
syncdPravidelne sa synchronizuje s systémová pamäť založená systémové súbory.
syslog-ngDémon uchováva systémové denníky.
udev-postSystémový správca zariadení používaný udev. Štandardne udev podporuje veľké množstvo pravidiel, správania a povolení pre zariadenia. Pomocou tejto služby môžete bezpečne spravovať pravidlá. Odporúča sa nechať zapnuté.
vhandUvoľňuje pamäťové stránky na použitie inými procesmi. Tiež známy ako „démon na krádež stránok“.
vsftpdvsftpd ( Very Secure FTP Daemon - Veľmi bezpečný FTP démon) - FTP server podporujúci IPv6 a SSL.

vsftpd sa štandardne používa na mnohých operačných systémoch podobných UNIX, slúži aj oficiálnym archívom ftp.openbsd.org, ftp.freebsd.org, ftp.debian.org, ftp.redhat.com a používa sa na oficiálnom FTP jadre Linuxu server.

webminSlužba správy systému cez prehliadač ( webové rozhranie).
winbindSlužba, ktorá vám pomôže rozlišovať v sieti názvy počítačov pod Ovládanie Windows. Dá sa použiť na ovládanie účtov Windows s účtami Linux. Väčšina používateľov zvyčajne nepotrebuje tohto démona a môže ho nechať vypnutý.
wpa_supplicantSlužba je potrebná na prácu bezdrôtové karty, ktoré sa používajú na pripojenie k prístupovým bodom ( Servery VPN alebo Radius) vyžadujú šifrovanie WPA. Väčšina používateľov ho môže nechať vypnutý.
xfsdPoskytuje fonty X11 pre vzdialených klientov.
jamslužba na aktualizáciu balíkov RPM nainštalovaných v systéme. Používa sa predovšetkým vo Fedora Core.
ypbindSlužba sa používa na autentifikáciu NIS cez sieť. Ak sa overenie NIS nepoužíva, môžete ho vypnúť.
zvbidSlužba, ktorá poskytuje prístup zo zariadení V4L alebo V4L2 k niekoľkým aplikáciám. Túto službu môže využívať napríklad karta na snímanie Hauppage, v ostatných prípadoch sa dá vypnúť.

Ak vyššie uvedený zoznam UNIX/Linux démonov/služieb nefunguje vo vašom systéme, potom získajte pomoc o takejto službe použite man name_daemon, a ak tam nie sú žiadne informácie o spustenej službe, potom píšte do komentárov a spoločne zhromaždíme informácie o takejto službe a pridáme ich do zoznamu UNIX/Linux démonov/služieb, ktorý je tu uvedený.

Ak v pomocníkovi man name_daemon nie je žiadny popis služby, potom démon/služba môže byť vírus, v tomto prípade vyhľadajte spustiteľný súbor, kde je name_daemon a pošlite ho na analýzu do vírusového laboratória – dá sa to urobiť bez inštalácie antivírusu cez webové rozhranie, napríklad http://vms.drweb.com/online/, http://www.esetnod32.ru/.support/scanner/ alebo https://www.virustotal.com/.

Automatické načítanie démonov/služieb UNIX/LINUX

Nižšie sú uvedené podrobné pokyny na správu spúšťania démonov/služieb v najbežnejších modifikáciách/verziách UNIX-like OS ako napr CentOS Linux, Debian Linux a OS typu BSD. V iných modifikáciách/verziách OS podobných UNIX má správa automatického zavádzania démonov/služieb podobný postup, aj keď môže mať určité menšie alebo dokonca radikálne rozdiely!

Automatické načítanie démonov/služieb v systéme CentOS Linux

CentOS má definované úrovne zaťaženia podľa princípu System V a sú lakované v súbore /etc/inittab, čítajte menej /etc/inittab .

Adresáre pre každú úroveň zaťaženia sú pomenované a umiestnené v adresári /etc/rc.d.

V každom z adresárov, ktoré zodpovedajú určitej úrovni zaťaženia, sú skripty, alebo skôr odkazy na ne, s pokynmi na spustenie démona/programu/služby a samotné skripty s pokynmi na spustenie démona/programu/služby sa nachádzajú v adresár /etc /rc.d/init.d

Príklad skriptov, ktoré riadia spustenie démona/programu/služby, je možné zobraziť spustením menej /etc/rc.d/init.d/mysqld alebo menej /etc/rc.d/init.d/sshd . Zvyčajne sa skripty, ktoré riadia spustenie démona/programu/služby, objavujú v /etc/rc.d/init.d/ a sú prepojené s adresármi na úrovni spustenia po inštalácii softvéru a ich stav je vypnutý/zapnutý pre každú úroveň behu ovládaný utilitou chkconfig.

Pomocou príkazu chkconfig --list môžete vidieť, ktorí démoni budú bežať na rôznych úrovniach spustenia. Môžete povoliť automatické spustenie démona v ktorejkoľvek z úrovní spustenia pomocou príkazu chkconfig --level 345 mysqld on a vypnúť chkconfig --level 345 mysqld, chkconfig –del názov_služby na odstránenie služby, chkconfig názov_služby zapnuté |off, ak chcete povoliť alebo zakázať službu na všetkých úrovniach.

Čo sa týka pridávania skriptov pri spustení Pre automatické sťahovanie skripty poskytuje /etc/rc.local, v /etc/rc.local stačí pridať úplnú cestu k skriptu, napríklad: /root/scripts/script.sh alebo /bin/sh /root/scripts/script.sh . Ak po inštalácii softvéru nie je v súbore /etc/rc.d/init.d/ ovládací skript spúšťania požadovaný program, potom je jednoduchšie pridať jeho inicializačný/spúšťací riadok do /etc/rc.local.

Existuje nástroj s názvom ntsysv na správu úrovní behu, man ntsysv.

Automatické načítanie démonov/služieb v systéme Debian Linux

Adresáre pre každú úroveň zavádzania v Debian Linuxe sú tiež pomenované rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d Ale, Nachádza už nie v adresári /etc/rc.d, ale v koreňovom adresári /etc

Existovali skripty s inštrukciami na spustenie démona/programu/služby, respektíve symbolické odkazy na ne sa nachádzajú v adresároch /etc/rc?.d kde je znak? zodpovedá úrovni zaťaženia a Samotné skripty s pokynmi na spustenie démona/programu/služby sa nachádzajú v adresári /etc/init.d. Príklad takéhoto skiptu, na základe ktorého si môžete napísať vlastný, nájdete v súbore less /etc/init.d/skeleton.

Nižšie uvedieme vysvetlenie servisných informácií použitých v šablóne skriptu /etc/init.d/skeleton:

  • Poskytuje: Popisuje objekty poskytované týmto skriptom (arg1, agr2, ...) takým spôsobom, že keď je skript spustený s argumentom start, tieto objekty sa považujú za existujúce, a preto sa ostatné skripty v init, ktoré vyžadujú existenciu týchto objekty sa budú môcť spustiť v neskoršom štádiu. Zvyčajne môžete ako objekt použiť názov skriptu, ale môžete použiť aj názov služby, ktorú nahrádza. Virtuálne objekty tu nie sú uvedené. Sú definované mimo skriptov init.d
  • Povinné – Štart: Určuje objekty, ktoré musia existovať na spustenie skriptu. V prípade potreby môžete použiť virtuálne objekty, ako je popísané nižšie. Ak nie sú zadané objekty, potom je možné skript spustiť ihneď po spustení, bez potreby pripojenia lokálnych súborových systémov, spúšťania systémového denníka atď.
  • Povinná zastávka: Určuje objekty používané službou, ktoré poskytuje skript. Objekt poskytnutý týmto skriptom sa musí dokončiť pred dokončením tu uvedených objektov, aby sa predišlo konfliktom. Typicky sú tu označené rovnaké objekty ako v položke Required-Start
  • Malo by sa začať: Určuje objekty, ktoré, ak existujú, by sa mali spustiť pred službou poskytovanou týmto skriptom. To umožňuje slabé závislosti, ktoré nespôsobia zlyhanie služby, ak nie sú dostupné objekty. Virtuálne objekty môžete použiť podľa potreby, ako je popísané nižšie.
  • Malo by sa zastaviť: Určuje objekty, po ktorých by sa mali zastaviť, ak existujú tejto služby. Typicky sú tu špecifikované rovnaké objekty ako v Should-Start
  • Predvolený štart: Nastavuje úrovne spustenia, na ktorých by sa mal skript štandardne spustiť (zastaviť). Napríklad, ak má byť služba spustená iba na úrovniach 3, 4 a 5, špecifikujte "Predvolené spustenie: 3 4 5" a "Predvolené zastavenie: 0 1 2 6".
  • Stručný opis: Určuje krátky popis akcie skriptu. Obmedzené na jeden riadok.
  • Popis: Určuje podrobnejší popis akcie skriptu. Môže byť na viacerých riadkoch, v takom prípade musí každý riadok popisu začínať znakom #, za ktorým nasleduje tabulátor alebo aspoň 2 medzery. Popis končí pred riadkom, ktorý nezodpovedá tejto podmienke.
  • X-Start-Pred, X-Stop-Po: Určuje inverzné závislosti, ktoré majú rovnaký význam, ako keby boli špecifikované v should-start a should-stop v tu špecifikovaných balíkoch.

Kľúčové slová poskytujú, požadované a mali by byť dôležité pre sledovanie závislostí. Zvyšok sa nepoužíva. Program predvolene používa úrovne spustenia na organizáciu skriptov ( napríklad insserv), aby ste mali prehľad o tom, ktorý adresár rc?.d aktualizovať pri prvom pridaní služby a mali by odrážať účel služby. Tu sú niektoré "virtuálne" objekty:

  • $local_fs- Všetky lokálne súborové systémy sú pripojené. Všetky skripty, ktoré píšu do /var/, by mali závisieť od toho, pokiaľ už nezávisia od $remote_fs
  • $network- sieť nízkej úrovne, t.j. sieťové karty, môže znamenať spustenie PCMCIA
  • $named- Predpokladá sa, že démoni, ktorí dokážu poskytnúť rozlíšenie názvu domény, sú spustené. Napríklad DNS, NIS+ alebo LDAP
  • $portmap- Démoni poskytujúci službu mapovania portov SunRPC/ONCRPC, ako je špecifikované v roku 1833 (ak existuje)
  • $remote_fs- Všetky súborové systémy sú pripojené. Skripty, ktoré musia byť spustené počas vypínania systému pred odoslaním signálu zabitia všetkým procesom, musia závisieť od $remote_fs.
  • $syslog- systémový denník funguje
  • $čas- je nastavený správny systémový čas, napríklad ntp alebo rdate, alebo RTC
  • $all- Spustí skript čo možno posledný

Automatické načítanie démonov v Debian Linuxe je riadené pomocou nástroja update-rc.d, ktorý je podrobne popísaný v man update-rc.d . Nástroj update-rc.d nevytvára ani neodstraňuje nič iné ako symbolické odkazy v /etc/rc?.d na takzvané init skripty, ktoré riadia spustenie a zastavenie démona/programu/služby, ktoré sa nachádzajú v adresári /etc/init.d.

Ak je skript na automatické spustenie démona/služby vytvorený manuálne pomocou šablóny /etc/init.d/skeleton, potom ho musíte najskôr umiestniť do adresára /etc/init.d, potom vytvoriť symbolický odkaz na tento skript v adresári /etc/rc?.d, kde? - číslo runlevelu ( úroveň zaťaženia systému). Symbolický odkaz by mal vyzerať takto: S№№script_name, kde č. je číslo objednávky spustenia, ak chcete ponechať symbolický odkaz, ale dočasne nespúšťať skript, potom by sa mal symbolický odkaz upraviť na tento stav KNo.

Pred spracovaním akejkoľvek úrovne vykonávania sa najskôr vykonajú všetky skripty, ktoré začínajú písmenom „. K" (tieto skripty zastavujú služby) a potom sa vykonajú všetky skripty, ktoré začínajú písmenom „ S" (tieto skripty spúšťajú služby). Dvojmiestne číslo za písmenom „S“ alebo „K“ označuje poradie, v ktorom sa skripty vykonajú. Skripty s nižším číslom sa spustia ako prvé, napríklad: S01script_name sa spustí ako prvý a S09script_name sa spustí ako deviaty.

Na vytvorenie symbolického odkazu použite program ln -s súbor1 súbor2 , Kde kľúč -s hovorí o vytvorení symbolického odkazu, súbor1 ukazuje na existujúci súbor a súbor2 názov nového odkazu, ale namiesto manuálneho vytvárania symbolických odkazov môžete použiť nástroj update-rc.d, ktorý je navrhnutý špeciálne na vytváranie symbolických odkazov v /etc/rc?.d na skripty z /etc/init. d.

Syntax update-rc.d je takáto: pridanie s predvolenými parametrami update-rc.d defaults , odstránenie a zastavenie démona/služby update-rc.d -f odstrániť && update-rc.d zastaviť 20 2 3 4 5 . Spustenie a zastavenie démonov/služieb je možné ovládať pomocou skriptu štart|stop|restart s názvom služby.

Úprimne povedané, update-rc.d je relatívne nepriehľadný nástroj, Nástroj chkconfig je pohodlnejší, ktorý nie je štandardne dostupný na Debian Linuxe. Aby sme ho nainštalovali, musíme pridať ďalšie úložiská, odporúča sa používať iba oficiálne úložiská balíkov Debian Linux, na koniec zoznamu vi /etc/apt/sources.list, príklad sources.list v Debian GNU/Linux 6.0.5 _Squeeze_ - Oficiálny i386:

# # deb cdrom:/ squeeze main deb cdrom:/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main # squeeze-updates , predtým známy ako "volatile" # Počas inštalácie nebolo zvolené sieťové zrkadlo. Nasledujúce položky # sú uvedené ako príklady, ale mali by ste ich podľa potreby upraviť # pre teba zrkadlo podľa výberu. # # deb http://ftp.debian.org/debian/ squeeze-updates main # deb-src http://ftp.debian.org/debian/ squeeze-updates main deb http://backports.debian.org/ debian-backports squeeze-backports main deb http://ftp.debian.org/debian/ squeeze main #deb http://repo.yandex.ru/debian squeeze main contrib #deb http://mirror.yandex.ru/ debian squeeze main contrib #deb http://mirror.yandex.ru/debian-multimedia/ squeeze main contrib

Potom aktualizujte zoznam balíkov pomocou apt-get update a nainštalujte chkconfig apt-get install chkconfig a ako alternatívu môžete dodatočne nainštalovať sysv-rc-conf apt-get install sysv-rc-conf . Ako používať utilitu chkconfig bolo uvedené vyššie, ďalej pozri man sysv-rc-conf a man chkconfig.

Pri pridávaní repozitárov Debian Linux si uvedomte softvérové ​​zásady, ktoré sa vzťahujú na každú z oblastí, ako napríklad main, contrib a non-free:

  • Hlavná: - Balíky v tejto oblasti sú súčasťou kompletnej distribúcie Debian Linux a žiadny z balíkov v hlavnej oblasti nevyžaduje na plnú funkčnosť softvér mimo tejto oblasti. Každý môže voľne používať, zdieľať, upravovať a distribuovať balíčky z hlavnej oblasti.
  • prispievať: - Balíky z tejto oblasti môžu byť voľne distribuované, ale niektoré ich závislosti nemusia byť zadarmo.
  • neslobodný: - obsahuje balíky, ktoré sa podľa DSFG nedajú distribuovať zadarmo a balíky z oblasti môžu obsahovať chyby, ktoré nie sú zohľadnené pri vývoji a aktualizácii Debian Linuxu.

Na automatické spúšťanie iných skriptov a programov v Debian Linuxe môžete použiť starý dobrý /etc/rc.local.

Správcovia systému a bežní používatelia Linuxu sa často potrebujú pozrieť do protokolových súborov, aby mohli riešiť problémy. V skutočnosti je to prvá vec, ktorú by mal každý správca systému urobiť, keď sa v systéme vyskytne akákoľvek chyba.

Samotný operačný systém Linux a spustené aplikácie generujú rôzne typy správ, ktoré sa zaznamenávajú do rôznych protokolových súborov. Linux používa špeciálny softvér, súbory a adresáre na ukladanie protokolových súborov. Vedieť, ktoré súbory obsahujú protokoly ktorých programov, vám pomôže ušetriť čas a vyriešiť problém rýchlejšie.

V tomto článku sa pozrieme na hlavné časti linuxového protokolovacieho systému, protokolové súbory, ako aj pomocné programy, pomocou ktorých si môžete prezerať protokoly Linuxu.

Väčšina súborov denníky systému Linux sa nachádzajú v priečinku /var/log/. Súbory protokolu pre váš systém môžete zobraziť pomocou príkazu ls:

Rw-r--r-- 1 koreňový koreň 52198 10. máj 11:03 alternatives.log
drwxr-x--- 2 root root 4096 Nov 14 15:07 apache2
drwxr-xr-x 2 koreňový koreň 4096 25. apríla 12:31 apparmor
drwx------ 2 root root 4096 5. máj 10:15 audit
-rw-r--r-- 1 root root 33100 10. máj 10:33 boot.log

Nižšie sa pozrieme na 20 rôznych protokolových súborov Linuxu umiestnených v adresári /var/log/. Niektoré z týchto protokolov sa nachádzajú iba v určitých distribúciách, napríklad dpkg.log sa nachádza iba v systémoch založených na Debiane.

/var/log/messages- obsahuje globálne protokoly systému Linux vrátane tých, ktoré sa zaznamenávajú pri štarte systému. V tomto denníku je zaznamenaných niekoľko typov správ: mail, cron, rôzne služby, jadro, autentifikácia a iné.

/var/log/dmesg- obsahuje správy prijaté z jadra. Zaznamenáva veľa správ počas fázy zavádzania, zobrazuje informácie o hardvérových zariadeniach, ktoré sú inicializované počas procesu zavádzania. Môžete povedať, že toto je ďalší denník systému Linux. Počet správ v denníku je obmedzený a keď sa súbor zaplní, pri každej novej správe sa prepíšu tie staré. Správy z tohto protokolu môžete zobraziť aj pomocou príkazu dmseg.

/var/log/auth.log- obsahuje informácie o autorizácii užívateľa v systéme, vrátane prihlásenia užívateľov a mechanizmov autentifikácie, ktoré boli použité.

/var/log/boot.log- Obsahuje informácie, ktoré sa zaznamenávajú pri zavádzaní systému.

/var/log/daemon.log- Obsahuje správy od rôznych démonov na pozadí

/var/log/kern.log- Tiež obsahuje správy z jadra, užitočné pri odstraňovaní chýb vo vlastných moduloch zabudovaných do jadra.

/var/log/lastlog- Zobrazuje informácie o poslednej relácii všetkých používateľov. Toto je netextový súbor a na jeho zobrazenie musíte použiť príkaz lastlog.

/var/log/maillog /var/log/mail.log- protokoly e-mailového servera spusteného v systéme.

/var/log/user.log- Informácie zo všetkých protokolov na úrovni používateľa.

/var/log/Xorg.x.log- Protokol správ X servera.

/var/log/alternatives.log- Informácie o fungovaní programu update-alternatives. Sú to symbolické odkazy na predvolené príkazy alebo knižnice.

/var/log/btmp- denník Linuxový súbor obsahuje informácie o neúspešných pokusoch o prihlásenie. Na zobrazenie súboru je vhodné použiť príkaz last -f /var/log/btmp

/var/log/cups- Všetky správy týkajúce sa tlače a tlačiarní.

/var/log/anaconda.log- do tohto súboru sa ukladajú všetky správy zaznamenané počas inštalácie

/var/log/yum.log- Zaznamenáva všetky informácie o inštaláciách balíkov pomocou Yum.

/var/log/cron- Vždy, keď démon Cron začne vykonávať program, zapíše do tohto súboru správu a správy zo samotného programu.

/var/log/secure- obsahuje informácie súvisiace s autentifikáciou a autorizáciou. Napríklad SSHd tu zaznamenáva všetko, vrátane neúspešných pokusov o prihlásenie.

/var/log/wtmp alebo /var/log/utmp - Denníky systému Linux , obsahuje denník prihlásení používateľov. Pomocou príkazu wtmp môžete zistiť, kto a kedy je prihlásený.

/var/log/faillog- denník linuxové systémy, obsahuje neúspešné pokusy o prihlásenie. Na zobrazenie obsahu tohto súboru použite príkaz faillog.

/var/log/mysqld.log- Linuxové protokolové súbory z databázového servera MySQL.

/var/log/httpd/ alebo /var/log/apache2- protokolové súbory webového servera linux11 Apache. Protokoly prístupu sú v súbore access_log a protokoly chýb sú v súbore error_log

/var/log/lighttpd/ - linuxové denníky webový server lighttpd

/var/log/conman/- protokolové súbory klienta ConMan,

/var/log/mail/- tento adresár obsahuje ďalšie protokoly poštového servera

/var/log/prelink/- Prelink program prepája knižnice a spustiteľné súbory na urýchlenie procesu sťahovania. /var/log/prelink/prelink.log obsahuje informácie o súboroch .so, ktoré boli modifikované programom.

/var/log/audit/- Obsahuje informácie generované auditovaným démonom.

/var/log/setroubleshoot/ - SE Linux používa na hlásenie bezpečnostných problémov démona setroubleshootd (SE Trouble Shoot Daemon). Tento protokol obsahuje správy z tohto programu.

/var/log/samba/- obsahuje informácie a protokoly zo súborového servera Samba, ktorý sa používa na pripojenie zdieľané priečinky Windows.

/var/log/sa/- Obsahuje súbory .cap zhromaždené balíkom Sysstat.

/var/log/sssd/- Používa sa démonom zabezpečenia systému, ktorý spravuje vzdialený prístup do adresárov a autentifikačných mechanizmov.

Zobrazenie denníkov v systéme Linux

Na zobrazenie protokolov v systéme Linux je vhodné použiť niekoľko nástrojov príkazového riadku Linuxové reťazce. Môže to byť ktokoľvek textový editor, alebo špeciálna pomôcka. Na prezeranie protokolov v systéme Linux budete s najväčšou pravdepodobnosťou potrebovať práva superužívateľa. Tu sú príkazy, ktoré sa najčastejšie používajú na tieto účely:

  • zgrep
  • zmore

Nebudem sa podrobne zaoberať každým z týchto príkazov, pretože väčšina z nich už bola podrobne diskutovaná na našej webovej stránke. Ale uvediem pár príkladov. Zobrazenie denníkov systému Linux je veľmi jednoduché:

Pozeráme sa na protokol /var/log/messages s možnosťou posúvania:

menej /var/log/messages

Zobrazenie denníkov systému Linux v reálnom čase:

chvost -f /var/log/messages

Otvorte súbor denníka dmesg:

cat /var/log/dmesg

Prvé riadky dmesg:

head /var/log/dmesg

Chyby vydávame iba z /var/log/messages:

grep -i chyba /var/log/messages

Okrem toho si môžete prezerať protokoly v systéme Linux pomocou grafických nástrojov. Systémový program Dá sa použiť prehliadač denníkov pohodlné prezeranie a monitorovací systém logov na notebooku resp osobný počítač s Linuxom.

Program môžete nainštalovať na ľubovoľný systém s nainštalovaným X serverom. Na zobrazenie protokolov je možné použiť aj ľubovoľný grafický editor testov.

závery

V adresári /var/log nájdete všetky potrebné informácie o fungovaní Linuxu. Z dnešného článku ste sa naučili dosť na to, aby ste vedeli, kde hľadať a čo hľadať. Teraz vám prezeranie denníkov v systéme Linux nespôsobí problémy. Ak máte nejaké otázky, opýtajte sa v komentároch!

Každý zo začínajúcich používateľov Linuxu skôr či neskôr narazí na nejaké problémy pri nastavovaní a organizovaní fungovania svojho systému. A každý z nováčikov takmer určite počul radu od skúsenejších používateľov: „Pozrite sa na záznamy.“ Rada je dobrá, ale začiatočník predsa potrebuje vedieť: čo sú polená a kde ich hľadať! V tomto článku sa vám teda pokúsim povedať, čo a kde sledovať.

V programovacom slangu sú „protokoly“ pracovné protokoly, ktoré sú udržiavané samotným operačným systémom a nezávisle mnohými programami. Slovo „časopis“ sa v tomto zmysle často používa ako synonymum slova „protokol“. Existujú dve hlavné situácie, v ktorých vzniká potreba analyzovať protokol: keď niečo v systéme nefunguje tak, ako sme očakávali (vyriešenie problému), a keď existuje podozrenie, že systém bol napadnutý nejakým útočníkom a my potrebujeme zistiť, čo sa presne stalo, ako sa to stalo a čo je potrebné urobiť na odstránenie následkov invázie.

Jedným z najznámejších prípadov použitia protokolových súborov na odhalenie prieniku útočníka je príbeh o zajatí slávneho hackera Kevina Mitnicka špecialistom na počítačovú bezpečnosť Tsuomo Shimomura. Tu je jeden odsek z článku, ktorý popisuje, ako sa to stalo.

„Na Štedrý deň, keď bol Shimomura na prázdninách lyžovať v Nevade, sa niekto (už vieme kto) vlámal do jeho super-zabezpečenej domáci počítač v Solana Beach v Kalifornii a začal kopírovať svoje súbory – stovky utajovaných súborov. Jeden postgraduálny študent v Supercomputing Center v San Diegu, kde Shimomura pracoval, si všimol zmeny v systémových „logových“ súboroch a rýchlo si uvedomil, čo sa deje. To všetko bolo možné vďaka tomu, že Shimomura si na svoj počítač nainštaloval program, ktorý automaticky skopíruje záznamy „denníkov“ do záložného počítača v San Diegu. Študent zavolal Šimomurovi, ktorý sa ponáhľal domov, aby urobil inventúru ukradnutých vecí."

Nebudem tu rozprávať celý príbeh, pre nás je dôležité poznamenať len to, že analýza prevádzkových protokolov systému slúžila ako základ pre úspech vyšetrovania pochybení. Podrobnejší popis, ako takéto vyšetrovania prebiehajú, nájdete v článku. Aby ste však mohli využiť výsledky protokolovania, musíte pochopiť, ako sa protokoly vytvárajú, kde sú uložené a čo sa z nich dá extrahovať. Tento článok je venovaný zváženiu všetkých týchto problémov.

Ako sa generujú správy pre protokol

Musíme začať tým, že pri tvorbe programov v jazyku C majú programátori možnosť v prípade potreby vložiť volania špeciálnych funkcií openlog, setlogmask, syslog A closelog, ktorá je súčasťou štandardnej knižnice jazyka C. Tieto funkcie sa používajú na odosielanie správ o určitých udalostiach počas vykonávania programu špeciálnemu systémovému démonovi syslogd, ktorý vedie systémový protokol. Funkcia openlog nadviaže spojenie s démonom syslogd, funkcia syslog vygeneruje špecifickú správu, ktorá sa má zaznamenať do protokolu, a funkciu closelog zatvorí otvorené spojenie.

Správy generované funkciou syslog, pozostávajú z niekoľkých polí oddelených medzerami. Každá správa začína poľom PRI, ktorý v zakódovanej podobe obsahuje informácie o kategórii správy (zariadení) a úrovni závažnosti (úroveň závažnosti) alebo priorite (priorite) správy.

Kategória (zariadenie) je informácia o tom, do ktorej triedy táto správa patrí. Kategória je kódovaná číslom od 0 do 23. Existujú nasledujúce kategórie (sú definované v súbore /usr/include/sys/syslog.h):

Stôl 1.

Číselná hodnotaSymbolDekódovanie
0 kern Správy jadra
1 užívateľ Navrhnuté pre rôzne správy z používateľských programov. (správy z používateľských programov)
2 pošty Správy od poštový systém.
3 démon Správy od tých systémových démonov, ktoré na rozdiel od FTP alebo LPR nemajú špeciálne vyhradené kategórie.
4 auth Všetko, čo súvisí s autorizáciou používateľa, ako je prihlásenie a su (bezpečnostné/prístupové práva)
5 syslog Logovací systém môže zaznamenávať správy sám od seba.
6 lpr Správy z tlačového systému.
7 správy Správy zo spravodajského servera. (Netové správy, USENET)
8 uucp Správy kopírovacieho protokolu UNIX-to-UNIX. Je súčasťou histórie UNIX a pravdepodobne ho nikdy nebudete potrebovať (hoci časť pošty sa stále doručuje prostredníctvom protokolu UUCP).
9 cron Správy zo systémového plánovača.
10 authpriv Rovnaké ako auth, ale správy v tejto kategórii sa zapisujú do súboru, ktorý môžu čítať len niektorí používatelia (možno je táto kategória vybratá, pretože správy, ktoré do nej patria, môžu obsahovať jasné používateľské heslá, ktoré by nemali vidieť cudzí ľudia, a preto musia mať súbory denníka príslušné prístupové práva).
11 ftp Pomocou tejto kategórie môžete nakonfigurovať váš FTP server tak, aby zaznamenával svoje aktivity.
od 12 do 15 - Vyhradené pre systémové použitie.
od 16 do 23miestne0 - miestny7 Kategórie vyhradené na použitie správcom systému. Kategória local7 sa zvyčajne používa pre správy generované počas fázy zavádzania systému.

Kategória auth má zastaraný názov synonyma bezpečnosť, čo sa neodporúča. Okrem toho existuje špeciálna kategória značka(ktorý nemá digitálny ekvivalent), ktorý je priradený k jednotlivým správam generovaným samotným démonom syslogd. Táto kategória slúži na umiestňovanie špeciálnych značiek do protokolu v určenom časovom intervale (štandardne každých 20 minút), čo umožňuje napríklad s 20-minútovou presnosťou zistiť, kedy vám zamrzol počítač.

Všimnite si, že kategória nemá vo všeobecnosti nič spoločné s názvom programu, ktorý posiela správy démonovi syslogd. Ako sa hovorí, každá náhoda je čistá náhoda. Niektoré programy môžu navyše generovať správy rôznych kategórií. Napríklad démon telnetd v prípade neúspešných pokusov o protokolovanie generuje správy kategórie authpriv a v ostatných prípadoch kategorizuje ich správy démon.

Druhý parameter, na základe ktorého sa tvorí hodnota poľa PRI, je úroveň alebo priorita správy (priorita), teda informácia o miere dôležitosti správy. Štandardne je špecifikovaných 8 úrovní dôležitosti (tiež sú definované v súbore /usr/include/sys/syslog.h), ktoré sú kódované číslami od 0 do 7:

Tabuľka 2

Číselná hodnotaSymbol Dekódovanie
0 vynoriť sa(starý názov PANIK) Pohotovosť. Systém je nefunkčný.
1 upozorniť Úzkosť! Vyžaduje sa okamžitý zásah.
2 krit Kritická chyba(kritický stav).
3 chybovať(starý názov ERROR) Chybná správa.
4 POZOR(starý názov WARN)POZOR.
5 upozorniť Informácie o nejakej bežnej, ale dôležitej udalosti.
6 Info Oznámenie.
7 ladenie Správy generované počas ladenia.

Lúka PRI Správa sa tvorí nasledovne: číselná hodnota kategórie sa vynásobí 8 a pripočíta sa k číselnej hodnote priority, výsledné číslo sa uzatvorí do lomených zátvoriek a zapíše sa do poľa.

Sledovanie poľa PRI Správa obsahuje nasledujúce polia:

  • ČASOVÁ ZNAČKA- čas generovania správy,
  • MENO HOSŤA- názov hostiteľa alebo IP adresa v desiatkovej sústave,
  • MSG- ľubovoľný text správy - nejaký textový (informačný) reťazec v kóde US-ASCII (0x20 - 0x7e).

Čas (miestny!) sa píše vo formáte: 13. február 21:12:06. Ak je číslo dňa jednociferné, potom sa pred neho umiestni ďalšia medzera (nie 0!). Upozorňujeme, že v dátume nie je uvedený rok a zóna, ktoré je potrebné vziať do úvahy pri organizovaní dlhodobého uchovávania súborov denníka. Aby bol čas v správe správny, musí byť synchronizovaný (napríklad pomocou protokolu NTP).

Názov hostiteľa je zahrnutý v správe, aby sa predišlo zámene medzi správami z rôznych hostiteľov, pretože, ako bude uvedené nižšie, protokolovanie sa môže vyskytnúť na jednom z vyhradených počítačov v sieti. Názov hostiteľa je jednoduchý sieťový názov počítača bez určenia domény. Ak má počítač niekoľko rozhraní s rôznymi adresami IP, potom možno ako názov hostiteľa alebo adresu použiť ktorékoľvek z nich.

Text správy ( MSG) zvyčajne obsahuje štítok ( TAG), označujúci program alebo proces, ktorý správu vydal, a telo správy ( OBSAH). Štítok môže obsahovať latinské písmená a čísla. Označenie je zvyčajne jednoduchý názov programu, niekedy doplnený o identifikátor procesu v hranatých zátvorkách. Telo správy je oddelené od označenia špeciálnymi znakmi – v Linuxe sú to zvyčajne dvojbodka a medzera.

Spracovanie správ démonom syslogd

Všetky správy generované jednotlivými programami pomocou funkcie syslog, odoslané cez zásuvku /dev/log systémový démon syslogd, ktorá je zodpovedná za spracovanie týchto správ. Je potrebné povedať, že v skutočnosti sú v systéme spustení dvaja logovací démoni - syslogd A klogd. Oba démoni sú súčasťou balenia sysklogd, ktorej najnovšiu verziu nájdete na webovej stránke.

Démon klogd je zodpovedný za zaznamenávanie udalostí vyskytujúcich sa v jadre systému. Potreba samostatného démona klogd kvôli tomu, že jadro nemôže používať štandardnú funkciu syslog. Faktom je, že štandardné knižnice(vrátane knižnice, v ktorej sa funkcia nachádza syslog) sú určené len na bežné aplikácie. Keďže aj jadro potrebuje podobné funkcie, obsahuje vlastné knižnice, ktoré nie sú dostupné pre aplikácie. Preto jadro používa vlastný mechanizmus generovania správ. Démon klogd je navrhnutý tak, aby organizoval spracovanie týchto správ. V zásade môže takéto spracovanie vykonávať úplne nezávisle a nezávisle od syslogd, napríklad logovaním týchto správ do súboru, no vo väčšine prípadov sa použije predvolené nastavenie klogd, v ktorom sú všetky správy z jadra preposielané rovnakému démonovi syslogd.

Aby ste sa uistili, že démoni syslogd A klogd bežiaci na vašom systéme, spustite príkaz ps -ax | grep log. Tento príkaz mi dal nasledujúci výsledok:

$ ps -ax | grep log 569? S 0:00 syslogd -m 0 574 ? S 0:00 klogd -x 1013 ? S 0:00 prihlásenie -- kos 1191 ? S 0:00 kalarmd --login Prvé dva riadky označujú, že v systéme sú spustené protokolovacie démony.

Spracovanie správ démonom syslogd spočíva v tom, že neustále sleduje vzhľad správ a porovnáva každý prichádzajúci záznam s pravidlami, ktoré sú v súbore /etc/syslog.conf. Každé pravidlo je zapísané ako riadok súboru /etc/syslog.conf, pozostávajúci z dvoch polí. Ľavé pole („selektor“) určuje jednu alebo viac šablón, podľa ktorých sa správy vyberajú. Vzory sú oddelené bodkočiarkou (pozri vzorový súbor nižšie /etc/syslog.conf). Pravé pole („akcia“) určuje poradie, v akom budú vybrané správy spracované. Polia sú oddelené jednou alebo viacerými medzerami alebo tabulátormi.

Každý vzor v poli "selektor" má tvar "category.level" (to znamená "facility.priority"). Hodnoty poľa „kategória“ môžu byť:

  • jeden z konvenčných názvov kategórií uvedených v tabuľke 1,
  • niekoľko takýchto mien (v tomto prípade sú oddelené čiarkami)
  • alebo symbol * (čo znamená „všetky kategórie“).

Hodnoty poľa "úroveň" môžu byť:

  • jeden z názvov úrovní uvedených v tabuľke 2,
  • symbol * (zaznamenajte všetky správy tejto kategórie bez ohľadu na úroveň),
  • alebo slovo žiadny(nenahrávať správy v tejto kategórii).

Zadanie konkrétnej hodnoty do poľa „úroveň“ sa interpretuje ako „všetky hodnoty túto úroveň a vyššie." Ak potrebujete zaznamenať správy iba jednej úrovne, potom musíte pred zadanú hodnotu vložiť znamienko rovnosti („="). Ak chcete zaznamenať správy všetkých úrovní okrem zadanej, potom dať pred názov úrovne Výkričník("!"). Súčasné umiestnenie týchto dvoch značiek sa interpretuje ako „nenahrávajte správy špecifikovanej úrovne alebo vyššej“.

V poli "selektor" nie je žiadny rozdiel medzi veľkými a malými písmenami. Môžete použiť aj čísla (pozri /usr/include/syslog.h). Okrem kategórií uvedených v tabuľke 1 môžete uviesť značka(bežné časové pečiatky) a bezpečnosť(zastarané synonymum pre auth). Okrem hodnôt priority uvedených v tabuľke 2 môžete použiť varovať(synonymum pre POZOR), chyba(synonymum pre chybovať), panika(synonymum pre vynoriť sa).

Keď sa nájde zhoda medzi kategóriou a úrovňou prijatej správy a jedným zo vzorov v poli „selektor“ nejakého reťazca, syslogd spracuje záznam v súlade s akciou uvedenou v poli „akcia“ tohto riadku.

Pole „akcia“ môže obsahovať

  • musí byť zadaný názov bežného súboru (súbor denníka) a úplná cesta k súboru, začínajúc od koreňového adresára „/“ a ak zadaný súbor neexistuje, syslogd vytvára to,
  • názov pomenovaného potrubia - FIFO; v tomto prípade sa pred názov umiestni zvislá čiara ("|") a pred spustením musí byť vytvorený samotný kanál syslogd tím mkfifo,
  • ukazujúce na terminál alebo konzolu (ako v zariadení: /dev/tty1),
  • označenie vzdialeného hostiteľa (pred ktorým je symbol @),
  • alebo zoznam používateľov (oddelených čiarkami), na ktorých terminály bude správa podľa tohto pravidla odoslaná. Namiesto zoznamu používateľov môžete vložiť hviezdičku (*), čo znamená, že správy sa odosielajú všetkým používateľom pracujúcim v tento moment v systéme.

Pole „akcia“ najčastejšie stále obsahuje názov súboru denníka. Okrem toho môžete pred názov súboru vložiť znamienko mínus ("-"), čo znamená, že systém môže súbor uložiť do vyrovnávacej pamäte, namiesto toho, aby ho po zápise každej správy na disk vyprázdnil. To samozrejme urýchľuje prácu, najmä ak sa do protokolu zapisuje veľa veľkých správ, ale môže to viesť k strate niektorých správ v prípade neočakávaného zlyhania systému, teda presne vtedy, keď sú takéto správy obzvlášť potrebné. . Môžete tiež zadať tlačiareň - /dev/lp0 - ako zariadenie v poli "akcia". Túto možnosť „akcie“ je vhodné použiť v prípadoch, keď ide o obzvlášť dôležité systémy. Protokoly, ktoré sú vytlačené, nemôžu hackeri vymazať ani zmeniť, takže je to dobré využitie pre starú ihličkovú tlačiareň.

Okrem riadkov s pravidlami v súbore /etc/syslog.conf môže obsahovať prázdne riadky a riadky komentárov začínajúce symbolom #. Viac o štruktúre súborov /etc/syslog.conf Môžete si prečítať manuálovú stránku syslog.conf, kde nájdete niekoľko príkladov položiek pravidiel v tomto súbore. Upozorňujeme, že pri zadávaní párov „category.level“ v súbore syslog.conf nemožno použiť číselné hodnoty, uvedené v tabuľkách 1 a 2, sú povolené len ich konvenčné názvy.

Ak sa správa zhoduje so vzormi dvoch alebo viacerých reťazcov, bude spracovaná podľa každého z týchto pravidiel (to znamená, že spracovanie správy sa nezastaví pri prvom úspechu). To znamená, že pre jednu správu je možné vykonať ľubovoľný počet akcií. Preto môžete správu zapísať do súboru denníka a odoslať ju používateľom alebo vzdialenému hostiteľovi.

Okrem toho, ak pole „selektor“ uvádza (oddelených bodkočiarkami) niekoľko párov „category.level“, potom nasledujúce páry môžu prepísať predchádzajúce. Príklad takéhoto zrušenia si môžete pozrieť v zozname súborov nižšie /etc/syslog.conf: Všetky správy, ktorých úroveň je rovnaká alebo vyššia ako info, sa zapíšu do súboru /var/log/messages, ale správy z kategórií mail, authpriv a cron sa preskočia (nezapíšu sa).

Výpis 1. Súbor /etc/syslog.conf zo systému postaveného na distribúcii Red Hat Linux 7.1 (komentáre obsiahnuté v tomto súbore som len preložil do ruštiny a pravidlá som zvýraznil tučným písmom).
# Vytlačte všetky správy z jadra do konzoly. #kern.* /dev/console# Zapisovať všetky správy na informačnej úrovni alebo vyššej, # okrem správ poštového systému obsahujúcich # citlivé informácie z overovacích správ a správ cron démonov. *.info;mail.none;authpriv.none;cron.none /var/log/messages# Správy obsahujúce citlivé # overovacie informácie zapisujte do samostatného súboru bez ohľadu na ich úroveň. authpriv.* /var/log/secure# Všetky správy z poštového systému by sa tiež mali zaznamenávať oddelene. mail.* /var/log/maillog# Zaznamenajte akcie démona cron. cron.* /var/log/cron# Núdzové správy by mali okamžite dostať # všetci používatelia systému *.emerg*# Napíšte správy zo spravodajských služieb na úrovni kritu a vyššej do samostatného súboru. uucp,news.crit /var/log/spooler# Správy vydané počas fázy zavádzania sa skopírujú do súboru boot.log local7.* /var/log/boot.log
Ako vidíte, väčšina správ sa jednoducho zapíše do rôznych protokolových súborov umiestnených v adresári /var/log alebo jeho podadresáre, pričom týmto súborom je hlavný systémový protokolový súbor v systéme Red Hat Linux /var/log/messages. Nezahŕňa iba správy z kategórií mail, authpriv a cron (pre ktoré sú vyčlenené samostatné súbory). Pozrime sa na tento súbor a pomocou jeho príkladu uvidíme, čo je zaznamenané v protokolových súboroch.

Súbor denníka /var/log/messages

Samozrejme, nie je možné tu hovoriť o obsahu každého riadku tohto súboru. Aby si čitateľ urobil predstavu, aké informácie sa v protokole nachádzajú, uvádzame jednotlivé riadky správ s veľmi stručnými komentármi.

Každý riadok v protokolovom súbore obsahuje jeden záznam správy pozostávajúci z nasledujúcich polí správy oddelených medzerami:

  • dátum v štandardnom textovom formáte (pole ČASOVÁ ZNAČKA zo správy syslog),
  • názov hostiteľa (pole MENO HOSŤA zo správy syslog)
  • text správy (polia TAG A OBSAH zo správy syslog)

Po prvé, stojí za zmienku, že ak váš počítač nebeží 24 hodín denne, 7 dní v týždni, ale je v noci vypnutý, potom v tomto súbore nájdete záznamy niekoľkých „pracovných cyklov“, počnúc spustením počítača a končiac jeho vypnutím. Takýto cyklus začína správou o spustení logovacích démonov (to je pochopiteľné, správy sa nezaznamenali pred ich spustením):

17. september 08:32:56 kos3 syslogd 1.4-0: reštart. 17. septembra 08:32:56 kos3 syslog: spustenie syslogd bolo úspešné 17. septembra 08:32:56 jadro kos3: klogd 1.4-0, zdroj denníka = /proc/kmsg spustený. Sep 17 08:32:56 kos3 kernel: Kontrola /boot/System.map-2.4.2-2 Sep 17 08:32:56 kos3 syslog: spustenie klogd bolo úspešné

  • - Ktorá verzia jadra sa používa: 17. septembra 08:32:56 jadro kos3: verzia Linux 2.4.2-2 ( [chránený e-mailom]) (gcc verzia 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) #1. nedeľa 8. apríla 20:41:30 EDT 2001
  • - S akými parametrami sa jadro spúšťalo: 17. septembra 08:32:56 jadro kos3: Príkazový riadok jadra: auto BOOT_IMAGE=linux ro root=303 BOOT_FILE=/boot/vmlinuz-2.4.2-2
  • - Informácie o type a kapacite procesora Náhodný vstup do pamäťe: 17. septembra 08:32:56 jadro kos3: Zistený procesor 1594,849 MHz. 17. septembra 08:32:56 jadro kos3: Pamäť: 125652k/130560k je k dispozícii (1365k kód jadra, 4200k rezervovaných, 92k dát, 236k init, 0k highmem) 17.septembra 08:32:55 I Cache CPU:56 CPU:1 kosa:3 , L1 D vyrovnávacia pamäť: 8 kB 17. septembra 08:32:56 jadro kos3: CPU: vyrovnávacia pamäť L2: 256 kB 17. septembra 08:32:56 jadro kos3: CPU: Intel(R) Pentium(R) 4 CPU 1,60 GHz krokovanie 02
  • - Informácie o disková pamäť(vrátane informácií o geometrii disku, štruktúre diskových oddielov a použitých prerušeniach): 17. septembra 08:32:56 jadro kos3: hda: MAXTOR 6L020J1, jednotka ATA DISK 17. septembra 08:32:56 jadro kos3: hdc: SAMSUNG CD-ROM SC -148C, ATAPI CD/DVD-ROM mechanika 17. septembra 08:32:56 jadro kos3: ide0 na 0x1f0-0x1f7,0x3f6 na irq 14. septembra 17 08:32:56 jadro kos3: ide1 na 0x170-0x1 Sep 17 08:32:56 kos3 jadro: hda: 40132503 sektory (20548 MB) w/1819KiB Cache, CHS=2498/255/63, UDMA(100) Sep 17 08:32:56 Partition check 7 kernel: kernel kos3 08:32:56 kos3 jadro: hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >17. septembra 08:32:56 jadro kos3: Disketové jednotky: fd0 je 1,44 M
  • - Informácie o periférne zariadenia: Sep 17 08:32:56 kos3 kernel: usb-uhci.c: USB UHCI at I/O 0x1820, IRQ 11 Sep 17 08:32:56 kos3 kernel: usb-uhci.c: Detegované 2 porty: Sep 17 08 32:56 jadro kos3: ttyS00 pri 0x03f8 (irq = 4) je jadro 16550A 17. septembra 08:32:56 jadro kos3: ttyS01 pri 0x02f8 (irq = 3) je 16550A 08.08.:30. 17. septembra Ethernetový adaptér založený na Intel(R) 8255x 17. septembra 08:32:56 jadro kos3: Adaptér Intel(R) PRO/100 Fast Ethernet – načítateľný ovládač, ver 1.5.6 Sep 17 08:32:56 jadro kos3: PCI: Nájdené IRQ 11 pre zariadenie 02:08.0
  • - Informácie o spustení jednotlivých služieb: 17. 9. 08:32:56 jadro kos3: NET4: Linux TCP/IP 1.0 pre NET4.0 17. 9. 08:32:56 jadro kos3: IP Protokoly: ICMP, UDP, TCP, IGMP 17. septembra 08:32:56 jadro kos3: NET4: Unixové doménové sockety 1.0/SMP pre 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 found 17. September 08:32:42 kos3 rc.sysinit: Turn on user a skupinové kvóty pre lokálne súborové systémy: úspešné 17. september 08:32:43 kos3 rc.sysinit: Povolenie odkladacieho priestoru: úspešné 17. september 08:32:44 kos3 init: Vstup do úrovne behu: 3. september 17 08:32:45 kos3 kudzu: Aktualizácia /etc/fstab uspel 17. september 08:32:55 kos3 kudzu: uspel 17. september 08:32:55 sieť kos3: Nastavenie parametrov siete: úspešné 17. september 08:32:55 sieť kos3: Zvýšenie rozhrania lo: úspešné 17. september 08: 32:56 sieť kos3: Aktivácia rozhrania eth0: úspešná 17. septembra 08:32:56 tabuľka kláves kos3: Načítava sa rozloženie klávesnice: 17. septembra 08:32:56 tabuľka kláves kos3: Načítava sa systémové písmo: 17. septembra 08:32:56 kos3 náhodné: Inicializuje sa generátor náhodných čísel: úspešný 17. september 08:32:41 kos3 rc.sysinit: Konfigurácia parametrov jadra: úspešná 17. september 08:32:41 kos3 rc.sysinit: Nastavenie predvoleného písma (cyr-sun16): úspešné 17. september 08:32: 41 kos3 rc.sysinit: Aktivácia swapovacích oddielov: úspešná 17. september 08:32:41 kos3 rc.sysinit: Nastavenie názvu hostiteľa kos3: úspešné 17. september 08:33:03 kos3 xinetd: spustenie xinetd úspešné 17. september 08:33 gspm5 : spustenie gpm bolo úspešné 17. september 08:33:05 kos3 crond: spustenie crond bolo úspešné 17. september 08:33:06 kos3 xfs: počúvanie na porte 7100 17. september 08:33:06 kos3 xfs: spustenie xfs úspešné
  • - Informácie o pripájaní súborových systémov: 17. septembra 08:32:56 jadro kos3: VFS: Pripojený root (súborový systém ext2) len na čítanie. 17. septembra 08:32:56 jadro kos3: Pridanie swapu: 265032 k swap-space (priorita -1) 17. septembra 08:32:56 jadro kos3: MSDOS FS: Použitie kódovej stránky 866 17. septembra 08:32:56 MSDOS kernel kos3 : IO znaková sada koi8-r 17. september 08:32:41 kos3 rc.sysinit: Pripojenie súborového systému USB: úspešné 17. september 08:32:41 kos3 rc.sysinit: Úspešná kontrola koreňového súborového systému 17. september 08:32:41 kos3 rc.sysinit : Opätovné pripojenie koreňového súborového systému v režime čítania a zápisu: úspešné 17. septembra 08:32:41 kos3 rc.sysinit: Pripojenie súborového systému proc: úspešné 17. septembra 08:32:41 kos3 fsck: /: čisté, 30407/160000 súborov, 95410/3199 bloky 17. septembra 08:32:42 kos3 fsck: /HOME: čisté, 6573/432864 súborov, 689090/863722 blokov 17. septembra 08:32:42 kos3 fsck: /usr: čisté, 55105/3299689 súborov, 682968 súborov 17 08:32:42 kos3 rc.sysinit: Kontrola súborových systémov bola úspešná
  • - Niektoré chybové hlásenia: 17. september 08:32:42 pripojenie kos3: SMB pripojenie zlyhalo 17. september 08:32:42 pripojenie kos3: Odoslanie paketu zlyhalo na 10.104.129.245(137) ERRNO=Sieť je nedostupná 17. september 08:32: 4 kos3 mount: mount: /dev/sda4: neznáme zariadenie 17. septembra 08:32:59 kos3 mount: chyba pri pripájaní k 192.168.36.20:139 (Žiadna trasa k hostiteľovi) 17. september 08:32:59 kos3 mount: mount: / dev /sda4: neznáme zariadenie
  • - Správy o prihlasovaní používateľov: 17. september 08:33:14 kos3 login(pam_unix): relácia otvorená pre používateľa kos LOGIN(uid=0) 17. september 08:33:14 kos3 -- kos: PRIHLÁSIŤ SA NA tty1 BY kos 17. september 08:41:39 kos3 su(pam_unix): zlyhanie autentifikácie; logname=kos uid=500 euid=0 tty= ruser= rhost= user=root
  • - A nakoniec správy zaznamenané pri vypnutí počítača, napríklad: 17. september 10:30:07 kos3 rc: Zastavenie tabuľky kľúčov: úspešné 17. september 10:30:07 server písiem kos3: ukončenie 17. septembra 10:30:08 kos3 xfs: zastavenie xfs úspešné 17. september 10:30:08 kos3 gpm: zastavenie gpm úspešné 17. september 10:30:08 kos3 xinetd: Ukončenie... 17. september 10:30:10 kos3 rpc.statd: Zachytený signál 15, un- registrácia a odchod. 17. septembra 10:30:11 jadro kos3: Protokolovanie jadra (proc) sa zastavilo. 17. septembra 10:30:11 jadro kos3: Ukončenie démona protokolu jadra. 17. september 10:30:12 kos3 syslog: zastavenie klogd bolo úspešné 17. september 10:30:12 kos3 odchod na signál 15

    Záznamy v iných protokolových súboroch uvedených v súbore majú približne rovnakú štruktúru /etc/syslog.conf.

    príkazy logger a tailf

    Z predchádzajúceho popisu môžeme usúdiť, že vydávanie všetkých správ pre systémové protokoly by mal programátor špecifikovať vo fáze tvorby programu. Nie je to celkom pravda. Používateľ má tiež možnosť poslať správu démonovi syslogd. V Linuxe na to existuje príkaz drevorubač, ktorý umožňuje odoslanie správy z príkazového riadku (sh, bash atď.). Je súčasťou balíka util-linux. Prirodzene, tento príkaz je primárne určený na poskytovanie možností protokolovania, keď používateľ vytvára rôzne druhy skriptov shellu. Môže sa však spustiť aj priamo z príkazového riadku, napríklad, aby ste sa oboznámili s možnosťami systému protokolovania. Formát spustenia príkazu: logger [-isd] [-f súbor] [-p PRI] [-t TAG] [-u socket] Možnosti príkazového riadka majú nasledujúci význam:

    • -i- v správe uveďte číslo procesu
    • -s- duplicitná správa pre stderr
    • -d- pri odosielaní správ použiť režim datagramu (namiesto bežného streamovania)
    • -f názov súboru- uložiť správu do zadaný súbor(predvolené je /var/log/messages)
    • -p zariadenie.úroveň- nastavte kategóriu a prioritu správy (predvolené: user.notice)
    • -t TAG - nastavte pole TAG
    • -u zásuvka- poslať správu do určeného soketu namiesto volania syslogd
    • MSG- Text správy

    Pošlite niekoľko správ pomocou programu drevorubač a obdivovať výsledok v súbore /var/log/messages(samozrejme, pokiaľ ste nezmenili predvolenú hodnotu).

    Mimochodom, existuje veľmi zaujímavý spôsob zobrazenia správ zapísaných do súboru /var/log/messages tím drevorubač. Táto metóda je založená na použití špeciálny program chvost. Otvorte okno terminálu, získajte práva superužívateľa (pomocou príkazu su) a spustite príkaz v tomto okne
    tailf /var/log/messages
    Potom prepnite na iný terminál a spustite príkaz tam logger free_text. Vaša správa sa okamžite zobrazí v okne, kde je spustený program chvost. To znamená, že pomocou tohto programu môže správca systému sledovať zaznamenávanie nových správ do protokolu v reálnom čase. pravda, systémový administrátor je sotva čas monitorovať správanie systému týmto spôsobom (okrem snáď núdzové situácie). Preto boli vyvinuté špeciálne programy na analýzu protokolov. Ale viac o nich nižšie, ale teraz prejdime k otázke, ako zorganizovať dohľad nad vzdialeným počítačom (pamätáte si, ako ste chytili útočníka Shimomura?).

    Prihlásenie do siete

    Ako je uvedené, protokolovacie systémové správy môže posielať démon syslogd vzdialenému hostiteľovi. Niekto ho tam však musí prijať. Ukazuje sa, že to robí ten istý démon syslogd, spustený na tomto vzdialenom hostiteľovi. Presnejšie, syslogd na ľubovoľnom počítači dokáže počúvať nielen soket /dev/log (teda prijíma správy z lokálnych zdrojov), ale aj port 514/UDP, ktorý zabezpečuje príjem správ z iných počítačov v lokálnej sieti (a ich následné nahrávanie v lokálny súbor). To umožňuje vytvoriť „logovací server“, ktorý môže byť veľmi pohodlný pre správcu systému (všetky udalosti v sieti sú monitorované na jednom mieste), a tiež zvyšuje bezpečnosť siete, pretože správy o prieniku hackera do jedného z Tento hacker nemôže okamžite nahlásiť, že hostiteľov siete odstráni z protokolu.

    Na zorganizovanie takéhoto „prihlasovania do siete“ je však potrebné vynaložiť ďalšie úsilie.

    Po prvé, keďže port 514/UDP sa používa na odosielanie a prijímanie správ cez sieť, musí byť dostupný na oboch počítačoch (klient aj server). Ak to chcete urobiť v súbore /etc/services linka musí byť prítomná na oboch počítačoch
    syslog 514/udp
    Ak takýto riadok v /etc/services neprítomný, syslogd nemôže prijímať správy ani ich odosielať do siete, pretože nemôže otvoriť port UDP. Ak takáto situácia nastane, syslogd okamžite zastaví písanie akýchkoľvek správ, dokonca aj do lokálneho denníka. Zároveň, ako ukazuje tím ps, zostáva v pamäti a dokonca ukladá správy do niektorých vyrovnávacích pamätí, pretože ak riadok " syslog 514/udp" obnoviť do súboru /etc/services na klientovi, potom podľa najmenej Niektoré z „chýbajúcich“ správ sa stále zobrazujú v protokole (po reštarte syslogd).

    Po druhé, pri spustení démona syslogd možnosť musí byť špecifikovaná na serveri -r, ktorý poskytuje možnosti vzdialeného protokolovania (predvolený démon syslogdčaká na správy iba z lokálneho soketu). Ako a kde nastaviť túto možnosť bude diskutované nižšie, v časti o spustení démona syslogd.

    No a do tretice treba podľa toho opraviť nastavenia v súboroch /etc/syslog.conf na oboch počítačoch. Napríklad, ak chcete presmerovať všetky správy na protokolovací server, musíte zapísať súbor na klientskom počítači /etc/syslog.conf riadok ako tento:
    *.* @meno hosťa
    Ak počas štartu démona syslogd server bude nedostupný (napríklad je momentálne odpojený od siete) alebo ho nebude možné nájsť podľa názvu (služba DNS nefungovala správne) syslogd vykoná ešte 10 pokusov o nájdenie servera a iba ak potom server nenájdete, prestane sa pokúšať a odošle zodpovedajúcu správu.

    Ak máte vo svojej sieti viacero domén, ktoré obsluhuje jeden protokolovací server, nečudujte sa, že protokol na serveri bude obsahovať celé mená klientov (vrátane domény). Pravda, pri štarte syslogd možno použiť možnosti -s domain_list alebo -l zoznam_hostitelov, ktoré poskytujú nahradenie úplných názvov hostiteľov v protokole ich krátkymi názvami (bez uvedenia domény).

    Po úprave možností spustenia a súboru nezabudnite /etc/syslog.conf reštartujte démona, pretože na rozdiel od cron, sysklogd neprečíta konfiguračné súbory automaticky.

    možnosti spustenia démona syslogd

    Keďže sme sa v predchádzajúcej podsekcii dotkli problematiky nastavenia parametrov spúšťania démonov syslogd, pozrime sa na túto problematiku podrobnejšie. Ako už bolo spomenuté, oba protokolovacie démony sa spúšťajú vo fáze inicializácie systému, konkrétnejšie prostredníctvom skriptu /etc/rc.d/init.d/syslog(pre ktoré sa podobne ako pre spúšťacie skripty pre iné služby vytvárajú symbolické odkazy v adresároch /etc/rc.d/rc?.d/). Na nastavenie parametrov spustenia však nie je potrebné upravovať tento skript, pretože od verzie 7.2 v distribúcii Red Hat sa možnosti spustenia oboch démonov načítajú zo samostatného konfiguračného súboru /etc/sysconfig/syslog. Tu je krátky zoznam možných parametrov pre démona syslogd.

    Parametre spustenia syslogd:

    • - zásuvka- Určuje ďalší soket, na ktorom bude démon počúvať syslogd. Môžete zadať až 19 soketov (je možné aj viac, ale na to je potrebné prekompilovať balík). Táto možnosť sa používa v prípadoch, keď nejaký iný démon (napríklad ftp alebo http) beží v obmedzenom prostredí (chrooting).
    • -d- Režim ladenia. V tomto prípade démon nejde do režim na pozadí a odošle všetky správy na aktuálny terminál.
    • -f názov-konfiguračného-súboru Určuje názov alternatívneho konfiguračného súboru, ktorý sa použije namiesto predvoleného súboru /etc/syslog.conf.
    • -h Predvolené v sysklogd Je zakázané prenášať správy prijaté cez sieť na iný počítač. Deje sa tak, aby sa zabránilo nekonečným prenosom správ po kruhu. Voľba -h vám umožňuje zmeniť obvyklé správanie a zabezpečiť, aby sa správy prijaté od vzdialených hostiteľov prenášali ďalej cez sieť (a postarajte sa o prípadné zacyklenie sami).
    • -l zoznam hostiteľov- Určuje zoznam hostiteľov, ktorých mená by nemali byť zapísané s úplným názvom domény (FQDN - Full Qualified Domain Name); mená v zozname sú oddelené dvojbodkou.
    • -m minút Spustený bez tejto možnosti sysklogd pravidelne (každých 20 minút) zaznamenáva správy kategórií do protokolu značka, teda jednoducho časové pečiatky. Pomocou možnosti -m môžete buď zmeniť interval medzi značkami, alebo úplne zrušiť vydávanie takýchto správ, pre ktoré musíte interval nastaviť na nulu: -m 0.
    • -n Nezmiznúť do pozadia; táto možnosť je potrebná v prípadoch, keď je syslogd spustený a riadený procesom init.
    • -p zásuvka Určuje alternatívny soket UNIX (namiesto predvoleného počúvania /dev/log). Poznámka: možnosť -ašpecifikuje ďalšie zásuvky a -p- alternatíva!
    • -r Povoliť prijímanie správ od vzdialených hostiteľov. Hovorili sme o tom v predchádzajúcej časti, takže podrobnosti vynechám.
    • -s domain-list Určuje zoznam domén, ktorých názvy nemusia byť prihlásené spolu s názvom hostiteľa (to znamená, že pre tieto domény sa namiesto úplného názvu domény (FQDN) zaznamená iba názov hostiteľa). Názvy v zozname sú oddelené dvojbodkou Názov domény, v ktorej sa nachádza server syslogd , nemusí byť uvedený v tomto zozname (jeho názov je štandardne odstránený).
    • -v Ukážte verziu a dokončite prácu.
    • -X Zakázať určenie názvu hostiteľa podľa jeho adresy, zabráni zablokovaniu pri práci na rovnakom hostiteľovi so serverom DNS.

    Po spustení démona syslogd vytvorí sa stavový súbor /var/lock/subsys/syslog nulovú dĺžku a súbor s identifikačným číslom procesu /var/run/syslogd.pid.

    Pomocou príkazu
    kill -SIGNAL `cat /var/run/syslogd.pid`
    môžete poslať démonovi syslogd jeden z nasledujúcich signálov:

    • SIGHUP - reštart démona (reinicializácia); všetky otvorené súbory sa zatvoria, démon sa znova spustí a znovu načíta svoj konfiguračný súbor.
    • SIGTERM - vypnutie.
    • SIGINT, SIGQUIT - ak je povolený režim ladenia (možnosť -d), signály sa ignorujú, v opačnom prípade sa vypne.
    • SIGUSR1 - zapnutie/vypnutie režimu ladenia (funguje iba ak bol démon spustený prepínačom -d).

    Démon klogd nemá menej možností spustenia ako syslogd, nebudeme ich tu však uvádzať a odkážeme čitateľa na príslušnú manuálovú stránku (používateľ by sa nemal obťažovať nastavovaním klogd, je lepšie ho nechať v stave, v akom ho vyrobili vývojári distribúcie).

    súbor dmesg a príkaz dmesg

    Ako už bolo spomenuté, súbory denníka uvedené v súbore /etc/syslog.conf zvyčajne umiestnené v adresári /var/log a jeho podadresáre. Ak sa však pozrieme do tohto adresára, nájdeme tam niekoľko súborov /etc/syslog.conf neboli spomenuté. Pozrime sa na ich účel. Začnime so súborom dmesg.

    Najprv musíme spomenúť, že Linux má príkaz s rovnakým názvom. Ak porovnáte výstup tohto príkazu (keď je spustený bez parametrov) s obsahom súboru /var/log/dmesg, zistíte, že sú veľmi podobné, aj keď nie totožné (výstup príkazu nasmerujte do súboru dmesg2 a porovnajte súbory dmesg A dmesg2). Presnejšie spis /var/log/dmesg jedna ku jednej sa zhoduje so začiatkom výstupu, ktorý dostaneme z príkazu dmesg. Ako vyplýva z , jadro má kruhovú vyrovnávaciu pamäť, do ktorej sa zapisujú správy od démona protokolovania jadra. Správy, ktoré sa zapíšu do tejto vyrovnávacej pamäte počas procesu sťahovania, tvoria obsah súboru /var/log/dmesg. Zdá sa, že tento súbor sa generuje po zavedení systému.

    Ak sa znova pozriete na poskytnutý zoznam súborov /etc/syslog.conf, uvidíte, že všetky správy v kategórii kern sa vydávajú aj do konzoly. Ale tam rýchlo prebehnú po obrazovke a sotva ich máte čas prečítať a pochopiť. Ale sú uložené v súbore /var/log/dmesg a sú tak k dispozícii na pokojnú reflexiu (ak je proces sťahovania úspešne dokončený). Po dokončení procesu zavádzania pokračuje zapisovanie správ z jadra do vyrovnávacej pamäte zvonenia. Keď je príkaz vykonaný dmesg, zobrazí sa aktuálny stav vyrovnávacej pamäte. Preto výstup tohto príkazu obsahuje viac správ ako súbor /var/log/dmesg: vo výstupe tohto príkazu tiež vidíte správy, ktoré jadro vydáva po dokončení procesu zavádzania.

    Všetky správy od /var/log/dmesg nájdete v súbore /var/log/messages, len tam sa striedajú so správami z iných programov. Je tu len jeden podstatný rozdiel: v súbore dmesgčas a zdroj správy (názov hostiteľa a kategória správy) nie sú špecifikované. Hostiteľ je tu vždy „miestny“ a začiatok odpočítavania času je určený posledným reštartom počítača.

    lastlog, wtmp a utmp súbory

    Okrem súboru dmesg v katalógu /var/log/ existujú ďalšie dva súbory, ktoré nie sú spomenuté /etc/syslog.conf, ale priamo súvisí s protokolovaním – ide o súbory lastlog A wtmp. Ale pozrite sa na ne rovnakým spôsobom, ako sme sa pozerali na súbor /var/log/messages nedáva zmysel - ničomu nebudete rozumieť. Faktom je, že informácie v týchto súboroch sú zaznamenané v špeciálnom formáte a musia sa prezerať pomocou špeciálneho softvér. Najprv si však musíme povedať pár slov o účele týchto súborov.

    Súbor lastlog uchováva informácie o poslednom prihlásení používateľa. Neviem, či ste si všimli, že keď zadáte svoje používateľské meno a heslo, na obrazovke sa zobrazí niečo ako nasledujúca správa:

    Localhost login: kos Heslo: Posledné prihlásenie: Stred 9. októbra 19:25:53 na tty1 Tieto tri riadky vygeneruje obslužný program Prihlásiť sa, ktorý po zistení, že používateľ má prihlasovacie práva, pristupuje k súboru /var/log/lastlog, odtiaľ získa informácie o predchádzajúcom úspešnom prihlásení používateľa, zobrazí ich na obrazovke a potom aktualizuje záznam v súbore lastlog. Túto správu môžete potlačiť vytvorením prázdneho súboru .hushlogin vo svojom domovskom adresári. Neodporúča sa to však robiť, naopak by ste mali venovať osobitnú pozornosť obsahu tejto správy, aby vám neunikli prípady, keď sa pod vaším menom prihlásil niekto iný.

    Na rozdiel od súboru /var/log/lastlog, ktorý obsahuje časové záznamy posledný prihlásenie pre každého používateľa v súbore /var/log/wtmp sa pamätajú Všetky prihlásenia a odhlásenia používateľov od vytvorenia tohto súboru. Rovnaké ako v súbore lastlog, záznamy v /var/log/wtmp sú vyrobené v špeciálnom formáte, takže ich možno prezerať iba pomocou špeciálnych príkazov. Ale predtým, než sa budeme baviť o týchto príkazoch, povedzme, že existuje ďalší súbor obsahujúci záznamy o protokolovaní používateľov – toto je súbor /var/run/utmp. Tento súbor obsahuje informácie o tom, ktorí používatelia momentálne pracujú v systéme.

    Teraz môžete hovoriť o tom, ako zobraziť informácie o používateľoch, ktorí pracujú alebo predtým pracovali v systéme. Hlavným príkazom je príkaz posledný. Zobrazuje všetky záznamy zo súboru /var/log/wtmp, pričom je uvedené užívateľské meno, označenie terminálu, z ktorého užívateľ pracoval, čas prihlásenia užívateľa do systému a čas odhlásenia sa zo systému, ako aj trvanie relácie užívateľa v systéme. Ak bola práca používateľa prerušená len z dôvodu vypnutia samotného systému, namiesto času odchodu používateľa je slovo „dole“ (z týchto riadkov je ľahké určiť čas zastavenia systému). Čas reštartu sa zobrazuje v samostatných riadkoch začínajúc slovom „reboot“.

    Tím lastb ako tím posledný, ale zobrazuje informácie o neúspešných pokusoch o prihlásenie používateľa. Treba však poznamenať, že tento príkaz bude fungovať iba vtedy, ak súbor existuje /var/log/btmp. Žiadny z programov, o ktorých sa tu hovorí, však nevytvára súbory denníka, takže ak sa niektorý z nich odstráni, nahrávanie sa skončí.

    Tím lastlog formátuje a zobrazuje obsah súboru /var/log/lastlog. Zobrazí sa meno používateľa, názov terminálu, z ktorého sa používateľ prihlásil, a čas posledného prihlásenia. Štandardne (keď je príkaz zadaný bez parametrov) prvky súboru /var/log/lastlog sa zobrazí v poradí podľa čísla ID používateľa. Ak zadáte voľbu -u login-name, zobrazí sa len čas posledného prihlásenia zadaného užívateľa. Zadaním parametra -t days získate záznamy len za posledné dni dní. Ak sa používateľ do systému vôbec neprihlásil, namiesto názvu terminálu a času posledného prihlásenia sa zobrazí reťazec „**Nikdy sa neprihlásil**“.

    Pri vykonávaní príkazu lastlog Na pomalom počítači sa v niektorých prípadoch môže zdať, že príkaz zasekol. K tomu dochádza v dôsledku skutočnosti, že aj keď sú v systéme zaregistrovaní iba dvaja používatelia (root a používateľ), v súbore /var/log/lastlog stále je priestor pre prácu na systéme čo najväčšiemu počtu používateľov. Preto v spise /var/log/lastlog Medzi identifikačnými číslami používateľov pracujúcich v systéme môžu byť veľké medzery. Pretože pri prezeraní takýchto intervalov program nezobrazuje informácie na obrazovke a dochádza k dojmu „zamrznutia“.

    Ak chcete zobraziť informácie o tom, kto práve pracuje na systéme, použite príkazy w, SZO A používateľov. Tím používateľov sa používa, keď chcete len vedieť, ktorý používateľ práve pracuje v systéme, ale nezaujíma vás, z ktorého terminálu sa pripojil a čo robí. Ak chcete vedieť, kto sa z akého terminálu prihlásil, použite príkaz SZO. Tento príkaz vytlačí informácie zo súboru /var/run/utmp. Môžete vynútiť výstup údajov zo súboru /var/log/wtmp(alebo akýkoľvek iný súbor, pre ktorý to dáva zmysel), ak zadáte názov tohto súboru v príkazový riadok. Vo výstupe však stále uvidíte iba používateľské meno, označenie terminálu, z ktorého sa používateľ prihlásil, čas prihlásenia a v prípade prihlásenia pomocou vzdialený počítač, názov tohto počítača.

    Príkaz vydáva podstatne viac informácií w. V jeho výstupe uvidíte aktuálny čas, ako dlho systém beží, koľko používateľov momentálne v systéme pracuje a priemernú záťaž systému za poslednú minútu, 5 a 15 minút. Potom pre každého používateľa vytlačí:

  • používateľské meno,
  • názov terminálu,
  • názov vzdialeného hostiteľa
  • čas, ktorý uplynul od prihlásenia,
  • čas, počas ktorého sa tento terminál nepoužíva (čas nečinnosti),
  • celkový čas strávený všetkými procesmi začatými od tohto terminálu(stĺpec JCPU),
  • čas, počas ktorého beží posledný proces spustený používateľom (graf PCPU),
  • informácie o tom, ktorý program práve vykonáva užívateľ (vo forme príkazového riadku na spustenie príkazu so všetkými parametrami).

    Ako už bolo spomenuté, tým w zobrazuje informácie uložené v súbore utmp. Mimochodom, manuál muž uvádza, že bežných používateľov musí byť odmietnutý prístup k zápisu do súboru utmp, pretože mnoho systémových programov (z nejakých nevysvetliteľných dôvodov) závisí od jeho integrity. Ak povolíte ľubovoľnému používateľovi zapisovať do súboru utmp, riskujete mätúce súbory systémových štatistík a vykonanie zmien v systémových súboroch.

    Protokolové súbory iných programov

    Okrem súborov, o ktorých sme už hovorili, existujú aj iné protokolové súbory, ktoré vytvárajú samostatné programy. Najtypickejším príkladom sú protokoly démonov samba, ftpd alebo httpd, ktoré sa vykonávajú v samostatné súbory. Niektoré z týchto programov vytvárajú svoje protokoly v podadresároch adresára /var/log/, iní ukladajú protokoly na iné miesta. A štruktúra týchto súborov sa môže výrazne líšiť od štruktúry súborov vytvorených systémom syslog. Ako príklad uvediem niekoľko riadkov zo serverového protokolu Apache bežiace na mojom počítači: 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/20020530 " 192.168.36.21 - - "GET /ve/papers/new/log/protok_lovim.htm HTTP/1.1" 200 46597 "http://linux/ve/papers/new/log/" "Mozilla/5.0 (X11; U ; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" 192.168.36.21 - - "GET /bugtraq.css HTTP/1.1" 404 279 "http://linux/ve/papers/new/log/ protok_lovim .htm" "Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.0.0) Gecko/20020530" 192.168.36.21 - - "GET /img/bug1.gif HTTP/1.1" 404 280 " 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/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" Ako vidíte, štruktúra tohto súboru protokolu sa výrazne líši od toho, čo sme videli v systémových protokoloch.

    Server Samba sa okrem hlavného operačného protokolu servera vytvára v podadresári /var/log/samba celý rad protokolových súborov pre rôzne prípady, najmä samostatné súbory pre každého z používateľov, ktorí môžu využívať prostriedky poskytované týmto serverom. Nasledujúce dva záznamy sú prevzaté z jedného takéhoto súboru:

    Smbd/service.c:make_connection(550) linux (192.168.36.10) pripojiť sa k verejnej službe ako používateľ kos (uid=500, gid=500) (pid 1366) smbd/service.c:close_cnum(550) linux (192.1) 36.10) uzavreté pripojenie k servisnej verejnosti Vyššie uvedené príklady ukazujú, že ak viete čítať trochu anglicky a rozumiete štruktúre záznamov, môžete získať veľa zo súborov denníka užitočná informácia. Len to musí byť extrahované z celých ložísk „odpadu“ - obrovských sekvenčných protokolových súborov, čo je netriviálna úloha. Preto boli vyvinuté špeciálne softvérové ​​nástroje na analýzu protokolov.

    Nástroje na spracovanie protokolov

    Na analýzu protokolov bolo vyvinutých pomerne veľa rôznych programov a skriptov. obmedzím sa stručný popis dva takéto prostriedky: logwatch A vzorkovník.

    logwatch je skript Perl zahrnutý v štandardnej distribúcii Red Hat Linux. Práve počas prípravy tohto článku bola verzia 4.1 tohto programu zverejnená na webovej stránke vývojára (a je ním Kirk Bauer).

    Hlavnou myšlienkou tohto programu je, že protokolový súbor prechádza cez filter, ktorý z protokolu vyberie všetky riadky (teda správy), ktoré spĺňajú dané kritérium. Výsledky odosiela e-mail určenému používateľovi (štandardne - root). Filtre môžu byť napísané v akomkoľvek programovacom jazyku, ale autor balíka preferuje Perl. Filtre musia byť zapísané na čítanie údajov z stdin a výstup výsledku do stdout.

    Základné použitie logwatch pozostáva zo zahrnutia odkazu na hlavný skript ( /etc/log.d/scripts/logwatch.pl) do adresára /etc/cron.daily, čo spôsobí každodenné spustenie logwatch s predvolenými nastaveniami. Odkazu sa priradí názov, ktorý začína na „00“ (napr. 00-logwatch), takže skript sa spustí pred logrotate.

    Skript však môžete spustiť aj z príkazového riadku. Samozrejme, ak ste nezmenili parameter výstupu informácií, výsledok jeho činnosti by ste mali hľadať v poštovej schránke superužívateľa. Ak chcete tieto výsledky vidieť na obrazovke, musíte nastaviť parameter na príkazovom riadku --tlač- vydať správu stdout.

    Všeobecný formát spustenia skriptu:

    /etc/log.d/scripts/logwatch.pl [--detailúrovni ] [--súbor denníkačasopis-skupina ] [--služba názov služby ] [--print] [--mailto adresu ] [--uložiť názov súboru ] [--archív] [--rozsah dátum-interval ]

    Predvolené parametre sú uložené v súbore /etc/log.d/logwatch.conf, komentáre, ktoré vám pomôžu pochopiť význam parametrov príkazového riadka:

    • LogDir - adresár, ku ktorému sa berú do úvahy názvy súborov;
    • MailTo - komu poslať správu;
    • Tlač - namiesto odoslania správy poštou ju vypíšte na stdout;
    • Uložiť - namiesto odoslania správy poštou ju uložte do určeného súboru;
    • Archív – proces nielen aktuálne verzie logy, ale aj staré kópie vytvorené logrotate;
    • Rozsah - spracovať zadaný časový interval: Všetko, Dnes, Včera (včerajší kalendárny deň);
    • Detail – úroveň podrobností správy: od 0 do 10 alebo Nízka, Stredná, Vysoká;
    • Služba – všetko alebo názov filtra z /etc/log.d/scripts/services/ (možno zadať niekoľko filtrov);
    • LogFile – Všetko alebo názov skupiny denníkov (môže byť špecifikovaných niekoľko skupín).

    Viac informácií o skripte logwatch nájdete v .

    Článok popisuje ďalší skript na spracovanie log súborov, ktorý je súčasťou distribúcie Mandrake Linux. Tento skript sa nazýva vzorkovník(“Simple WATCHer”) a je tiež napísaný v jazyku Perl.

    Riadenie práce vzorkovníkštandardne vykonávané pomocou jedného konfiguračného súboru $HOME/.swatchrc. Tento súbor obsahuje vzorový text (vo formulári regulárne výrazy), ktorý vzorkovník bude hľadať v protokolových súboroch. Po každom takomto príklade je uvedená akcia vzorkovník musí podniknúť kroky, ak narazí na text, ktorý sa zhoduje so vzorom.

    Napríklad chcete byť varovaní vždy, keď sa na vašom webovom serveri pokúsi o útok pretečenia vyrovnávacej pamäte, keď sa požaduje veľmi dlhý názov súboru. A viete, že v takýchto prípadoch v súbore denníka /var/apache/error.log Zobrazí sa správa so slovami „Názov súboru je príliš dlhý“. V tomto prípade do vášho súboru .swatchrc Musí sa vložiť tento pokyn:

    Watchfor /Názov súboru je príliš dlhý/ mail [chránený e-mailom], predmet=BufferOverflow_inttempt

    Podrobnejší popis programu tu nebudem uvádzať. vzorkovník. Venuje sa tomu nadšený článok a samotný program nájdete na stránke. Chcem len upozorniť, a vzorkovník, A logwatch implementovať pomerne primitívny algoritmus na spracovanie protokolových súborov, ktorý sa scvrkáva na vyhľadávanie daného reťazca znakov (podpisu) v protokole. Medzitým, po prvé, prítomnosť takejto linky často nenaznačuje prienik útočníka a po druhé, kompetentný útočník sa môže postarať o vymazanie stôp po svojej činnosti. Ďalšou zjavnou nevýhodou kontrolovaných produktov je, že fungujú v „odloženom režime“, pretože fungujú iba podľa plánu. A boj proti votrelcom sa musí vykonávať „v reálnom čase“ a okamžite reagovať na pokusy preniknúť do systému. Preto komerčné produkty ponúkajú monitorovacie systémy, ktoré fungujú nepretržite a implementujú „inteligentné“ algoritmy analýzy protokolov. Tieto algoritmy sú založené na štatistickej analýze toku správ a identifikácii štatisticky významných odchýlok systému od jeho normálneho správania.

    Na záver tejto časti poznamenávam, že webová stránka SecurityLab.ru (http://www.securitylab.ru/tools/?ID=22111) poskytuje zoznam odkazov na stránky rôznych softvérových nástrojov na spracovanie protokolov so stručným popis týchto nástrojov. Môžete experimentovať s rôznymi programami a vybrať si ten, ktorý vám vyhovuje.

    Rotujúce protokolové súbory

    Samozrejme chápete, že ak sa systém intenzívne používa, súbory denníka rýchlo rastú. Čo má za následok plytvanie miestom na disku. A vzniká problém „skrotenia“ protokolov. V Red Hat Linuxe je tento problém vyriešený skriptami logrotate, ktorý sa nachádza v adresári /etc/cron.daily, a preto ho spúšťa démon cron denne. Tento skript vám umožňuje spracovávať nielen systémové protokoly syslog, ale aj akékoľvek iné programy.

    Skript logrotate monitoruje rast log súborov a zabezpečuje takzvanú rotáciu týchto súborov, ak prekročia určenú veľkosť (alebo po stanovenom časovom intervale). Rotácia nie je nič iné ako postupné kopírovanie predchádzajúcich verzií archívnych súborov približne takto:

  • správy.2 -> správy.3
  • správy.1 -> správy.2
  • správy.0 -> správy.1
  • správy -> správy.0
    a vytvorenie nového súboru správ na zaznamenávanie nasledujúcich správ.

    Zoznam súborov, ktoré má skript spracovať logrotate a parametre tohto spracovania sú určené konfiguračnými súbormi, ktorých môže byť niekoľko. Názvy konfiguračných súborov sú uvedené v príkazovom riadku spustenia skriptu (parametre spustenia nájdete nižšie). V systéme Red Hat Linux sú predvolene konfiguračné súbory pre logrotate súbor sa používa /etc/logrotate.conf, ktorý môže vyzerať asi takto:

    Týždenná rotácia 4 vytvorenie kompresie zahŕňa /etc/logrotate.d /var/log/wtmp /var/log/lastlog (mesačné vytvorenie 0664 root utmp rotácia 1)

    Tento súbor je ako každý konfiguračný súbor pre skript logrotate pozostáva z niekoľkých sekcií. Prvá časť definuje globálne parametre (jeden na riadok), ktoré nastavujú predvolené parametre pre všetky protokoly. Nasledujúce časti definujú lokálne parametre pre sériu protokolových súborov. Názvy týchto súborov sú uvedené v prvom riadku sekcie a následne sú v zložených zátvorkách uvedené lokálne parametre, ktoré sú platné len pri spracovaní zadaných súborov (tiež jeden parameter na riadok). Názvy protokolových súborov môžu byť citované podľa pravidiel shellu, ak obsahujú medzery alebo iné špeciálne znaky. Môžete zadať viacero názvov súborov alebo vzorov názvov súborov oddelených medzerami (vzory sa tiež riadia pravidlami shellu). Spracovanie každej sekcie sa považuje za jednu akciu. Riadky začínajúce symbolom „#“ sú komentáre. Lokálne parametre majú prednosť pred globálnymi.

    Príklad konfiguračného súboru najskôr popisuje globálne parametre a potom v samostatnej časti parametre na spracovanie súborov /var/log/wtmp a /var/log/lastlog. Okrem toho je medzi globálnymi parametrami uvedený odkaz na adresár /etc/logrotate.d, do ktorého každý balík zapisuje lokálne parametre pre svoje protokoly.

    V sekcii globálnych parametrov najprv nastavíte jeden z nasledujúcich parametrov, ktoré určujú kritérium rotácie súboru:

  • denne- zmeny verzií v sérii sa vyskytujú denne,
  • týždenne- verzie sa menia týždenne,
  • mesačne- verzie sa menia mesačne,
  • veľkosť byte - zmena verzie nastane, ak veľkosť protokolu prekročí určený počet bajtov; môžete použiť prípony "k" - kilobajt - a "M" - megabajt)

  • a parametrom zahŕňajú, za ktorým nasleduje názov ďalšieho (dodatočného) konfiguračného súboru alebo dokonca názov adresára. V druhom prípade sa všetky súbory v zadanom adresári, okrem podadresárov, špeciálnych súborov a súborov s príponami zo zoznamu výnimiek, považujú za konfiguračné súbory pre skript. logrotate(smernica zahŕňajú nemožno použiť v sekcii, ktorá špecifikuje parametre spracovania pre skupinu súborov).

    Parameter točiť sa číslo možno nájsť medzi globálnymi aj lokálnymi parametrami a určuje, koľko starých verzií sa má uložiť; ak je číslo 0, tak sa nevytvoria archivované verzie protokolu.

    Ak je parameter špecifikovaný komprimovať, potom sú staršie verzie komprimované pomocou gzip a ak je špecifikované nocompress- nezmenšujú sa. Parameter komprimovaťcmd umožňuje určiť, ktorý kompresný program sa použije (štandardne gzip) a uncompresscmd určuje dekompresný program (predvolené - ungzip). možnosti kompresie nastavuje parametre kompresného programu; predvolená hodnota je "-9", t.j. maximálna kompresia pre gzip. Pomocou parametra kompresný text môžete zmeniť príponu pre komprimované súbory a rozšírenie prípona určuje príponu pridanú k názvom súborov počas rotácie (pred príponou kompresie).

    Medzi Kľúčové slová, ktorý sa nachádza v konfiguračných súboroch, by sme si mali všimnúť najmä slová postrotovať A predrotovať, ktoré slúžia ako otváracie zátvorky na zahrnutie do konfiguračných súborov skriptov shellu. Všetky riadky konfiguračného súboru z riadku postrotovať linkovať koncový skript sa vykonávajú ako príkazy shellu po procese zmeny verzie súboru denníka. Podľa toho všetky riadky z riadku predrotovať linkovať koncový skript sa vykonajú pred otočením súborov denníka. Pomocou týchto skriptov môžete organizovať rôzne procedúry na spracovanie protokolových súborov počas rotácie.

    Pomocou iných parametrov konfiguračného súboru môžete predefinovať prístupové práva k protokolovým súborom (ak tento parameter nie je zadaný, použijú sa atribúty starého protokolového súboru); uviesť, komu sa majú posielať správy o chybách vo fungovaní systému protokolovania; poslať archivovanú kópiu denníka určenému používateľovi; nastaviť adresár, do ktorého sa budú protokoly presúvať pri zmenách verzie (adresár musí byť na rovnakom fyzickom zariadení ako /var/log) alebo nastaviť zoznam prípon vylúčení pre adresár zahŕňajú. Detailný popis Tieto vlastnosti a parametre (ako aj tie, ktoré neboli spomenuté) nájdete s príkazom muž logrotovať.

    Ako už bolo spomenuté, ďalšie konfiguračné súbory logrotate možno zadať v príkazovom riadku spustenia skriptu. Môžete zadať ľubovoľný počet názvov konfiguračných súborov alebo adresárov. Názvy súborov a adresárov v tomto zozname sú oddelené jednoducho medzerami. Na poradí, v akom sú mená uvedené, záleží, pretože možnosti sú uvedené nižšie konfiguračný súbor, prekrývajú hodnoty parametrov špecifikovaných v predchádzajúci súbor. Poradie súborov v konfiguračnom adresári nie je definované.

    Okrem toho môžete v príkazovom riadku pri spustení zadať nasledujúce parametre:

    • -d- režim ladenia, nevykonávajú sa žiadne skutočné zmeny,
    • -f- robiť zmeny, aj keď logrotate nevidí potrebu - používa sa pri zmenách v zozname spracovaných protokolov,
    • mužské hodinky
    • Mick Bauer, „Paranoidný tučniak: vzorkovník: Automatické monitorovanie denníka pre ostražitých, ale lenivých“
    • RFC 3164. C. Lonvick, protokol BSD Syslog, august 2001.
    • RFC 3195. D. New, M. Rose, Spoľahlivá dodávka pre syslog, november 2001.
    • Za. S. Lapshansky, „Démon sleduje systém“
    • Denis Kolisničenko,

    Akcie démona syslogd sú riadené konfiguračným súborom /etc/syslog.conf. Toto je jednoduchý textový súbor, v ktorom sa ignorujú prázdne riadky a riadky s # na prvej pozícii. Formát súboru je nasledujúci:

    <селектор> <действие>.

    Napríklad,

    mail.err /var/log/mail.errors

    Tento riadok zabezpečí, že všetky chyby doručenia pošty budú zaznamenané v súbore /var/log/mail.errors.

    Dôležité: Ako oddeľovač medzi selektorom a akciou používajte iba kláves . Použitie medzier by bolo chybou, ktorú nie je ľahké odhaliť.

    Ako ste si už všimli, volič je napísaný v zloženom tvare. IN všeobecný pohľad vyzerá to ako prostriedok.úroveň

    Navyše v teréne<селектор>môže obsahovať jeden alebo viac selektorov oddelených bodkočiarkou. Selektor môže obsahovať skupinu zariadení oddelených čiarkami. Selektor môže obsahovať znaky * a žiadne, čo znamená „všetko“ a „nič“.

    Príklady selektora:

    prostriedky.úroveň pôsobenia

    znamená 1, znamená 2. úroveň pôsobenia

    znamená 1. úroveň 1, znamená 2. úroveň 2 akciu

    *.akčná úroveň

    *.úroveň;znamená.žiadnu akciu

    Nasledujúce tabuľky uvádzajú hlavné názvy funkcií syslog a úrovne závažnosti.

    Nástroj Programy, ktoré ho používajú

    kernel Systémové jadro

    užívateľ Užívateľské procesy

    mail Emailový systém

    démon Systémové démony

    auth Security and Authority Systems

    Tlačový systém lpr

    novinky Telekonferenčný systém

    cron Démon cron

    local0-7 Osem úrovní lokálnej správy

    syslog Interné systémové správy syslog

    ftp ftpd démon

    *Všetky vyššie uvedené prostriedky

    Úroveň Hodnota úrovne

    núdzové Núdzové situácie

    upozorniť Naliehavé situácie

    kritické stavy

    err Chybové stavy

    varovanie Varovania

    upozornenie Nezvyčajné podmienky

    Info Informačné správy

    ladenie Informácie o ladení

    Úrovne sú uvedené v zostupnom poradí. To znamená, že úrovne označujú minimálnu dôležitosť, ktorú musí mať správa, aby bola prihlásená do systému syslog.

    Lúka<действие>označuje, čo sa má urobiť s prijatou správou.

    Popis akcie

    filename Napíšte správu do súboru na lokálnom počítači

    @machinename Prepošle správu démonovi syslogd na zadanom počítači

    @IP_address To isté, len je špecifikovaná IP adresa stroja

    user1, Zobrazte správu na obrazovkách určených používateľov...

    userN

    * Zobrazte správu na obrazovkách všetkých používateľov

    *.emerg /dev/console

    *.err;auth.notice /dev/console

    *.err;auth,mail,user.info /var/log/messages

    mail.err /var/log/mail.log

    mail.info @192.168.0.1

    Keď už hovoríme o systéme syslog, musíme spomenúť príkaz logger, ktorý umožňuje zapisovať záznamy do systémového logu zo skriptov shellu.

    Tento príkaz je užitočný na kontrolu zmien vykonaných v súbore /etc/syslog.conf.

    local5.warning /var/log/local.log

    a chcete skontrolovať, či to funguje, potom zadajte príkaz

    # logger -p local5.warning "Miestny test"

    Pozrite si súbor /var/log/local.log. Ak tam riadok "Local test" nie je, potom ste s najväčšou pravdepodobnosťou zabudli poslať signál HUP démonovi syslogd.

    SERGEJ SUPRUNOV

    Tipy FreeBSD: pomocou syslog

    - Prepáčte, súdruhovia, mám zapísané všetky ťahy!

    "Kancelária píše," povedal Ostap.

    I. Ilf, E. Petrov „12 stoličiek“.

    Logovanie prevádzky akéhokoľvek systému a najmä servera je jednou z najdôležitejších súčastí administrácie. Sú to protokolové súbory, na ktoré sa pozeráme ako prvé, keď sa v systéme vyskytnú problémy. Odtiaľ získavame istotu, že ten či onen program funguje podľa očakávania. Pri vývoji webových aplikácií sa protokolový súbor stáva najdôležitejším zdrojom informácií o ladení. Bude sa diskutovať o vlastnostiach démona syslog, ktorý je zodpovedný za protokolovanie systémových informácií.

    Čo je syslog

    Syslog je centralizovaná služba, ktorá zhromažďuje a zaznamenáva informácie o protokoloch z rôznych komponentov operačného systému a používateľských procesov. Programy tretích strán môžu spravidla pracovať so svojimi protokolovými súbormi nezávisle, hoci mnohé z nich možno nakonfigurovať tak, aby pracovali s démonom syslogd. Medzi výhody používania syslog patrí možnosť spravovať zber potrebných informácií pomocou jediného konfiguračného súboru, čo zaisťuje konzistenciu vo výsledných log súboroch a v konečnom dôsledku zjednodušuje ich správu.

    Službu syslog poskytuje démon syslogd, ktorý sa automaticky spúšťa pri štarte systému. Neustále sa nachádza v pamäti, čaká na správy od iných procesov a spracováva ich podľa svojich nastavení.

    Každá správa je charakterizovaná úrovňou a zdrojom (zariadením). Úroveň špecifikuje mieru dôležitosti správy z hľadiska prevádzky systému. Súbor syslog.h definuje nasledujúce úrovne (priority):

    Tabuľka 1. Úrovne správ

    úroveň

    Popis

    objavovať sa, panika

    Stav "paniky"

    upozorniť

    Stav vyžadujúci okamžitý zásah

    krit

    Kritický stav

    chyba, chyba

    Iné prevádzkové chyby

    varovanie, varovanie

    Varovania

    upozorniť

    Správy, ktoré nie sú chybami, ale mali by ste im venovať pozornosť

    Info

    Informačné správy (normálna prevádzka)

    ladenie

    Informácie o ladení

    Tabuľka 1 uvádza úrovne správ v zostupnom poradí. Toto poradie bude potrebné neskôr pri diskusii o syntaxi konfiguračného súboru.

    Označenia úrovne správ napísané na rovnakom riadku (napríklad emerg a panika) sú synonymá a možno použiť ktorékoľvek z nich. Panika, chyba a varovanie (uvedené na druhom mieste v tabuľke) sú však zastarané a pri úprave konfiguračného súboru sa im treba vyhnúť. Namiesto toho použite emerg, err a warning.

    Možné zdroje správ sú uvedené v tabuľke 2:

    Tabuľka 2. Zdroje správ

    Zdroj

    Popis

    kern

    Správy jadra

    auth, authpriv

    bezpečnosť

    Bezpečnostné správy (napríklad z brány firewall)

    konzoly

    Správy prichádzajúce do konzoly (/dev/console)

    syslog

    Natívne správy syslog

    cron

    Cron správy

    Správy časovej služby

    Správy FTP servery

    Vytlačte správy podsystému

    pošty

    Správy poštových služieb

    správy

    Správy spravodajskej služby

    uucp

    Správy UUCP

    démon

    Správy od iných démonov spustených v systéme

    užívateľ

    Správy o používateľskom procese

    miestne0 – miestne7

    Môže byť použitý pre rôzne potreby používateľov (niekedy využívané systémom)

    Pri konfigurácii aplikácie na používanie služby syslog skontrolujte, ktoré zariadenie používa. Niektoré programy vám umožňujú určiť zdroj sami. Napríklad démon clamd (hlavný proces antivírusu clamav) štandardne používa local6, ale umožňuje vám nastaviť iný zdroj (parameter LogFacility v konfiguračnom súbore). V niektorých prípadoch môže byť užitočné skombinovať jeho správy so správami z poštových služieb, pričom ako zdroj uveďte LOG_MAIL.

    Možnosti spustenia démonov

    Úplný zoznam možností spustenia nájdete na manuálovej stránke syslogd. Tu zvážime len niektoré z nich.

    Syslog je schopný zaznamenávať prichádzajúce správy do protokolových súborov (ktoré sa zvyčajne nachádzajú v adresári /var/log), odosielať ich do používateľskej konzoly alebo pripojeného terminálu, odosielať ich na vzdialený hostiteľ alebo ich odosielať do externého nástroja na spracovanie. cez potrubie.

    Na prácu v sieti používa syslog porty 514 (UDP a TCP). Pri spustení bez ďalších parametrov bude syslogd počúvať na týchto portoch a čakať na prichádzajúce správy. Prepínač -s bráni prijatiu prichádzajúcich správ, ale zásuvky na porte 514 sú stále vytvorené pre odchádzajúce pripojenia, takže syslogd môže posielať správy vzdialeným hostiteľom. Zdvojnásobenie prepínača (-ss) tiež zakáže odchádzajúce spojenia.

    Štandardne sa syslogd spúšťa prepínačom -s (pozri /etc/defaults/rc.conf, parameter syslogd_flags), takže prichádzajúce pripojenia sú zakázané. Ak chcete použiť službu syslog vášho servera na obsluhu viacerých počítačov, pridajte nasledujúci riadok do /etc/rc.conf:

    syslogd_flags= ””

    Toto prepíše hodnotu nastavenú v /etc/defaults/rc.conf a syslogd bude môcť obsluhovať prichádzajúce pripojenia. Prirodzene, v tomto prípade je potrebné zabezpečiť požadovanú úroveň bezpečnosti, čím sa eliminuje možnosť, že by iní hostitelia čokoľvek zapisovali do vašich protokolov. Prepínač -a vám umožňuje nastaviť obmedzenia pre prichádzajúce pripojenia (pozri man syslogd). Dôležitú úlohu zohráva aj správne nakonfigurovaný firewall.

    Ďalší užitočný prepínač -l vám umožňuje zadať ďalšie soketové súbory, ktoré démon syslogd počúva okrem predvoleného /var/run/log. Tento kľúč je napríklad potrebný, aby syslog mohol obsluhovať programy bežiace v chrootovanom prostredí. Konkrétne takto funguje name, počnúc BIND 9. Vo FreeBSD 5.3 sa syslogd spúšťa pomocou nasledujúcich kľúčov:

    #ps-wax | grep syslog

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

    Syntax konfiguračného súboru

    Protokolovanie je nakonfigurované v súbore /etc/syslog.conf. Je samozrejmé, že ho môže upravovať iba používateľ root. Tento súbor obsahuje dva typy reťazcov – nazvime ich „filtre“ a „pravidlá“.

    Riadok filtra špecifikuje program alebo hostiteľa, z ktorého budú na správy z neho aplikované nasledujúce pravidlá. Filter v tvare “!prog” (alebo “#!prog”) označuje, že nasledujúce riadky odkazujú na protokoly, ktoré generuje určený prog program. Synonymom pre tento záznam je „!+prog“. Riadok "!-prog" na druhej strane naznačuje, že nasledujúce pravidlá budú platiť pre všetky správy okrem tých, ktoré pochádzajú z prog programu. Je povolené uvádzať niekoľko programov oddelených čiarkami, pričom znak „+“ alebo „-“ platí pre celý zoznam.

    Ak je reťazec filtra zadaný ako "+názov hostiteľa", potom sa zadaný hostiteľ použije ako zdroj správ, ktoré by mali byť spracované nasledujúcimi pravidlami. Rovnako ako v prípade programov, symbol „-“ označuje, že pravidlá sa budú vzťahovať na všetky správy okrem tých, ktoré prichádzajú od určeného hostiteľa. Môžete zadať zoznam hostiteľov oddelených čiarkami.

    Znak "*" zadaný ako program alebo hostiteľ prepíše filter, ktorý bol nastavený predtým. To znamená, že pravidlá špecifikované za takýmto riadkom budú platiť pre všetky správy. Filtre s názvom hostiteľa alebo programu sú navzájom nezávislé a môžu fungovať súčasne. Napríklad:

    # Tu uvedené pravidlá platia pre všetky správy

    Môj.hostiteľ

    # Pravidlá platia pre všetky správy z my.host

    Logger

    # Pravidlá sa aplikujú na správy z loggera z my.host (filter hostiteľa zostáva v platnosti)

    # Pravidlá platia pre správy od su na my.host

    # Pravidlá platia pre správy od su z akéhokoľvek hostiteľa (filter hostiteľa je zrušený, programový filter funguje ďalej)

    # Pravidlá platia pre všetky správy (zruší sa aj programový filter)

    Riadky pravidiel vyzerajú takto:

    zariadenie.CMPlevel cieľ

    Zariadenie je zdroj správy („*“ označuje akékoľvek zdroje), úroveň je úroveň správ, ktoré budú spracované v súlade s týmto pravidlom. Servisné slovo „žiadne“ uvedené namiesto úrovne dáva pokyny na úplné vylúčenie správ z tohto zdroja.

    CMP – operácia porovnávania (symboly „>“, „“ sú povolené<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    Cieľ určuje, kam sa má táto správa uložiť. Môže to byť súbor denníka (uvádza sa úplná cesta začínajúca znakom „/“), adresa vzdialeného servera (začínajúca symbolom „@“), meno používateľa (správy sa budú odosielať na terminál, na ktorý sa používateľ nachádza pripojený). Správu je možné preniesť aj do externého programu na spracovanie, pre ktorý sa používa symbol dopravníka „|“.

    Niekoľko príkladov pravidiel

    Všetky správy jadra budú odoslané do súboru kern.log.

    kern.* /var/log/kern.log

    Všetky chybové hlásenia, ako aj núdzové, výstražné a kritické správy budú umiestnené v all-err.log. Všimnite si pomlčku pred názvom súboru denníka. V predvolenom nastavení sa správy ukladajú do vyrovnávacej pamäte a zapisujú sa na disk, keď je vyrovnávacia pamäť plná. Tým sa zníži zaťaženie systému súborov, ale v prípade zlyhania počítača môže dôjsť k strate niektorých informácií. Spojovník pred názvom súboru spôsobí, že démon syslogd okamžite zapíše správy na disk.

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

    Správy o ladení pre používateľské procesy budú odoslané na terminál, ku ktorému je používateľ vasya aktuálne pripojený.

    user.debug Vasya

    Všetky správy zo správ a e-mailových služieb budú presmerované na port 514 stroja syslog.host.ru.

    mail.*,správy.* @syslog.host.ru

    Všetky správy tlačovej služby, ktorých úroveň je nižšia ako varovanie, sa umiestnia do určeného súboru. Ako už bolo uvedené, predvolené porovnanie je "väčšie alebo rovné" a "!" prevráti ho a nahradí ho slovom „menej“. Ak potrebujete vylúčiť konkrétnu úroveň, mali by ste použiť konštrukciu „!=“.

    lpr.!varovanie /var/log/printers.log

    hlásenia úrovne ladenia (a iba toto) s úrovňou zariadenia 0 a úrovňou 3 budú výstupom na všetky pripojené terminály.

    úroveň 0, úroveň 3. = ladenie *

    Správy časovej služby, ktoré sú vyššie ako kritické (t. j. vznikajúce a varovné) a menšie alebo rovnaké ako upozornenie (upozornenie, informácie a ladenie), budú odoslané na terminály používateľov ntpuser a root.

    ntp.>crit,<=notice ntpuser,root

    Všetky správy na úrovni varovania, s výnimkou správ pochádzajúcich z poštových služieb, budú zaznamenané v súbore warning.log.

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

    V tomto prípade budú všetky správy, ktorých úroveň je väčšia alebo rovná crit, odoslané e-mailom používateľovi root.

    *.crit | mail -s koreň „kritickej správy“.

    Ako môžete vidieť, formát konfiguračného súboru umožňuje, aby boli na jednom riadku uvedené viaceré úrovne, zdroje a ciele, vďaka čomu je konfigurácia flexibilnejšia. Aby sa zmeny po úprave prejavili, musíte do procesu syslogd odoslať signál HUP:

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

    Je potrebné poznamenať, že ak konkrétna správa podlieha niekoľkým riadkom v konfiguračnom súbore, bude spracovaná v súlade s každým z nich. Príklad:

    mail.* /var/log/maillog

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

    V tomto prípade správy mail.err skončia v maillog aj error.log.

    Stratégia vytvárania konfiguračného súboru

    Na záver našej recenzie konfiguračného súboru poviem pár slov o stratégiách jeho kompilácie. Okrem veľmi obľúbeného „pokiaľ to funguje“ môžeme rozlíšiť dve hlavné, ktoré budeme zhruba nazývať „podľa zdroja“ a „podľa účelu“.

    • Prvou stratégiou, ktorú možno vidieť v mnohých distribúciách GNU/Linux, je napísať odlišné pravidlo pre každý zdroj správ (alebo skupinu pravidiel, ak by sa správy na rôznych úrovniach mali spracovávať odlišne). Jeho výhodou je jednoduché určenie, kde sa zaznamenávajú správy z konkrétnych služieb.
    • Stratégia "podľa cieľa" zahŕňa vytvorenie, ak je to možné, len jeden riadok pre každého "príjemcu" správy, ako je napríklad súbor. Tento prístup sleduje najmä FreeBSD. V dôsledku toho môžete ľahko určiť, aké informácie sa zapisujú do konkrétneho protokolového súboru, ale napríklad ciele pre správy jadra sa musia zhromažďovať v celom konfiguračnom súbore.

    Pomôcka na zaznamenávanie údajov

    Systém obsahuje nástroj na zaznamenávanie údajov, ktorý vám umožňuje odosielať správy do služby syslog priamo z príkazového riadku. Je vhodné ho použiť pri testovaní konfiguračných pravidiel, ako aj vo vyvinutých skriptoch na zaznamenávanie ich prevádzky. Príklady:

    user$ logger -p user.err “Chyba v užívateľskom programe!”

    user$ logger -h syslog.host.ru „Otestovať“

    Prvý príklad odošle správu s chybou na úrovni užívateľa zariadenia, ktorá bude spracovaná podľa konfiguračného súboru. Druhý príkaz odošle správu vzdialenému hostiteľovi, predvolený zdroj a úroveň budú nastavené na user.notice.

    Použitie rotačných mechanizmov

    Mechanizmus protokolovania diskutovaný vyššie neposkytuje žiadnu správu protokolových súborov. Správy sa do nich jednoducho umiestňujú podľa pravidiel popísaných v konfiguračnom súbore. To znamená, že protokolové súbory budú neustále rásť a ak sa nič neurobí, skôr či neskôr zaplnia všetok dostupný priestor príslušného oddielu. Aby sa tomu zabránilo, používa sa rotačný mechanizmus.

    Napríklad, keď veľkosť súboru debug.log presiahne 100 MB, premenuje sa na debug.log.0 a zabalí do debug.log.0.bz2. A namiesto toho sa vytvorí nový debug.log. Potom, keď veľkosť nového súboru dosiahne 100 MB, debug.log.0.bz2 sa premenuje na debug.log.1.bz2 a zopakuje sa vyššie popísaný postup. Systém ukladá len určitý počet archívnych súborov, pričom najstaršie vymaže. Toto je rotácia.

    nástroj newsyslog

    V systéme FreeBSD je za rotáciu zodpovedný nástroj newsyslog, ktorý je štandardne spúšťaný na začiatku každej hodiny démonom cron. Dobu rotácie môžete zmeniť úpravou súboru /etc/crontab.

    Parametre rotácie uvedené vo vyššie uvedenom príklade (veľkosť súboru, balenie), ako aj množstvo ďalších, sa nastavujú v konfiguračnom súbore /etc/newsyslog.conf. Pre každý súbor, ktorý je potrebné otočiť, obsahuje riadok zvyčajne deviatich polí: názov súboru, vlastník a skupina, prístupové práva, najvyššie číslo v názve archívneho súboru, maximálna veľkosť súboru, doba otáčania, ďalšie príznaky a cesta k súboru PID súbor aplikácie, do ktorej je potrebné odoslať signál po otočení, a číslo signálu, ktorý sa má odoslať. (Odoslanie signálu do procesu môže byť potrebné, napríklad ak proces ponecháva súbor denníka stále otvorený; ak sa tak nestane, použitý deskriptor súboru sa nebude zhodovať s novovytvoreným súborom.) Niektoré polia môžu byť vynechané . Tu sú dva príklady, úplné a „typické“:

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

    Podľa tohto pravidla by mal byť súbor pflog prepísaný, akonáhle jeho veľkosť presiahne 100 MB (5. pole) bez ohľadu na čas (znak „*“ v 6. poli). Archivované súbory budú mať názvy ako pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 atď.) a X nemôže byť viac ako tri (parameter 3 v 4. poli). Príznak J označuje, že archívny súbor by mal byť zabalený pomocou pomôcky bzip2. Vďaka príznaku B sa do archivovaných a novovytvorených súborov nebudú pridávať správy služby rotácie, pretože súbor je vnímaný ako binárny. Novovytvorený súbor bude vlastniť užívateľ root a skupina kolies (toto pole môže byť vynechané, pretože ide o predvoleného vlastníka). Povolenia budú nastavené na rw------- (číselná hodnota 600), čo znamená, že tento súbor bude môcť čítať a zapisovať iba vlastník. Nakoniec sa procesu, ktorého PID je uložené v /var/run/pflog.pid, odošle signál 1 (HUP), aby sa znovu otvoril jeho súbor denníka.

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

    Toto pravidlo určuje parametre rotácie pre súbor maillog: bez ohľadu na veľkosť (hviezdička v 5. poli) sa súbor prepíše každú noc o 00:00 (v man newsyslog.conf je formát času popísaný dostatočne podrobne). Archív musí byť zabalený, bude uložených posledných 8 archívov (očíslovaných 0 až 7 vrátane), novovytvorený súbor bude vo vlastníctve užívateľa root (predvolená hodnota, takže pole vlastníka sa preskočí) a bude mať oprávnenia rw-r -----.

    Na zobrazenie zbalených protokolových súborov môžete použiť pomocné programy zcat a bzcat (pre gzip a bzip2). Midnight Commander automaticky volá príslušné nástroje.

    Po úprave súboru newsyslog.conf nie je potrebné nikam posielať žiadne signály – konfigurácia sa znova načíta pri ďalšom volaní newsysyslogu.

    Treba poznamenať, že nástroj newsyslog nie je viazaný na démona syslogd. To znamená, že ho možno použiť na otáčanie akýchkoľvek súborov, ktoré to potrebujú. Ak je zapnutá rotácia pre protokoly, ktoré aplikácia vedie nezávisle (napríklad protokoly lastúr alebo chobotníc), potom buďte obzvlášť opatrní pri zadávaní vlastníka a prístupových práv. Ich nesprávne zadanie môže viesť k tomu, že po rotácii aplikácia spustená ako neprivilegovaný používateľ nebude môcť zapisovať do novovytvoreného súboru.

    Zhrnutie

    Systém syslog je veľmi výkonný a efektívny nástroj na zaznamenávanie rôznych udalostí vyskytujúcich sa v systéme. Predvolené nastavenia sú pomerne vyvážené a fungujú dobre pre väčšinu systémov. Pochopenie toho, ako syslog funguje, vám však umožní výrazne zlepšiť kvalitu protokolovania prispôsobením zaznamenávania informácií protokolu presne podľa vašich potrieb.