Pretraživanje
Sistemac.srce.hr

Srce je, uvažavajući velike potrebe za informiranjem stručnjaka i drugih korisnika iz područja upravljanja računalno-komunikacijskim i informacijskim sustavima, odlučilo unaprijediti portal za sistem-inženjere, dostupan na adresi http://sistemac.srce... [više]

Helpdesk
26.12.12 20:47 - Kat: Razno
Autor: Branimir Radić

U općoj definiciji epoch je trenutak u vremenu koji se koristi kao referentna točka i predstavlja polazište za računanje vremena. Postoji cijeli niz epoch trenutaka koji se koriste, a najpoznatiji je, naravno, rođenje Krista koje se koristi kao prva godina dok se datumi označavaju sa A.D. (lat. Anno Domini).

U računalnim se sustavima koristi cijeli niz referentnih točaka kao ishodište za računanje vremena. Izraz Unix vrijeme koristi se kada govorimo o referentnom, odnosno epoch datumu 1. siječnja 1970. godine u 0:00:00. Ovaj epoch koriste Unix, Linux i OS X operacijski sustavi te cijeli niz programskih jezika. U svom osnovnom obliku vrijeme se prikazuje jednim brojem koji predstavlja broj sekundi od zadane referentne točke (epoch). Na taj način zapis vremena postaje značajno jednostavniji za pohranu i kasniju manipulaciju u računalnim sustavima. Jasno, taj format nije čitljiv ljudima (engl. human readable). Primjerice, epoch zapis 1353403444 označava 20. 11. 2012. 9:24:04. Problem nečitljivosti postaje očit kada vidimo da neki servisi u log datoteke zapisuju vremenske oznake (engl. timestamp) događaja u epoch formatu. Uz teškoće utvrđivanja kada se određeni događaj zbio, teško je i prepoznati obrazac (ako postoji) ponašanja servisa. Tipično, audit servis bilježi u log datoteku zapise sa epoch vremenskim oznakama:

type=USER_ACCT msg=audit(1354384956.001:102378): user pid=27726 uid=0 auid=4294967295 ses=4294967295 ...

type=USER_START msg=audit(1354386555.002:102379): user pid=27726 uid=0 auid=4294967295 ses=4294967295 ...

Ovdje su vremenske oznake 1354384956.001:102378 i 1354384956.001:102378. Te vremenske oznake pretvorene u human readable GMT zapis glase Sat, 01 Dec 2012 18:02:36 GMT i Sat, 01 Dec 2012 18:29:15 GMT, respektivno.

Praktično je epoch zapise pretvoriti u neki format jednostavniji za čitanje. To može biti bilo koji od standardnih formata poput Gregorian little-endian (dd/mm/yyyy), Gregorian big-endian (yyyy/mm/dd) ili middle-endian (mm/dd/yyyy) budući su svi jednostavniji za čitanje od epoch zapisa.

Prvi je način korištenje naredbe date za konverziju na UNIX operacijskim sustavima. Potrebno je koristiti opciju -d @:

# date -d @1354384956
Sat Dec 1 19:02:36 CET 2012

Osim korištenjem naredbe date, konverzija može biti provedena korištenjem raznih programskih jezika:

#PERL
print scalar localtime(1354384956);

#PHP
$epoch = 1354384956;
echo date('r', $epoch);

Postoje brojni drugi načini da se zapis datuma iz epoch formata pretvori u zapis koji je human readable. Moguće je korištenje drugih programskih jezika odnosno drugi izlaznih formata. Uz ovaj oblik konverzije postoje brojne internet stranice na kojima je moguće izvršiti transformaciju iz epoch formata. Ipak, puno je korisnije konverziju provesti direktno pri čitanju zapisa. Od brojnih mogućih opcija, dvije vjerojatno najjednostavnije (od kojih druga koristi perl programski jezik) su:

# less /var/log/audit/audit.log | ausearch –i|less

# less /var/log/audit/audit.log | perl -pe 's/(\d+)/localtime($1)/e'|less

Na ovaj način datumi iz audit.log datoteke će se jednostavno prikazati u čitljivom obliku no potrebno je pripaziti na eventualne pogreške nastale zbog potencijalno krivog unosa vremenske zone.




<- povratak na popis novosti

Random Tips&Tricks
16.10.10 - [Windows] Brza provjera Audit politike iz komandne linije

Brzu provjeru Audit politike na lokalnom poslužitelju možemo napraviti iz komandne linije

[više]


sistemac.srce.hr

Marohnićeva 5
10000 Zagreb

Tel.: ++385 1 6165547
Fax: ++385 1 6165559