Skocz do zawartości

Grep Z Kilku Plików


samba

Rekomendowane odpowiedzi

witam

chciałbym wygrepować z kilkunastu plików następujący wpis: NT_STATUS_INVALID_

jednakże nie mogę dojść jak wygladałaby składania poleceń aby grep potrafił wyciągnąć powyższy wpis z plików które nazywają się tak

 

.sm10.log

.sm10.log.old

.sm11.log

.sm11.log.old

.sm12.log

.sm12.log.old

.sm13.log

.sm13.log.old

.sm14.log

.sm14.log.old

.sm15.log

.sm15.log.old

 

interesują mnie pliki .sm*.log bez oldów .

Trudnością dodatkową jest wyciągnięcie daty i godziny z logu czyli linijki wyżej nad wpisem NT_STATUS_INVALID

oto jak wygląda przykładowy log

[2008/02/27 07:39:56, 2] auth/auth.c:check_ntlm_password(319)
  check_ntlm_password:  Authentication for user [nazwa usera] -> [nazwa usera] FAILED with error NT_STATUS_INVALID_LOGON_HOURS
  [2008/02/27 07:40:03, 3] passdb/secrets.c:secrets_store_schannel_session_info(1146)
    secrets_store_schannel_session_info: stored schannel info with key SECRETS/SCHANNEL/SM18
  [2008/02/27 07:40:03, 1] auth/auth_sam.c:logon_hours_ok(114)
    logon_hours_ok: Account for user nazwa usera not allowed to logon at this time (Wed Feb 27 07:40:03 2008

 

Chccę osiągnąć takie wyjście ze wszystkich plików

[2008/02/27 07:39:56, 2] [nazwa usera] FAILED with error NT_STATUS_INVALID_LOGON_HOURS

 

Ewentualnie czy jest możliwość skonfigurowania sysloga i logów samby aby z powyższych plików zrobić przekierowanie do 1 pliku w którym będą tylko info NT_STATUS_INVALID_ ?

 

Ma ktoś jakiś pomysł na odpowiedni przepis?

 

Tylko nie piszcie odpowiedzi typu: przeczytaj sobie manuala grep'a

Odnośnik do komentarza
Udostępnij na innych stronach

A nie prościej skorzystać ze składni basha?

 

podaj przykład jak ??

 

generalnie stanąłem nad czymś takim

cat ls .sm*.log |grep  NT_STATUS_INVALID

 

Z powyższego kodu dostaję coś takiego

 

check_ntlm_password: Authentication for user [fujitsu] -> [fujitsu] FAILED with error NT_STATUS_INVALID_LOGON_HOURS

check_ntlm_password: Authentication for user [janko] -> [janko] FAILED with error NT_STATUS_INVALID_WORKSTATION

 

a potrzebuje jeszcze datę i godzinę tak jak pisałem wyżej....

Nie wiem jaką komendą wygrepować jeszcze linijkę wyżej nad wpisem NT_STATUS_INVALID_ czyli datę i godzinę ??!!!

Odnośnik do komentarza
Udostępnij na innych stronach

Ok chyba rozwiązałem to takim poleceniem. Jeśli ktoś ma lepsze rozwiązanie to proszę pokaż je .

 

cat ls .sm*.log |grep --color=auto -C 2 NT_STATUS_INVALID

 

Objaśnię może komuś przyda się"

 

najpierw listuje wszystkie pliki .sm(dowoly znak).log (można dopisać ścieżkę np /var/log/samba/)

później aby wyraźnie było widać szukanych wyrażeń koloruje je

następnie pokazuję dwie linię ( -C 2 ) wyżej i niżej przed wyszukiwanym wyrażeniem

 

I dostaję piękny log :)

Odnośnik do komentarza
Udostępnij na innych stronach

find . -name ".sm*.log" -exec grep NT_STATUS_INVALID {} \; -print

Dzięki ale twoje wyjście pokazuje to co chcę ale bez daty i godziny która w tym przypadku jest dla mnie bardzo ważna.

[root@serwer samba]# find . -name ".sm*.log" -exec grep NT_STATUS_INVALID {} \; -print
    check_ntlm_password:  Authentication for user [jankowski] -> [jankowski] FAILED with error NT_STATUS_INVALID_WORKSTATION

a mi chodziło o coś takiego

secrets_store_schannel_session_info: stored schannel info with key SECRETS/SCHANNEL/SM5
  [2008/04/24 08:09:40, 2] auth/auth.c:check_ntlm_password(319)
    check_ntlm_password:  Authentication for user [oldak] -> [oldak] FAILED with error NT_STATUS_INVALID_WORKSTATION
  [2008/04/24 08:09:59, 3] passdb/secrets.c:secrets_store_schannel_session_info(1146)
    secrets_store_schannel_session_info: stored schannel info with key SECRETS/SCHANNEL/SM5

Aby pokazało się coś takiego jak wyżej musisz dodać do grepa parametr - C 2 lub -B 2

Przy C pokaże ci 2 linijki nad i pod wyszukanym tekstem

Przy B pokaże ci tylko 2 linijki nad wyszukanym tekstem

Zależy co kto szuka dla mnie lepszym parametrem będzie chyba - C 2 lub 1 :)

 

Waldo dzięki za pomoc.

 

Odnośnie logów to mam jeszcze jedno pytanie .

Gdzie wyłączyć i co aby do pliku /var/spool/mail/root nie dostawać informacji z audytu samby czyli z full_audit:success pwrite write rename itd itp. Od razu dodam że to nie w syslog.conf

 

Chodzi o to by informacje które są i tak logowane do /var/spool/messages i logów samby nie trafiały do ~/mail/root

Czyli żeby nie było takich wpisów:

--------------------- samba Begin ------------------------
  smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S.ndx (numopen=0) NT_STATUS_OK : 4 Time(s)
   smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S.ndx (numopen=5) NT_STATUS_OK : 2 Time(s)
   smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S.ndx (numopen=7) NT_STATUS_OK : 1 Time(s)
   smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S.ndx (numopen=9) NT_STATUS_OK : 1 Time(s)
   smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S/12-1112-56S.TIF (numopen=1) NT_STATUS_OK : 1 Time(s)
   smbd/close.c:close_normal_file(406)  budniak closed file 1000/1000_S/12-1112-56S.TIF (numopen=4) NT_STATUS_OK : 1 Time(s)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...