NOD32 pre Linux File Server

linux_pas V pred­chád­za­jú­cej čas­ti sme si uká­za­li, ako nain­šta­lo­vať a nas­ta­viť anti­ví­ru­so­vý prog­ram NO­D32 na li­nuxový po­što­vý server (NO­D32LMS). Už dáv­nej­šie sme uvied­li, že Li­nux mô­že slú­žiť nie­len ako po­što­vý server, ale aj ako sú­bo­ro­vý server (fi­le server), nap­rík­lad pre po­čí­ta­če s ope­rač­ným sys­té­mom MS Win­dows. Fir­ma Eset vy­vi­nu­la anti­ví­ru­so­vý sys­tém aj pre sú­bo­ro­vý server (NO­D32LFS). A to­mu sa te­raz bu­de­me ve­no­vať.

Dve tec­hni­ky ske­no­va­nia
Kon­tro­le sú­bo­rov, ale aj po­šty na prí­tom­nosť ví­ru­sov sa ho­vo­rí ske­no­va­nie (z angl. scan­ning – preh­lia­da­nie). Sú­bo­ry mô­že­me ske­no­vať dvo­ma spô­sob­mi:
On-de­mand
On-ac­cess

On-de­mand ske­no­va­nie
On-de­mand ske­no­va­nie mô­že vy­vo­lať pri­vi­le­go­va­ný po­uží­va­teľ, spra­vid­la root, po­uži­tím nás­tro­jov na prí­ka­zo­vom riad­ku ale­bo sám ope­rač­ný sys­tém po­uži­tím ne­ja­ké­ho ča­so­va­ča, nap­rík­lad cron. Keď­že sa to­to ske­no­va­nie ro­bí na vy­žia­da­nie, dos­ta­lo ná­zov on-de­mand (angl. na vy­žia­da­nie).

Na vy­ko­ná­va­nie vy­žia­da­né­ho ske­no­va­nia nie sú po­treb­né špe­ciál­ne po­žia­dav­ky. Po správ­nej in­šta­lá­cii prog­ra­mu NO­D32 a ulo­že­ní li­cen­čné­ho kľú­ča do ad­re­sá­ra /etc/no­d32/li­cen­ce mô­že­me po­užiť prí­kaz no­d32.

Ten má ta­ký­to syn­tak­tic­ký zá­pis:

/usr/sbin/no­d32 [voľ­by] ske­no­va­né_ad­re­sá­re -- -nes­ke­no­va­né ad­re­sá­re

Ske­no­va­né ad­re­sá­re sú tie, kto­ré chce­me skon­tro­lo­vať na prí­tom­nosť ví­ru­sov, nes­ke­no­va­né ad­re­sá­re sú tie, kto­ré chce­me z kon­tro­ly vy­pus­tiť. For­mát ske­no­va­ných ale­bo nes­ke­no­va­ných ad­re­sá­rov je zoz­nam ad­re­sá­rov ale­bo sú­bo­rov, vzá­jom­ne od­de­le­ných dvoj­bod­kou tak­to:

di­r1:di­r2:di­r3:....... 

Kde di­r1, di­r2 atď. je ab­so­lút­na ale­bo re­la­tív­na ces­ta k ad­re­sá­rom a sú­bo­rom.

Mož­no sa nám zdá, že nik­dy ne­vyu­ži­je­me mož­nosť vy­nec­hať ur­či­té po­dad­re­sá­re z kon­tro­ly. Uvi­dí­me, že sám ži­vot nás nau­čí, aké dob­ré je mať tú­to mož­nosť.

Po­znám­ka:
Mô­že sa nám stať, že už má­me v ad­re­sá­ri /etc/no­d32/li­cen­ce je­den li­cenč­ný sú­bor, nap­rík­lad no­d32.lic pre NO­D32 LMS, a te­raz nám po­sla­li z fir­my Eset li­cenč­ný sú­bor pre NO­D32LFS s tým is­tým me­nom. Čo te­raz? Jed­no­duc­ho ich pre­me­nu­je­me, aby sme ro­zu­me­li, kto­rý sú­bor je k aké­mu prog­ra­mu, nap­rík­lad na no­d32lms.lic a no­d32lfs.lic. Dô­le­ži­té je dodr­žať správ­nu prí­po­nu – tá mu­sí byť vždy .lic!

On-ac­cess ske­no­va­nie
On-ac­cess ske­no­va­nie je ske­no­va­nie, kto­ré vy­vo­lal prís­tup po­uží­va­te­ľa ale­bo ope­rač­né­ho sys­té­mu k ob­jek­tu sú­bo­ro­vé­ho sys­té­mu (pod po­jmom ob­jekt sú­bo­ro­vé­ho sys­té­mu bu­de­me chá­pať sú­bo­ry ale­bo ad­re­sá­re). Mô­že­me po­ve­dať, že ide o aký­si re­zi­dent­ný anti­ví­ru­so­vý štít.

NO­D32LFS ob­sa­hu­je dva mo­du­ly im­ple­men­tu­jú­ce on-ac­cess ske­no­va­ciu tec­hni­ku. Pr­vá je on-ac­cess tec­hni­ka za­lo­že­ná na inter­cep­cii (od­chy­te­ní) re­le­van­tné­ho vo­la­nia jad­ra. Na to slú­ži prog­ram no­d32dac. Dru­há tec­hni­ka vy­uží­va za­chy­te­nie vo­la­ní kniž­ni­ce LIBC (lib­no­d32pac.so). Kaž­dá z týc­hto tec­hník má svo­je vý­ho­dy a ne­vý­ho­dy.

Da­zu­ko
On-ac­cess tec­hni­ka za­lo­že­ná na za­chy­tá­va­ní vo­la­ní jad­ra je za­lo­že­ná na mo­du­le da­zu­ko jad­ra Li­nuxu. Da­zu­ko (čí­taj da­cu­ko) – aj keď to znie ako po ja­pon­sky – vy­chád­za z ne­mec­ké­ho „Da­tei­zug­rif­fskon­trol­le“, čo v prek­la­de zna­me­ná ria­de­nie prís­tu­pu k sú­bo­rom. Da­zu­ko pro­jekt je free sof­tvér, náj­de­me ho na inter­ne­to­vej strán­ke www.da­zu­ko.org. Vy­uži­tie mo­du­lu da­zu­ko je ne­zá­vis­lé od ty­pu sú­bo­ro­vé­ho sys­té­mu. To umož­ňu­je kon­tro­lo­vať sú­bo­ry po­mo­cou Network Fi­le Sys­tem (NFS), Net­talk a Sam­by.

Po­znám­ka:
Mo­dul da­zu­ko nie je sú­čas­ťou anti­ví­ru­so­vé­ho ba­lí­ka NO­D32LFS, a pre­to mu­sí byť kom­pi­lo­va­ný a in­šta­lo­va­ný pred ini­cia­li­zá­ciou dé­mo­na no­d32dac.

Upo­zor­ne­nie:
Ne­pou­ží­va­me oba va­rian­ty on-ac­cess tec­hni­ky na­raz! Moh­lo by dôjsť k „za­sek­nu­tiu“ sys­té­mu.

Te­raz si opí­še­me on-ac­cess ske­ner za­lo­že­ný na mo­du­le da­zu­ko.

Prin­cíp čin­nos­ti
On-ac­cess ske­ner no­d32dac (NO­D32 Da­zu­ko po­wered fi­le Ac­cess Con­troller) je re­zi­dent­ný prog­ram, po­sky­tu­jú­ci per­ma­nent­ný mo­ni­to­ring a ria­de­nie nad sú­bo­ro­vým sys­té­mom. Beží ako dé­mon a mô­že byť spúš­ťa­ný už pri boo­to­va­ní ope­rač­né­ho sys­té­mu. Ske­no­va­nie kaž­dé­ho ob­jek­tu sú­bo­ro­vé­ho sys­té­mu je us­ku­toč­ňo­va­né po­dľa pred­stáv po­uží­va­te­ľa ale­bo ope­rač­né­ho sys­té­mu. V sú­čas­nej ver­zii sú po­dpo­ro­va­né tie­to ty­py prís­tu­pu:

- ON_OPEN uda­los­ti
Ten­to prís­tu­po­vý typ je ria­de­ný vte­dy, keď pr­vý bit pa­ra­met­ra „event_mask“ v hlav­nom kon­fi­gu­rač­nom sú­bo­re NO­D32 v sek­cii [dac] je “1”. V ta­kom­to prí­pa­de je bit ON_OPEN nas­ta­ve­ný na ON.

- ON_CLO­SE uda­los­ti
Ten­to typ prís­tu­pu je ria­de­ný vte­dy, keď dru­hý bit pa­ra­met­ra „event_mask“ v hlav­nom kon­fi­gu­rač­nom sú­bo­re NO­D32 v sek­cii [dac] je “1”. V ta­kom­to prí­pa­de je bit ON_CLO­SE_MO­DI­FIED nas­ta­ve­ný na ON.
Po­zor: Nie všet­ky ver­zie jad­ra po­dpo­ru­jú za­chy­tá­va­nie ON_CLO­SE uda­los­tí. Vte­dy bu­dú de­te­go­va­né prob­lé­my pri be­hu mo­du­lu no­d32dac.

- ON_EXEC uda­los­ti
Ten­to typ prís­tu­pu je ria­de­ný vte­dy, keď tre­tí bit pa­ra­met­ra „event_mask“ v hlav­nom kon­fi­gu­rač­nom sú­bo­re NO­D32 v sek­cii [dac] je “1”. V ta­kom­to prí­pa­de je bit ON_EXEC nas­ta­ve­ný na ON.

Pri po­uži­tí toh­to mec­ha­niz­mu všet­ky ot­vá­ra­né, za­tvá­ra­né a spúš­ťa­né sú­bo­ry bu­dú ske­no­va­né dé­mo­nom no­d32d na ví­ru­sy.

In­šta­lá­cia a kon­fi­gu­rá­cia da­zu­ko
Naj­prv si mu­sí­me stiah­nuť zdro­jo­vé tex­ty mo­du­lu da­zu­ko. Tie náj­de­me na inter­ne­to­vej strán­ke www.da­zu­ko.org/downloads.shtml. On-ac­cess ske­ner NO­D32 je kom­pa­ti­bil­ný s mo­dul­mi da­zu­ko od ver­zie 2.1.0 a vy­šší­mi. S iný­mi mo­dul­mi ne­mu­sí ko­rek­tne pra­co­vať.

Eš­te prv než bu­de­me kom­pi­lo­vať mo­dul da­zu­ko, mu­sí­me si za­is­tiť zdro­jo­vé kó­dy jad­ra, na kto­rom da­ný mo­dul chce­me po­uží­vať. A mu­sí­me za­bez­pe­čiť, aby sa na tie­to zdro­jo­vé tex­ty od­ka­zo­va­lo ako na ad­re­sár /usr/src/li­nux. To mô­že­me za­bez­pe­čiť vhod­nou sym­bo­lic­kou lin­kou. Zá­ro­veň v jad­re mu­sí­me mať po­vo­le­nú po­lož­ku Enab­le di­ffe­rent se­cu­ri­ty mo­du­les. Ak to tak nie je, mu­sí­me vy­ko­nať nas­ta­ve­nie a re­kom­pi­lá­ciu jad­ra. Po­drob­ný opis, ako sa to ro­bí, sme uká­za­li v pre­doš­lej čas­ti se­riá­lu Li­nux extra.

Upo­zor­ne­nie:
Mo­dul jad­ra com­mon­cap mu­sí byť na­tiah­nu­tý do pa­mä­te po­čí­ta­ča eš­te pred mo­du­lom da­zu­ko!

Tak­že si stiah­ne­me sú­bor so zdro­jo­vý­mi kód­mi mo­du­lu, nap­rík­lad da­zu­ko-2.1.1.tar.gz a roz­ba­lí­me do vhod­né­ho ad­re­sá­ra. Naj­prv vy­ko­ná­me príp­ra­vu na kom­pi­lá­ciu. V tom­to ad­re­sá­ri za­dá­me prí­kaz

 [root@ru­bin da­zu­ko] # ./con­fi­gu­re
Po­tom vy­ko­ná­me kom­pi­lá­ciu prí­ka­zom

[root@ru­bin da­zu­ko] # ma­ke

čím vy­tvo­rí­me mo­dul da­zu­ko.o (da­zu­ko.ko v jad­rách ver­zie 2.6). Ak sa pri prek­la­de ob­ja­via ne­ja­ké chy­bo­vé hlá­se­nia, mo­dul ne­bu­de funkč­ný, a pre­to sa od­po­rú­ča po­zrieť na ad­re­su strán­ky Da­zu­ko do sek­cie FAQ a po­dľa chy­bo­vých hlá­se­ní od­strá­ni­me ich prí­či­nu. Po bez­chyb­nej kom­pi­lá­cii mo­dul da­zu­ko za­ve­die­me pa­mä­te po­čí­ta­ča, nap­rík­lad prí­ka­zom

 [root@ru­bin da­zu­ko] # in­smod da­zu­ko
Ove­rí­me si, či je mo­dul nao­zaj za­ve­de­ný, po­mo­cou prí­ka­zu
 [root@ru­bin da­zu­ko] # lsmod
ale­bo
 [root@ru­bin da­zu­ko] # cat /proc/mo­du­les

Na obid­voch vý­pi­soch by sa ma­lo me­no mo­du­lu da­zu­ko ob­ja­viť.

Po­tom za­dá­me prí­kaz

 [root@ru­bin da­zu­ko] # cat /proc/de­vi­ces

čím si ove­rí­me, že bo­lo vy­tvo­re­né za­ria­de­nie s náz­vom da­zu­ko (nep­liesť s náz­vom mo­du­lu – je to za­ria­de­nie!!!). Ak sa za­ria­de­nie auto­ma­tic­ky ne­vyt­vo­ri­lo, mu­sí­me ho vy­tvo­riť ruč­ne sa­mi. Po­uži­je­me tie­to prí­ka­zy:

[root@ru­bin da­zu­ko] # mknod –m 600 /dev/da­zu­ko c $ (grep da­zu­ko /proc/de­vi­ces | sed “s/ .*//”) 0
[root@ru­bin da­zu­ko] # chown root:root /dev/da­zu­ko

Po­tom ot­vo­rí­me sú­bor /etc/no­d32/no­d32.cfg a edi­tu­je­me sek­cie [glo­bal] a [dac]. Nas­ta­ví­me ak­ti­vá­ciu mo­du­lu da­zu­ko v sek­cii [glo­bal], kde nas­ta­ví­me po­lož­ku

da­zu­ko_sup­port_enab­led = yes

V sek­cii [dac] mu­sí­me sta­no­viť, kto­ré sú­bo­ro­vé ob­jek­ty (te­da sú­bo­ry a ad­re­sá­re) bu­dú pod kon­tro­lou mo­du­lu da­zu­ko. To nas­ta­vu­je­me v po­lož­kách ctl_incl a ctl_excl. V po­lož­ke ctl_incl de­fi­nu­je­me ob­jek­ty, kto­ré chce­me kon­tro­lo­vať, v po­lož­ke ctl_excl de­fi­nu­je­me ob­jek­ty, kto­ré z kon­tro­ly chce­me vy­ňať. Ak nap­rík­lad má­me stro­mo­vú štruk­tú­ru /ho­me/ora­vec/ a ad­re­sár /ora­vec ob­sa­hu­je nie­koľ­ko ďal­ších po­dad­re­sá­rov a med­zi ni­mi je po­dad­re­sár /fil­my, kto­rý nec­hce­me kon­tro­lo­vať, v po­lož­ke ctl_incl na­de­fi­nu­je­me ce­lý strom /ho­me/ora­vec a do po­lož­ky ctl_excl na­de­fi­nu­je­me /ho­me/ora­vec/fil­my. Tým ur­čí­me, že sa skon­tro­lu­je všet­ko v ad­re­sá­ri /ora­vec ok­rem po­dad­re­sá­ra /ora­vec/fil­my.

Kon­tro­lu ob­jek­tov spus­tí­me prí­ka­zom

 [root@ru­bin da­zu­ko] # /etc/init.d/no­d32dac start

Úpra­va
Ak nám kon­tro­la sú­bo­rov po­dľa opí­sa­né­ho fun­gu­je, mô­že­me ju troc­hu za­uto­ma­ti­zo­vať. Buď uve­de­nú po­stup­nosť za­vád­za­nia da­zu­ko a spus­te­nia prí­ka­zu no­d32dac start vlo­ží­me do vhod­né­ho štar­to­va­cie­ho skrip­tu, nap­rík­lad do /etc/rc.d/rc.lo­cal, ale­bo za­bez­pe­čí­me, aby sa mo­dul za­vád­zal a prí­kaz spúš­ťal pri boo­te sys­té­mu. Čo sa tý­ka mo­du­lu da­zu­ko, aby sme ze­fek­tív­ni­li je­ho za­ve­de­nie do ope­rač­nej pa­mä­te po­čí­ta­ča, mô­že­me mo­dul pre­ko­pí­ro­vať do ad­re­sá­ra /lib/mo­du­les/ver­zia_jad­ra a spus­tiť prí­kaz dep­mod –a. Po­tom už ne­mu­sí­me ruč­ne mo­dul za­ťa­ho­vať do pa­mä­te prí­ka­zom in­smod. A na spus­te­nie prí­ka­zu no­d32dac vy­uži­je­me vhod­ný štar­to­va­cí skript (v ba­líč­koch pre dis­tri­bú­cie ako Fe­do­ra a Red­Hat ten­to skript je už pril­ože­ný).

On-ac­cess ske­ner s vy­uži­tím kniž­ni­ce libc
V tej­to čas­ti sa bu­de­me ve­no­vať čin­nos­ti, in­šta­lá­cii a nas­ta­ve­niu on-ac­cess ske­ne­ra, vy­uží­va­jú­ce­ho kniž­ni­cu lib­no­d32pac.so.

Prin­cíp čin­nos­ti
Kniž­ni­ca on-ac­cess ske­ne­ra lib­no­d32pac.so (NO­D32 pre­load lib­ra­ry ba­sed Ac­cess Con­troller) je zdie­ľa­ná kniž­ni­ca, kto­rá je vy­uží­va­ná kniž­ni­cou LIBC. To je prá­ve vhod­né pre sú­bo­ro­vé sys­té­my, kto­ré po­uží­va­jú vo­la­nia tej­to kniž­ni­ce LIBC, ako je FTP server, Sam­ba server a po­dob­ne.

V sú­čas­nej ver­zii sú po­dpo­ro­va­né tie­to ty­py prís­tu­pov k sú­bo­rom:
- ON_OPEN uda­los­ti
Ten­to prís­tu­po­vý typ je ria­de­ný vte­dy, keď pr­vý bit pa­ra­met­ra „event_mask“ v hlav­nom kon­fi­gu­rač­nom sú­bo­re NO­D32 v sek­cii [pac] je “1”. V ta­kom­to prí­pa­de sú za­chy­te­né všet­ky „open“ ale­bo „open64“ vo­la­nia kniž­ni­ce LIBC.
- ON_CLO­SE uda­los­ti
Ten­to prís­tu­po­vý typ je ria­de­ný vte­dy, keď dru­hý bit pa­ra­met­ra „event_mask“ v hlav­nom kon­fi­gu­rač­nom sú­bo­re NO­D32 v sek­cii [pac] je “1”. V ta­kom­to prí­pa­de sú za­chy­te­né všet­ky vo­la­nia „clo­se“, „dup“ ale­bo „dup2“ kniž­ni­ce LIBC.

Pri po­uži­tí toh­to mec­ha­niz­mu všet­ky ot­vá­ra­né a za­tvá­ra­né des­krip­to­ry, zvia­za­né so sú­bor­mi, bu­dú ske­no­va­né dé­mo­nom no­d32d na ví­ru­sy.

In­šta­lá­cia
In­šta­lá­cia kniž­ni­ce lib­no­d32pac.so sa vy­ko­ná po­uži­tím štan­dar­dné­ho mec­ha­niz­mu in­šta­lá­cie „pre­load“ kniž­níc. Iba­že mu­sí­me de­fi­no­vať pre­men­nú pros­tre­dia LD_PRE­LOAD. Z dô­vo­du za­chy­te­nia plat­ných vo­la­ní prís­tu­pu k sú­bo­rom po­uži­je­me nas­ta­ve­nie

LD_PRE­LOAD=/usr/lib/lib­no­d32pac.so prí­kaz

kde prí­kaz je ori­gi­nál­ny vy­ko­na­teľ­ný prí­kaz.

Na správ­ny beh on-ac­cess ske­ne­ra tre­ba de­fi­no­vať ob­jek­ty sú­bo­ro­vé­ho sys­té­mu, kto­ré chce­me kon­tro­lo­vať. To nas­ta­ví­me v po­lož­kách ctl_incl a ctl_excl v sek­cii [pac] kon­fi­gu­rač­né­ho sú­bo­ru /etc/no­d32/no­d32.cfg. V po­lož­ke ctl_incl de­fi­nu­je­me ob­jek­ty, kto­ré chce­me kon­tro­lo­vať, v po­lož­ke ctl_excl de­fi­nu­je­me ob­jek­ty, kto­ré z kon­tro­ly chce­me vy­ňať.

Prík­lad
Pre lep­šie po­cho­pe­nie tej­to čas­ti si to ukáž­me na prík­la­de sys­té­mu Sam­ba. Chce­me, aby bo­li ske­no­va­né všet­ky prís­tu­py k sú­bo­rom hneď po štar­te sys­té­mu Sam­ba. Up­ra­ví­me ini­cia­li­zač­ný skript Sam­by. Je to sú­bor /etc/init.d/smb. Ot­vo­rí­me ho vo vhod­nom edi­to­re a vy­hľa­dá­me ria­dok s textom

dae­mon /usr/sbin/smbd $SMBOP­TIONS

kto­rý je zod­po­ved­ný za spus­te­nie dé­mo­na smbd.

Ten­to ria­dok nah­ra­dí­me textom

LD_PRE­LOAD=/usr/lib/lib­no­d32pac.so dae­mon /usr/sbin/smbd $SMBOP­TIONS

Od­te­raz bu­de po štar­te sys­té­mu, res­pek­tí­ve po štar­te Sam­by ak­ti­vo­va­ná kon­tro­la sú­bo­ro­vé­ho sys­té­mu po­mo­cou ske­ne­ra s kniž­ni­cou lib­no­d32pac.so. A tak sme do­kon­či­li anti­ví­ru­so­vú kon­tro­lu sú­bo­ro­vé­ho sys­té­mu Li­nuxu.

Ďal­šie čas­ti >>

Zdroj: Infoware 3/2006



Ohodnoťte článok:
   
 

24 hodín

týždeň

mesiac

Najnovšie články

Li­nux prak­tic­ky ako server úvod
Linux ako server je pomerne zložitá technológia. Jej výhodou je určitá modularita, keď sa nemusí nastaviť celý server naraz, ale postupne. čítať »
 
Syn­chro­ni­zá­cia ča­su v Li­nuxe
V predchádzajúcich dvoch častiach sme si ukázali, že Linux a všeobecne open source softvér sa nenachádza iba v serveroch a počítačových sieťach, ale aj v iných zariadeniach bežnej domácej potreby a v oblasti hobby. čítať »
 
Za­ria­de­nia za­lo­že­né na Li­nuxe
V predchádzajúcej časti sme si spomenuli definície nie - ktorých pojmov z oblasti nášho záujmu, teda Linuxu. Vysvetlili sme si, čo je to Open Source, Public Domain, proprietárny softvér a GNU GPL. Tentoraz ukážeme, ako sa tieto pojmy využívajú v praxi. čítať »
 
Po­jmy z ob­las­ti
Tentoraz na chvíľu trochu odbočíme od bezpečnosti Linuxu a jeho siete. V tejto neštandardnej časti seriálu sa mu budeme venovať len okrajovo. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí II.
V predchádzajúcej časti sme sa začali zaoberať bezpečnosťou bezdrôtových sietí. Poukázali sme na rôzne faktory zneužitia siete, podstatu rizika a vysvetlili sme základné prvky bezpečnosti. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí I.
V predchádzajúcich častiach sme sa venovali bezpečnosti linuxového servera. Riešili sme firewall, bezpečnosť prístupu na internet, zaoberali sme sa demilitarizovanou zónou a podobne. čítať »
 
Údr­žba lo­gov – kon­fi­gu­rá­cia log­ro­ta­te
V predchádzajúcej časti sme sa venovali rotácii logov. Vysvetlili sme princíp ukladania logov, spôsob, ako sa rotujú, a uviedli sme niečo o tom, čo a ako treba nastaviť čítať »
 
Údr­žba lo­gov – ro­tá­cia
V predošlej časti sme sa zaoberali spôsobom logovania informácií na iný alebo vzdialený počítač a ukázali sme, ako riešiť problém s logovaním uzavretých procesov pomocou chroot. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter