Provided by:
manpages-hu_20010119-5_all 
NÉV
syslog.conf - syslogd (8) konfigurációs fájl
ÁTTEKINTÉS
A syslog.conf fájl a syslogd(8) fő konfigurációs fájlja, amely naplózza
a rendszerüzeneteket a *nix rendszereken. A syslog.conf fájl határozza
meg a naplózási szabályokat. A syslogd(8) további tulajdonságai a
syslogd(8) kézikönyvoldalán találhatók.
Valamennyi szabály két mezőből áll, egy kivlaszt és egy vgrehajt
mezőből. A két mezőt szóközökkel vagy tabulátor jelekkel választjuk el
egymástól. A kiválasztó mező meghatároz egy szolgáltatási sémát és
definiálja azt a prioritást, amely a hozzárendelt végrehajtáshoz
tartozik.
A sorok kettőskereszt ("#") jellel kezdődnek és az üres sorok nem
számítanak.
A syslogd kiterjedt szintaktikát képes megérteni. Egy szabály akár több
sorra is felosztható, ha a vezető sor egy backslash-sel ("\") fejeződik
be.
KIVÁLASZTÓK
A kiválasztó mező önmaga is két részből áll; a szolgltats és a
priorits egymástól ponttal (".") elválasztva. Mindkét összetevő
érzéketlen a kis- és nagybetűk közötti különbségre, és decimális számok
segítségével is definiálható, de ha lehet, akkor ezt inkább kerüljük
el. A szolgáltatásról és a prioritásról bővebb leírás a syslog(3)
kézikönyvoldalán olvasható. Az alábbiakban megemlített nevek
megfelelnek a hasonló LOG_-értékeknek a /usr/include/syslog.h fájlban.
A szolgltats értéke az alábbi kulcsszavak közül kerülhet ki: auth,
authpriv, cron, daemon, kern, lpr, mail, mark, news, security (megfelel
az auth-nak), syslog, user, uucp és a local0-tól a local7-ig. A
security kulcsszó használata nem javallott, a mark kulcsszó pedig
kizárólag belső használatra javasolt, ezért alkalmazások esetében
inkább ne használjuk. Naszóval ezeket az üzeneteket itt is
meghatározhatod, de utólag is definiálhatod. A szolgltats meghatároz
egy alrendszert, amely létrehoz egy üzenetet, pl. valamennyi
levelezőprogram naplózható a mail szolgáltatással (LOG_MAIL) , ha ezek
naplóznak, használva a syslogot.
A priorits értéke az alábbi kulcsszavak közül kerülhet ki, emelkedő
sorrendben: debug, info, notice, warning, warn (megfelel a warning
-nak), err, error (megfelel az err -nek), crit, alert, emerg, panic
(megfelel az emerg -nek). Az error, warn és a panic kulcsszavak nem
használatosak. A priorits definiálja az üzenetek szigorúságát.
Az eredeti BSD syslogd úgy viselkedik, hogy valamennyi meghatározott
prioritású üzenetet és a magasabb rendűeket is naplózza az adott
végrehajtásnak megfelelően. A jelenlegi syslogd(8) is ugyanígy
viselkedik, de van néhány további kiterjesztése.
Továbbá a fent megemlített neveket a syslogd(8) a következő
kiterjesztésekkel érti meg: egy csillag ("*") jelképezi valamennyi
szolgáltatást vagy valamennyi prioritást, attól függően, hogy hol
használjuk (a pont előtt vagy után). A none kulcsszó azt jelenti, hogy
nincs prioritása az adott szolgáltatásnak.
Definiálható többszörös szolgáltatás ugyanazzal a prioritási sémával a
meghatározásban, használva a vessző (",") operátort. Annyi
szolgáltatást határozhatsz meg, amennyit csak akarsz, de ne feledd el,
hogy csak a szolgáltatás része a meghatározásnak, a prioritás rész
viszont elhagyható.
Többszörös kiválasztók is meghatározhatók egyetlen vgrehajtsban ,
használva a pontosvessző (";") elválasztást. De ne feledjük, hogy
valamennyi kiválasztó a kivlaszt mezőben képes felülírni az azt
megelőzőt. Felhasználva ezt a viselkedést ki lehet zárni néhány
prioritást a sémából.
A jelenlegi syslogd(8)-nak van egy szintaktikai kiterjesztése az
eredeti BSD forráshoz képest, amely lehetővé teszi azt, hogy a
használata sokkal inkább érthető legyen. Valamennyi prioritás elé
tehetsz egy egyenlőségjelet ("=") jelezve, hogy csak ezt a prioritást
vegye figyelembe és a magasabbakat ne. De tehetsz egy felkiáltójelet
("!") is a prioritás elé (mindkettő elfogadott), hogy az itt található
valamennyi prioritás figyelmen kívül legyen hagyva. Ekkor sem a
meglévő, sem a magasabb prioritások nem lesznek értelmezve. Ha
egyszerre mindkét jelet használjuk, akkor a felkiáltójelet az
egyenlőségjel elé kell tenni, de ezt csak érzéssel használjuk.
VÉGREHAJTÁSOK
A szabályhoz tartozó végrehajtási mező egy elvont formájú "naplófájlt"
ír le. Ennek a naplófájlnak nem szükséges létező nevűnek lennie. A
syslogd(8) a következő végrehajtásokat látja el.
Szokásos fájl
Normál üzenetek kerülnek naplózásra létező fájlokba. A fájlt a teljes
elérési úttal kell megadni, amelyet a slash ("/") jellel kell kezdeni.
Lehet egy mínusz ("-") jel is valamennyi bejegyzés előtt, jelezve azt,
hogy nem szükséges szikronizálni a fájlt minden bejelentkezés után.
Jegyezzük meg azt, hogy információvesztés léphet fel, ha
rendszerösszeomlás következik be rögtön egy írási kísérlet után.
Mindazonáltal ez vissza is adhat némi teljesítményt, különösen akkor,
ha olyan programot használunk, amely igen bőbeszédűen adja a naplózandó
információkat.
Névvel jelölt csővezetékek
A syslogd(8) jelenlegi verziója támogatja a naplózást a névvel jelölt
csővezetékek felé (fifo-k). A fifo vagy a névvel azonosított
csővezeték használható üzenetek naplózásának céljára. Ekkor a fájl neve
elé tegyünk egy ("l") jelet, ezzel jelölve, hogy a célállomány egy
fifo. Ez általában hibakeresésre használatos. Ám jegyezzük meg, hogy a
fifo-t az mkfifo(1) paranccsal kell létrehozni még mielőtt a syslogd(8)
elindult volna.
Terminálok és a konzol
Amennyiben állományként egy tty van megadva, speciális tty-kezelés
hajtódik végre, hasonlóan a /dev/console-hoz.
Távoli számítógépek
A jelenlegi syslogd(8) teljes távoli naplózást képes véghezvinni, azaz
például képes üzenetet küldeni egy távoli gépen futó syslogd(8) részére
és tud fogadni üzeneteket egy távoli számítógéptől is. A távoli gép nem
fogja a kapott üzenetet ismételten továbbítani, csak helyi szinten
fogja naplózni. Hogy továbbítsunk egy üzenetet egy másik számítógép
részére tegyünk a gép neve elé egy kukac ("@") jelet.
Használva ezt a képességet lehetővé válik, hogy egy gépen ellenőrizzük
le valamennyi syslog üzenetet, amennyiben a többi gép egy adott távoli
gépre naplózik.
Felhasználói lista
Általában a kritikus üzenetek közvetlenül az adott gép "root"
felhasználójához kerülnek. Meghatározhatunk egy listát azokról a
felhasználókról, akik szintén megkaphatják az üzenetet. Ehhez csak a
felhasználói nevüket kell megadni. Egyszerre több felhasználót is
megadhatunk, vesszővel (",") elválasztva az egyes neveket. Ha ők be
vannak jelentkezve a rendszerre, akkor megkapják az üzenetet. De ne
higgyük azt, hogy egy levél is elküldésre kerül, mivel akkor már lehet
hogy túl késő.
Mindenki, aki be van jelentkezve
Valósidejű vészüzeneteket gyakran szükséges valamennyi felhasználó
részére elküldeni, értesítve ezzel őket arról, hogy például valami
különleges dolog történt a rendszerrel. Hogy meghatározzunk egy ilyen
wall(1)-típusú üzenetet, használjuk a csillag ("*") jelet.
PÉLDÁK
A következőkben néhány olyan példa kerül felsorolásra, amelyek között
alkalmanként a való életből (létező számítógépekről, konfigurációkból)
kiragadott esetek is vannak. Remélhetőleg ezek minden tekintetben
kidolgozott példák, ám ha mégsem küldjetek a részemre (Joey) néhány
sort.
#Összegyűjti a kritikus üzeneteket a critical-ba
#
*.=crit;kern.none /var/adm/critical
Ezzel a bejegyzéssel valamennyi crit prioritású (kritikus) üzenetet
gyűjtjük össze a /var/adm/critical fájlba, kivéve bármely kernel
üzenetet.
#A kernel üzenetei elsőként összegyűlnek a kernel fájlban.
#A kritikus és a magasabb prioritásúak pedig átmennek egy
#másik számítógépre, illetve a konzolra kerülnek.
#
kern.* /var/adm/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
Az első szabály alapján bármely üzenet, amely a kernel szolgáltatásából
adódik, a /var/adm/kernel fájlba kerül.
A második szabálynál a crit és az annál magasabb prioritású kernel
üzenetek átkerülnek a finlandia nevű távoli számítógépre. Ez abban az
esetben hasznos, ha egy számítógép összeomlik, és a merevlemezén olyan
helyrehozhatatlan hibák keletkeznek, amik miatt nem lehet elolvasni az
összegyűjtött üzeneteket. Ám ha ezek az üzenetek egy távoli
számítógépen is megtalálhatók, akkor még megtudhatjuk a
rendszerösszeomlás okát.
A harmadik szabály ezeket az üzeneteket (a második jelentés üzeneteit)
közvetlenül az aktuális gép konzoljára küldi, igy az a személy is
megkapja azt, aki éppen ezen a gépen dolgozik.
A negyedik sor azt mondja meg a syslogd-nak, hogy mentse el valamennyi
info és az annál magasabb prioritású (egészen a warning -ig) kernel
üzenetet a /var/adm/kernel-info fájlba. Azonban ebből hagyja ki
valamennyi err , illetve a magasabb prioritású üzeneteket.
#A tcp wrappers naplózzon a mail.info-val, hogy lássunk
#valamennyi kapcsolatot a tty12-n.
#
mail.=info /dev/tty12
Ez valamennyi üzenetet, amely mail.info"-thasznál(forrásban LOG_MAIL |
LOG_INFO) a /dev/tty12 -höz irányítja, azaz a 12. konzolra. Például a
tcpwrapper tcpd(8) ezt használja alapértelmezésben.
#Gyűjtse össze valamennyi a levelezéssel kapcsolatos
#üzenetet egy fájlba
#
mail.*;mail.!=info /var/adm/mail
Ez a séma megfelel valamennyi olyan üzenetnek, amely a mail
szolgáltatással kapcsolatos, kivéve az info prioritású üzeneteket. Ezek
a /var/adm/mail fájlban lesznek összegyűjtve.
#Naplózza valamennyi mail.info és news.info típusú
#üzeneteket az info fájlban.
#
mail,news.=info /var/adm/info
Így egy kivonatot fogunk kapni azokról az üzenetekről, amelyek
mail.info vagy news.info típussal érkeznek és ezeket a /var/adm/info
fájlban tároljuk.
#Naplózd az info és a notice (megjegyzés) üzeneteket
#a messages fájlban
#
*.=info;*.=notice;\
mail.none /var/log/messages
Ez hagyja, hogy a syslogd naplózza valamennyi olyan üzenetet, amely
info vagy notice szolgáltatással érkezik és ezeket tegye a
/var/log/messages fájlba. Kivétel azonban minden olyan üzenet, amely a
mail szolgáltatást használja.
#Naplózza az info üzeneteket a messages fájlba
#
*.=info;\
mail,news.none /var/log/messages
Ez a megállapítás azt fogja okozni, hogy a syslogd naplózni fogja
valamennyi info prioritással érkező üzenetet a /var/log/messages
fájlba, ám a mail vagy a news szolgáltatással érkező üzenetek nem
kerülnek bele ebbe az állományba.
#A vészüzenetek a wall-t használva jelenítődjenek meg.
#
*.=emerg
Ez a szabály arra utasítja a syslogd-t, hogy írja ki valamennyi
vészüzenetet a jelenleg bejelentkezett valamennyi felhasználó részére.
Ez a wall tipusú végrehajtás.
#Az alert (készenléti) prioritás üzenetei közvetlenül
#az üzembentartóhoz (a karbantartóhoz) kerülnek.
#
*.alert root,joey
E szabály alapján valamennyi alert (készenléti) vagy magasabb
prioritású üzenetet a terminálok üzembentartója kapja meg; ez esetben a
"root" és a "joey" nevű felhasználó, amennyiben be vannak jelentkezve a
rendszerre.
*.* @finlandia
Ennek a szabálynak a következményeként valamennyi üzenet átküldésre
kerül a távoli finlandia nevű számítógépre. Ez különösen több
számítógép esetében hasznos, mivel ekkor valamennyi syslog üzenet egy
gépen gyűlik össze, illetve tárolódik.
KONFIGURÁCIÓS FÁJL SZINTAKTIKAI KÜLÖNBSÉGEK
A syslogd némileg eltérő konfigurációs szintaktikát használ, mint az
eredeti BSD forrás. Eredetileg valamennyi specifikált és az annál
magasabb prioritású üzenetek továbbítódtak a naplófájlhoz. Az "=" , "!"
és a "-" jelek megváltoztatták ezt, és használatukkal a syslogd sokkal
hajlékonyabb és érzékenyebb módon használható.
Az eredeti BSD syslogd nem értelmezi a szóköz karaktereket a kiválasztó
és a végrehajtó mező közti elválasztásra.
FÁJLOK
/etc/syslog.conf
A syslogd konfigurációs fájlja.
HIBÁK
A többszörös kiválasztók hatása néha nem igazán érezhető. Például a
"mail.crit,*.err" kiválasztó csoport az "err" és a magasabb szintű
mail szolgáltatási üzeneteket fogja kiválasztani, nem pedig a "crit" és
az ennél magasabb prioritású üzeneteket.
LÁSD MÉG
sysklogd(8), klogd(8), logger(1), syslog(2), syslog(3)
A SZERZŐK
A syslogd BSD forrásból lett átvéve. A Linuxra való alkalmazását Greg
Wettstein (greg@wind.rmcc.com) végezte, Martin Schulze (joey@linux.de)
pedig kijavított néhány működésbeli hibát és hozzáadott némi új
sajátosságot is.
MAGYAR FORDÍTÁS
kuksi <kuksi@arts7.hu>