10. Logovanie

Posledná zmena: 7/9/2021

10.1 Praktický význam logovania

Ak ste sa dočítali až sem, pravdepodobne Vám nemusím vysvetľovať, prečo existuje logovanie. Určite ste sa už stretli s problémom, ktorý ste vyriešili sledovaním logov a následnými opravami problémových konfiguračných súborov. Logy sú tiež neoceniteľné v prípade, že sa niekto pokúša dostať na Váš server, pravdaže, neoprávneným spôsobom.

Pre prípad, že začínate čítanie Príručky touto kapitolou a pre úplnosť, o ktorú sa tu snažím, si niečo o logovaní predsa len povieme:

Logovanie je schopnosť procesu (najčastejšie nejakého obslužného démona, ale nie je to podmienkou) zaznamenať nejakú informáciu pre neskoršiu analýzu systémovým administrátorom. Niektoré procesy využívajú vlastné logovacie služby a logujú do vlastných logovacích súborov, vo väčšine prípadov sa však využívajú služby špeciálneho démona, ktorého jedinou úlohou je prijímať správy od iných procesov a zaznamenávať ich do súborov spolu s časom, menom a číslom procesu.

Výhodou tohto riešenia je fakt, že logovacie súbory má na starosti jediný proces, ktorý kontroluje prístup k nim (má právo zápisu) a serializuje správy od jednotlivých procesov. Logovací proces môže správy vhodne filtrovať, kategorizovať alebo ich rozdeľovať do samostatných súborov, podľa toho, čo umožní jeho konfigurácia. Logovací proces sa spúšťa pri štarte servera a mal by neustále bežať, pretože iba vtedy má celé logovanie význam. Je celkom bežnou praktikou, že po preniknutí na Váš server vypína útočník logovanie, aby znemožnil neskoršiu analýzu svojich krokov.

Typická správa v logu pozostáva z jedného alebo viacerých riadkov, ktoré obsahujú čas, meno a číslo procesu, ktorý správu vytvoril a samotného textu správy. Za všetky slová jeden reálny príklad:

Mar 13 21:30:31 hudson xinetd[1002]: Started working: 2 available services

Uvedený riadok obsahuje zľava doprava:

  1. dátum (Mar 13 21:30:30)
  2. meno počítača, z ktorého pochádza správa (hudson)
  3. meno procesu (xinetd)
  4. PID procesu (1002)
  5. správa ("Started working: 2 available services")

Démonov na logovanie správ existuje samozrejme niekoľko, rozoberieme si však iba tie, s ktorými sa v reálnom živote najčastejšie stretnete a ktoré sa používajú v moderných distribúciách Linuxu alebo aj na Unixoch.

10.2 Syslogd

"syslogd" je najpoužívanejším logovacím démonom, pochádza pôvodne z BSD unixu, ale stretnete sa s ním skutočne v každej distribúcii Linuxu alebo verzii Unixu. Proces, ktorý zabezpečuje logovanie aplikácií, sa nazýva "syslogd" a spolu s ním zvykne bežať aj sesterský démon, "klogd", ktorý loguje správy z kernelu.

Poznámka: ak sa rozhodnete použiť nasledujúce informácie pri konfigurovaní "syslogd" na Unixoch, môže sa stať, že niektoré veci nebudú fungovať presne tak, ako na Linuxe. Jednotlivé implementácie démona sa odlišujú.

10.2.1 Facility a priority

Pri logovaní správ treba rozlišovať dva pojmy:

Facility (zdroj správy)

Pojem "facility" určuje subsystém, z ktorého pochádza správa, resp. typ správy (informácie). "syslogd" rozlišuje tieto typy správ:

Priority (priorita)

Pojem "priority" označuje dôležitosť správy. Platí pravidlo, že so zvyšujucou sa dôležitosťou správy klesá počet správ, ktoré démon s touto prioritou vyprodukuje. Inými slovami, démon logujúci s nižšou prioritou je "ukecanejší", pretože informuje aj o tom, že dýcha :-)

"syslogd" rozlišuje tieto priority vo vzostupnom poradí dôležitosti:

10.2.2 Konfigurácia "syslogd"

Celá konfigurácia démona "syslogd" pozostáva z definovania pravidiel, ktoré určujú, aká akcia sa vykoná pre špecifický typ informácie danej dôležitosti. Najčastejšie sa používa presmerovanie do súboru, môžete však použiť aj presmerovanie správ na iný server a zbierať tak údaje z viacerých serverov na jedinom serveri alebo výpis na terminál Konfigurácia "syslogd" je uložená v súbore "/etc/syslog.conf". Jednotlivé pravidlá sa nachádzajú na samostatných riadkoch v tvare:

  facility.priority     akcia

Kde:

Ukážeme si teraz niekoľko príkladov (veľa ich nájdete aj v manuálovej stránke "man syslog.conf"):

Príklad 1: logovanie všetkých autentifikačných správ do súboru "/var/log/auth.log". Tieto údaje musia byť oddelené od ostatných, pretože môžu obsahovať citlivé informácie - napr. používateľ pri prihlasovaní zadal svoje heslo namiesto svojho prihlasovacieho mena, neprihlási sa a systém zaloguje hlásenie o chybe aj s domnelým menom používateľa, v skutočnosti jeho heslom. Súbor by mal byť čitateľný len pre roota!

  auth,authpriv.*			/var/log/auth.log

Poznámka: znak "*" ako zástupný znak platí pre obe "facility" - auth aj authpriv!

Príklad 2: logovanie všetkých správ týkajúcich sa mailov do súboru "/var/log/mail.log". Okrem toho logujeme všetky správy týkajúce sa mailov do troch samostatných súborov: do "/var/log/mail.info" s dôležitosťou "info" a vyššou, do "/var/log/mail.warn" s dôležitosťou "warn" a vyššou a napokon do "/var/log/mail.err" s dôležitosťou "err" a vyššou. Toto sa dá využiť napr. v prípade, že máte automatické skripty, ktoré tieto logy prezerajú.

  mail.*			/var/log/mail.log
  mail.info			-/var/log/mail.info
  mail.warn			-/var/log/mail.warn
  mail.err			/var/log/mail.err

Príklad 3: logujeme všetky správy OKREM autentifikačných (auth,authpriv.none) a okrem "mail.info" do súboru "/var/log/syslog". Toto má byť všeobecný log, v ktorom sa dá nájsť takmer všetko. Autentifikačné údaje sem neposielame preto, že tie môžu byť citlivejšie, napr. môžu obsahovať heslo, ktoré používateľ chybne použil ako svoje prihlasovacie meno. No a maily tu ignorujeme preto, že na stredne vyťazenom mailovom serveri zaplnia informácie o prichádzajúcej a odchádzajúcej pošte väčšiu časť tohto logu.

Pozor, v nasledujucom priklade bola chyba! Pred "mail.!=info" musi byt znak ";" (FIXED: 4/7/2003)

  *.*;auth,authpriv.none;mail.!=info		-/var/log/syslog

Takto vyzerá kompletný "/etc/syslog.conf" na Debiane s niekoľkými mojimi úpravami, ktoré môžete použiť ako odporúčania, prípadne inšpiráciu pre Váš konkrétny server:

#  /etc/syslog.conf	Configuration file for syslogd.
#
#			For more information see syslog.conf(5)
#			manpage.

#
# First some standard logfiles.  Log by facility.
#

# VIX: citlive udaje tykajuce sa prihlasovania pouzivatelov
# (tento subor by mal byt chmod 640, root:adm)

auth,authpriv.*			/var/log/auth.log

# VIX: logujem vsetko okrem autentifikacnych udajov a udajov o odosielani
# a prijimani mailov (je ich velmi vela!)

# !! VIX !! pozor, v nasledujucom priklade bola chyba! Pred "mail.!=info" musi
# byt znak ";"
# FIXED: 4/7/2003

*.*;auth,authpriv.none;mail.!=info		-/var/log/syslog

# VIX: udaje o behu demona crond ma nezaujimaju natolko, aby som mal vyhradeny
# dalsi logovaci subor

#cron.*				/var/log/cron.log

# VIX: udaje vacsiny demonov idu sem

daemon.*			-/var/log/daemon.log

# VIX: logovanie sprav z kernelu

kern.*				-/var/log/kern.log

# VIX: logovanie sprav tlacoveho demona

lpr.*				-/var/log/lpr.log

# VIX: logovanie vsetkych informacii o mailoch

mail.*				/var/log/mail.log

# VIX: logovanie pouzivatelskych procesov (ide sem kadeco)

user.*				-/var/log/user.log

# VIX: nepouzivam UUCP, ignorujem logovanie

#uucp.*				-/var/log/uucp.log

# VIX: originalny komentar hovori za vsetko :) Pokojne nasledujuce 3 riadky
# zakomentujte, zmensite svoje logy o viac nez polovicu (informacie o mailoch
# su uz v mail.log).
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info			-/var/log/mail.info
mail.warn			-/var/log/mail.warn
mail.err			/var/log/mail.err

# VIX: nepouzivam news, takze ani nelogujem spravy do samostatnych suborov
#
# Logging for INN news system
#
#news.crit			/var/log/news/news.crit
#news.err			/var/log/news/news.err
#news.notice			-/var/log/news/news.notice

# VIX: subory, do ktorych pojde takmer vsetko (okrem udajov o mailoch, newsoch
# a autentifikacii)
# Some `catch-all' logfiles.
#
*.=debug;\
	auth,authpriv.none;\
        news.none;mail.none	-/var/log/debug
# VIX: vsetky udaje s prioritou "info", "notice" a "warn", okrem udajov
# z autenfikacneho subsystemu, crona, demonov, mailov a newsov

*.=info;*.=notice;*.=warn;\
	auth,authpriv.none;\
	cron,daemon.none;\
	mail,news.none		-/var/log/messages

# VIX: najkritickejsie spravy sa zobrazia vsetkym pouzivatelom na terminaloch.
# V praxi su to napr. udaje o vypadku prudu, ked UPS zacne bezat na baterie
#
# Emergencies are sent to everybody logged in.
#
*.emerg				*

# VIX: odkomentujte nasledujuci riadok a na konzole c. 12 sa budu zobrazovat
# VSETKY spravy z logov (pre zobrazenie stlacte na konzole ALT+F12).
# POZOR! Kazdy, kto ma fyzicky pristup ku konzole, sa k tymto spravam dostane!
# *.*	/dev/tty12

Po každej zmene "syslog.conf" musíte prinútiť démona "syslogd", aby konfiguračný súbor načítal. Ako už zrejme tušíte, môžete použiť skript "/etc/init.d/syslog reload", alebo zaslať démonovi signál "HUP" ("killall -HUP syslogd").

Vedľajším účinkom reloadovania konfigurácie je to, že "syslogd" zatvorí a opätovne otvorí všetky logovacie súbory, čo sa úspešne využíva pri rotovaní logov.

Ak chcete rýchlo nájsť informácie v logoch a nechcete alebo nemôžete študovať konfiguračný súbor "/etc/syslog.conf", pomôže Vám tento rýchly prehľad (v zátvorke sú uvedené možné alternatívy):

10.2.3 Logovanie na vzdialený počítač

"syslogd" ponúka možnosť zasielať správy namiesto do súboru na vzdialený počítač, ktorý ich zaloguje namiesto neho. To môžete využiť na zvýšenie bezpečnosti - môžete vyhradiť jeden server, ktorý bude iba logovať údaje zo všetkých ostatných serverov a nebudú na ňom bežať nijaké iné služby. Tým zabezpečíte, že aj v prípade útoku na niektorý server Vám zostanú zaznamenané údaje na logovacom serveri.

Pre fungovanie vzdialeného logovania sa využíva UDP port 514 (pozor na firewally!). V súbore "/etc/services" musí byť uvedený riadok:

  syslog          514/udp
V súbore "/etc/syslog.conf" potom stačí uviesť pravidlo typu:
  *.*   @loghost

Kde "loghost" je adresa logovacieho sevrera.

Údaje na logovacom serveri budú označené menom servera, z ktorého pochádzajú, takže sa zachová prehľad.

10.2.4 Umiestnenie logov

Umiestnenie logov závisí od pravidiel, ktoré špecifikujete v konfiguračnom súbore "/etc/syslog.conf", ale štandardne sa logovacie súbory nachádzajú v adresári "/var/log". Je vhodné, aby aj ostatné logovacie programy (iné ako "syslogd") uchovávali svoje logovacie súbory v tomto adresári alebo jeho podadresároch, aby sa tak zachoval poriadok, ktorý pri hľadaní údajov stopercentne oceníte!

Jednoznačne odporúčam, aby minimálne adresár "/var" bol pripojený na samostatnej partícii, aby logovanie fungovalo aj v prípade, že niekto úplne zaplní ostatné disky. Ešte lepšie je, ak máte vytvorenú samostatnú partíciu pripojenú na "/var/log".

10.2.5 Prístupové práva

Väčšina distribúcií Linuxu chráni logovacie súbory tak, že ich vlastníkom je root a nejaká administrátorská skupina a súbory majú právo pre čítanie len pre túto skupinu. Niektoré logovacie súbory neobsahujú citlivé informácie a preto môžu byť čitateľné pre ľubovoľného používateľa. Väčšinou však nestačí zmeniť práva aktuálnym logovacím súborom, musíte zabezpečiť aj to, aby novo vytvorené logovacie súbory (po rotovaní logu) mali požadované práva.

10.2.6 Logovanie procesov uzavretých vo vyhradených adresároch (chroot)

Ak používate procesy, ktoré uzatvárate vo vyhradených adresároch pomocou volania "chroot()", nebudú tieto procesy schopné logovať pomocou "syslogd" bez jednej malej úpravy. Je to preto, že procesy používajú na komunikáciu s démonom "syslogd" špeciálne zariadenie "/dev/log", ku ktorému procesy uzavreté vo vyhradených adresároch nemajú prístup.

Riešenie sa preto robí "z opačnej strany" a to tak, že sa "syslogd" skonfiguruje tak, aby čítal správy aj z iných špeciálnych zariadení. Jediné, čo musíte urobiť, je spustiť démona "syslogd" s parametrom "-a /cesta/dev/log", kde "/cesta" je cesta k vyhradenému adresáru démona.

Kompletný príklad pre démona "named" (DNS server) nájdete v kapitole "DNS".

10.3 Analýza logov

Logovanie má zmysel iba vtedy, ak dokážete v logoch nájsť to, čo potrebujete a ak ich pravidelne prezeráte, aby ste našli podozrivé hlásenia. V prípade bezpečnosti servera si treba uvedomiť, že práve logy Vám môžu poskytnúť údaje a dôkazy prieniku alebo pokusu o prienik na Váš server. Takisto poskytujú skvelú prevenciu - problémy sa v logoch zvyknú objaviť ešte skôr, ako sa stanú skutočne akútnymi. Preto je dôležité venovať logom náležitú pozornosť. V podstate by bolo najlepšie, keby ste ich denne sledovali - namiesto ranného čítania novín.

Niečo také je však nad ľudské sily a ani ja, ktorému kolegovia hovoria "paranoik", nemám na to čas. Namiesto toho používam nástroje, ktoré logy sledujú za mňa a posielajú mi "výber" toho najzaujímavejšieho. Ak chcete nasledovať môj príklad (čo Vám vrelo odporúčam!), môžete použiť program Logcheck (teraz pravdepodobne pod novým menom), o ktorom sme si hovorili v kapitole "Nástroje na sledovanie systému"

10.4 Údržba logovacích súborov

Logovacie súbory slúžia, ako ste už zistili, na zaznamenávanie informácií. Informácie však nemožno zaznamenávať donekonečna, pretože kapacita disku nikdy nie je nekonečná. Preto je potrebné staré logy vymazávať.

O vymazávanie logov sa obyčajne stará program "logrotate". Ten sa pravidelne spúšťa z démona "crond" pravdepodobne niekedy v noci a jeho úlohou je v prípade potreby vykonať tzv. "rotáciu logov".

Rotácia logov znamená, že sa okrem aktuálneho logovacieho súboru uchovávajú aj jeho "staršie verzie" so staršími údajmi. Po určitom čase sa vytvorí nový, oddelený logovací súbor, aby dĺžka súborov nebola príliš veľká a staršie verzie sa zálohujú. Najstaršia verzia sa vymaže.

Ak chcete presnejšiu definíciu rotácie logov, tu ju máte:

  1. posledný odrotovaný súbor je vymazaný (napr. "syslog.4")
  2. všetky rotované súbory sa premenujú tak, aby sa čísla v ich príponách posunuli o jedno číslo dopredu a uvoľnilo sa číslo "0"
  3. logovací súbor je premenovaný na súbor s príponou ".0", napr. "syslog.0"
  4. ak treba, je vytvorený nový, prázdny súbor "syslog"
  5. ak treba, možno upovedomiť démona, ktorý loguje do daného súboru, aby zatvoril a opäť otvoril používané logovacie súbory. Väčšinou na to stačí signál "SIGHUP". Ak by ste neurobili tento krok, démon by naďalej pokračoval v logovaní do už premenovaného logu (zmenili ste jeho meno, ale i-uzol súboru je stále ten istý).

Ak je zapnutá kompresia súborov, je logovací súbor pred premenovaním skomprimovaný programom "gzip". Počet uchovávaných odrotovaných logov sa nastavuje pre jednotlivé logy. Možnosti rotácie závisia od konkrétneho rotovacieho programu, ukážeme si ich preto o chvíľu.

Na Mandrake 9.0 zabezpečuje volanie programu "logrotate" skript "/etc/cron.daily/logrotate". Tento skript sa zavolá v čase určenom konfiguráciou démona "crond" v súbore "/etc/crontab":

# run-parts
01 * * * * root nice -n 19 run-parts /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly

V tomto prípade to bude teda každú noc o 4:02. Tento čas je vhodný, ako aj iné časy v dobe, keď je server nevyužívaný.

Poznámka: nech Vás nepletie, že sa skript spúšťa denne; skutočné rotácie logov sa uskutočnia iba v intervaloch, ktoré ste nakonfigurovali.

Poznámka: rotované logy môžete prezerať úplne rovnako ako "normálne" logy, príkazmi ako "more", "less", vyhľadávať v nich pomocou "grep" a pod. Pokiaľ sú súbory skomprimované, môžete použiť utility dodávané v balíčku "gzip": "zmore", "zless" a "zgrep".

Príklad: ukážka adresára "/var/log" (tesne po rotovaní):

[root@hudson /var/log]# ls -la *.log*
-rw-r-----    1 root     adm            85 Mar 16 23:15 auth.log
-rw-r-----    1 root     adm         22279 Mar 16 23:15 auth.log.1.gz
-rw-r-----    1 root     adm             0 Mar 16 23:15 boot.log
-rw-r-----    1 root     adm         46921 Mar 16 23:15 boot.log.1.gz
-rw-r--r--    1 root     root            0 Mar 16 23:15 security.log
-rw-r-----    1 root     adm          1020 Mar 16 17:18 security.log.1.gz
-rw-------    1 root     adm             0 Mar 16 23:15 sudo.log
-rw-------    1 root     adm           153 Dec  7 12:52 sudo.log.1.gz
-rw-r-----    1 root     adm             0 Mar 16 23:15 user.log
-rw-r-----    1 root     adm         13126 Mar 16 22:32 user.log.1.gz

10.4.1 Logrotate

Program, ktorý sa väčšinou používa na rotovanie logov, sa nazýva poeticky - "logrotate". Jeho hlavný konfiguračný súbor je "/etc/logrotate.conf", ktorý obsahuje všeobecné nastavenia. Okrem toho sa používajú súbory uložené v adresári "/etc/logrotate.d". Je zvykom, že každý nainštalovaný balíček démona, ktorý vytvára logy, si vytvorí aj skripty, ktorý skonfiguruje program "logrotate" pre svoje účely. Výhodou je, že tieto skripty neovplyvnia činnosť ostatných a tiež to, že si môžete tieto skripty upraviť alebo aj pridať podľa svojej potreby.

Nastavenia v "/etc/logrotate.conf" sú globálne, platia teda vo všetkých súboroch v adresári "/etc/logrotate.d".

Vo všeobecnosti môžeme možnosti programu "logrotate" opísať takto: program umožňuje rotovať logovacie súbory v denných, týždenných alebo mesačných intervaloch, prípadne ak prekročili určitú veľkosť, a umožňuje určiť, čo sa pred rotáciou a po nej urobí (môže sa spustiť skript alebo príkaz), aké prístupové práva budú mať rotované súbory, koľko sa ich bude uchovávať, či budú komprimované a pod.

Ešte raz pripomínam, že v "logrotate" sa nedefinuje čas, v ktorom sa majú logy rotovať! Toto zabezpečuje definovanie intervalu spolu s pravidelným spúšťaním programu "logrotate" z démona "crond". "logrotate" si uchováva časy posledných rotácií jednotlivých logov a v prípade, že rotácia už prebehla, program sa ukončí po svojom spustení.

Poznámka: niekedy sa "logrotate" používa len na rotovanie logov, ktoré neobsluhuje "syslogd". Interné logy "syslogd" (zisťujú sa z konfiguračného súboru "/etc/syslog.conf") môžu zabezpečovať iné skripty, platí to minimálne pre distribúciu Debian! Má to medziiným aj tú výhodu, že ak upravíte súbor "/etc/syslog.conf", budú sa logovať aj Vami pridané logovacie súbory.

10.4.1.1 Príklad konfiguračného súboru

Ukážka konfiguračného súboru "/etc/logrotate.conf" (Mandrake 9.1):

# see "man logrotate" for details
# rotate log files weekly
# VIX: ak nie je uvedene inak, rotujeme logy kazdy tyzden
weekly

# keep 4 weeks worth of backlogs
# VIX: ak nie je uvedene inak, ponechavame 4 rotovane logy
rotate 4

# create new (empty) log files after rotating old ones
# VIX: ak nie je uvedene inak, po rotovani vytvorime novy, prazdny logovaci
# subor
create

# uncomment this if you want your log files compressed
# VIX: ak nie je povedane inak, logy budu komprimovane
compress

# RPM packages drop log rotation information into this directory
# VIX: adresar, v ktorom sa nachadzaju dalsie konfiguracne subory (pridavaju
# ich instalacne skripty balickov)
include /etc/logrotate.d

# no packages own lastlog or wtmp -- we'll rotate them here
# VIX: rotacia suboru "/var/log/wtmp" mesacne, ponechame jeden stary log
# a po odrotovani vytvorime prazdny subor /var/log/wtmp s pravami 664
# a vlastnikom root a skupinou utmp.
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

# VIX: rotacia suboru "/var/log/lastlog" mesacne, ponechame jeden stary log
/var/log/lastlog {
    monthly
    rotate 1
}

Ukážka konfiguračného súboru "/etc/logrotate.d/syslog" (Mandrake 9.1):

# WARNING : don't use * wildcard as extension
# (glob in logrotate will try to rotate all files instead of
#  only the basenames of the logs, i.e. it will rotate
#  already rotated files and recompress them, taking
#  exponential time...)
# VIX: ak chcete súčasne rotovať niekoľko logovacích súborov, súbory
# musia byť napísané v JEDNOM RIADKU! Pre prehľadnosť textu sú v tomto
# príklade na viacerých riadkoch!!!
# VIX: v tomto konfiguračnom súbore definujeme týždennú rotáciu viacerých
# logovacích súborov, pričom uchovávame 5 starších verzií. Po odrotovaní
# VŠETKÝCH súborov zašleme démonovi "syslogd" signál "HUP", čím ho prinútime
# otvoriť nové logovacie súbory.
 
/var/log/auth.log /var/log/syslog /var/log/user.log /var/log/secure 
/var/log/messages /var/log/boot.log /var/log/mail/errors /var/log/mail/info 
/var/log/mail/warnings /var/log/cron/errors /var/log/cron/info 
/var/log/cron/warnings /var/log/kernel/errors /var/log/kernel/info 
/var/log/kernel/warnings /var/log/lpr/errors /var/log/lpr/info 
/var/log/lpr/warnings /var/log/news/news.err /var/log/news/news.notice 
/var/log/news/news.crit /var/log/daemons/errors /var/log/daemons/info 
/var/log/daemons/warnings /var/log/explanations {
        sharedscripts
        rotate 5
        weekly
        postrotate
        /usr/bin/killall -HUP syslogd #
        endscript
}

10.4.1.2 Parametre v konfiguračných súboroch

Najbežnejšie používané parametre (výber, pozri aj "man logrotate"):

compress
odrotované logovacie súbory budú skomprimované programom "gzip"
compresscmd
program použitý na kompresiu (default: "gzip")
compressoptions
parametre odovzdávané kompresnému programu (default: "-9", maximálna kompresia
create prava vlastnik skupina
určuje prístupové práva, vlastníka a skupinu súboru, ktorý sa vytvorí namiesto odrotovaného logu (prázdny log). Týmto spôsobom môžete zabezpečiť potrebné prístupové práva k logovacím súborom, napr. aby boli čitateľné len pre roota a nejakú skupinu. Napr.: "create 640 root adm".
daily
logy sa rotujú denne
delaycompress
kompresia logu sa uskutoční až pri ďalšej rotácii. Používa sa pre programy, ktoré nevedia zatvoriť a opätovne otvoriť svoje logovacie súbory. Vonkajším prejavom tohto nastavenia je fakt, že prvý odrotovaný log (s príponou ".0") nebude komprimovaný
ifempty
rotuje logy aj v prípade, že sú prázdne (default)
include súbor|adresár
zahrnie do konfigurácie súbor alebo súbory z uvedeného adresára. Zahrnúť možno iba skutočné súbory (nie ďalšie adresáre a pod.), ktorých prípony nie sú uvedené v direktíve "tabooext".
mail adresa
pošle na adresu "adresa" najstarší odrotovaný súbor, ktorý sa potom vymaže
missingok
ak log neexistuje, program pokračuje v spracovaní ďalších logov bez chybového hlásenia
monthly
logy sa rotujú mesačne
nocompress
opak "compress", odrotované logovacie súbory nebudú komprimované
nocreate
opak "create", po odrotovaní logu sa nevytvorí nový prázdny logovací súbor
nodelaycompress
opak "delaycompress", uskutoční sa aj kompresia práve odrotovaného súboru
nomail
opak "mail", starý logovací súbor sa nezasiela mailom
nomissingok
opak "missingok", ak neexistuje logovací súbor, zobrazí sa chyba (default)
olddir adresár
odrotované logovacie súbory budú premiestnené do adresára "adresár"
postrotate/endscript
príkazy medzi direktívami "postrotate" a "endscript" (musia byť uvedené na samostatných riadkoch) sa vykonajú po uskutočnení rotácie. To je vhodné napr. na zaslanie signálu démonovi, aby opätovne otvoril svoje (nové) logovacie súbory.
prerotate/endscript
príkazy medzi direktívami "prerotate" a "endscript" (musia byť uvedené na samostatných riadkoch) sa vykonajú pred uskutočnením rotácie.
rotate X
systém ponecháva "X" odrotovaných logovacích súborov a staršie automaticky vymazáva
size X
logy sa rotujú po presiahnutí veľkosti súboru "X". Môžete použiť skratky: XM (X megabajtov), Xk (X kilobajtov). Napr. 1000k znamená 1000 kilobajtov.
sharedscripts
táto direktíva je dôležitá, ak rotujete súčasne viacero súborov, ktoré vytvára jeden démon a nechcete, aby sa démon reštartoval po rotácii každého z nich. "sharedscripts" spôsobí, že sa "postrotate" resp. "prerotate" akcie vykonajú iba raz. Toto určite oceníte napr. pri rotácii logov, do ktorých zapisuje "syslogd" a ktorých môže byť aj viac ako 10.
tabooext [+] zoznam
zoznam prípon súborov, ktoré má "logrotate" pri rotácii ignorovať. Ak uvediete pred zoznamom znak "+", zoznam prípon sa doplní, inak sa prepíše. Štandardne obsahuje zoznam prípony ako: ".rpmorig", ".rpmsave", ".rpmnew" (záložné verzie súborov vytvárané pri inštalácii RPM balíčkov) ",v" (verziované súbory, ak používate systémy ako RCS, CVS), ".swp" (dočasný súbor editora "vim"), "~" (záložný súbor editora "joe").
weekly
logy sa rotujú raz týždenne