Internet

    Ju? nie taki brzydki hack na hylafax i png

    W poprzednim wpisie – http://maciejewski.org/2012/05/16/hack-na-hylafax-i-faksy-w-png-lub-innym/ opisa?em jak przerabia? tiffy generowane przez hylafax na png i wysy?a? je ludziom na mail.

    Skrypt w FaxDispatch co prawda dzia?a? bardzo dobrze ale by? do?? brzydki i toporny (tworzenie headerów przez echo >> do plików itp).

    Pozatym okaza?o si? ?e mia? jedn? zasadnicz? wad?. Nie da?o si? przekaza? wiadomo?ci z za??cznikami inline. Po naci?ni?ciu FORWARD wiadomo?? wygl?da?a mniej wi?cej tak:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Dlatego zrezygnowa?em z sendmaila i uuencode na rzecz mime-construct

    Poprzedni skrypt wygl?da teraz tak:

    convert /var/spool/hylafax/`cat /tmp/FILE` /tmp/fax/fax.png
    for D in /tmp/fax/*png
    do
    echo -n "--file-attach " >> /tmp/fax/faxy
    echo $D >> /tmp/fax/faxy
    done
    mime-construct --header 'From: Serwer faxów ' --to fax@***.pl --subject "Odebrano fax od $SENDER" `cat /tmp/fax/faxy`
    rm -rf /tmp/fax/*

    Teraz p?tla for tworzy list? plików które mime-construct ma za??czy? do wiadomo?ci.

    Po zmianie skryptu dostarczanie faksów dzia?a jak dotychczas, natomiast po przekazaniu mamy eleganckie za??czniki tam gdzie powinny by? :)

     

    Job / Praca

    Hack na hylafax i faksy w png (lub innym formacie graficznym)

    Na pocz?tku by?a euforia. B?dziemy mieli firmowy wirtualny faks z pi?cioma numerami! Notabene „paczk?” dziesi?ciu kolejnych numerów od Netii dostali?my za darmo, a my?la?em, ?e za darmo nikt ju? nic nie daje. Zatem, serwer faksów stan?? na nogi do?? szybko i co równie? wa?ne, pierwszy numer uda?o si? uruchomi? bez wi?kszych problemów. Serwer to hylafax 4.4.7.

    $ faxstat
    HylaFAX scheduler on nidhog.***.pl: Running
    Modem tty00 (+48616******): Running and idle

    Po pocz?tkowym (moim) zachwycie jak to dobrze dzia?a i jak stabilnie, zacz??y nap?ywa? pytania i pro?by o zmian? formatu dostarczania faksów. Tutaj ma?e wtr?cenie jak wygl?da u nas dostarczanie faksów. Na jeden numer do ksi?gowo?ci kontrahenci wysy?aj? faks, który nast?pnie jest dystrybuowany do wszystkich osób którym mo?e by? to przydatne. Te kilkadziesi?t osób patrzy sobie w swoje Thunderbirdy a niektóre wybitnie oporne jednostki w Outlooki i im szybciej po ?ypni?ciu okiem mo?na stwierdzi?, ?e ten faks jest potrzebny lub nie tym lepiej.

    I tu w?a?nie zaczynaj? si? schody bowiem hylafax po odebraniu faksu umie go dostarczy? jako postscript (domy?lnie) lub wielostronicowy tiff lub pdf. Niby mamy wszystko co potrzeba, orygina?, obrazek, pdf. Niestety problem tkwi poniek?d w klientach pocztowych, które bez zag??biania si? w szczegó?y nie mog? wy?wietli? podgl?du za??cznika w pdf lub tiff.

    Domy?lnie hylafax nie ma tak?e opcji dla png, jpg czy gif poniewa? w/g twórców hylafax’a formaty te nie nadaj? si? do odwzorowywania czarno-bia?ych faksów oraz maj? problem z wielostronicowymi faksami.

    Po kilkudniowych (naprawd?) poszukiwaniach jakich? pluginów i patchy okaza?o si?, ?e s? co prawda jakie? patche na /var/spool/hylafax/bin/faxrcvd , który jest odpowiedzialny za przyjmowanie faksów istniej? na forum hylafax ale posty s? datowane mi?dzy 1999 a 2004 i teraz ten plik wygl?da zupe?nie inaczej. Oczywi?cie przy ka?dym po?cie akademicka dyskusja dlaczego nie u?ywa? png czy jpg…

    Jak ju? pisa?em, w modelu odbioru faksów, który u nas z powodzeniem funkcjonuje liczy si? szybko?? – dostajemy kilkana?cie/kilkadziesi?t faksów dziennie, który to faks mo?e dotyczy? jednej lub kilku osób z kiludziesi?ciu. Musi by? obrazek dost?pny w podgl?dzie dla programów pocztowych, koniec, kropka.

    Zamiast próbowa? zaimplementowa? obs?ug? png do faxrcvd, który dla mnie jest zbyt pokr?cony, poszed?em inn? drog?. Hylafax u?ywa pliku /var/spool/hylafax/etc/FaxDispatch do dostosowywania dostarczania faksów. Mo?na tam oprócz predefiniowanych pól dokonywa? modyfikacji np przy pomocy CASE (gdy numer taki, dostarcz gdzie?) itp. Mi natomiast rzuci? si? w oczy przedostatni przyk?ad z jakiego? FaxDispatcha w cvsie hylafaxa:

    ## To make each received fax saved outside hylafax
    ## ( Don't forget to chown uucp /some/place )

    /bin/cp $FILE /some/place

    Czysty skrypt shellowy w pliku konfiguracyjnym :)

    Po kilkunastu wys?anych faksach testowych i poprawieniu kilku b??dów oraz praw urodzi?o si? co? takiego:

    FILETYPE=pdf;
    SENDTO=fax@***.pl;
    TEMPLATE=pl;

    convert $FILE /tmp/fax/fax.png
    echo "To: fax@***.pl" > /tmp/fax/mail_fax
    echo "From: Serwer fax??w *** Sp. z o.o. " >> /tmp/fax/mail_fax
    echo "Subject: Odebrano fax od $SENDER" >> /tmp/fax/mail_fax
    echo "MIME-Version: 1.0" >> /tmp/fax/mail_fax
    echo "Content-Type: text" >> /tmp/fax/mail_fax
    echo "Content-Disposition: inline" >> /tmp/fax/mail_fax
    for D in /tmp/fax/*png
    do
    uuencode $D $D >> /tmp/zalaczniki
    done
    cat /tmp/zalaczniki >> /tmp/fax/mail_fax
    sendmail "fax@***.pl" < /tmp/fax/mail_fax rm -rf /tmp/fax/* rm -rf /tmp/zalaczniki

    Do dzia?ania potrzebny jest ImageMagic.

    Krótkie obja?nienie

    - pierwsze trzy linijki to najbardziej podstawowa konfiguracja, odbiorca, format i szablon wiadomo?ci. Zostawi?em podczas testowania jak przychodzi? faks aby przez wadliwy skrypt poni?ej nie zosta? pozbawionym faksów :)

    - nast?pnie konwertujemy plik tiff który tworzy hylafax w /var/spool/hylafax/recvq na png. Konkretny plik hylafax przechowuje w zmiennej $FILE wi?c nie musimy nawet szuka? tego o którego nam chodzi. Wielostronicowy tiff konwertowany jest na wiele plików png w/g schematu - je?li dajemy nazw? fax.png jako pliku wyj?ciowego dostajemy fax-1.png, fax-2.png itd.

    - kolejne 6 linijek tworzy nag?ówek maila, bez tego te? zadzia?a, ale odbiorca dostanie fax bez tematu od UNIX-to-UNIX Copy (uucp@domena), za?o?? si?, ?e to si? nie spodoba ludziom z poza IT :) Mamy zatem ?adnie od kogo dla kogo, z numerem telefonu który do nas wysy?a? w temacie.

    - nast?pne 4 linijki to p?tla dzia?aj?ca na katalogu gdzie s? nasze skonwertowane pliki png. Ka?dy plik png trzeba zakodowa? do ascii i doklei? do wcze?niej stworzonego pliku z nag?ówkiem.

    - ostatecznie wysy?amy mail sendmailem do??czaj?c nag?ówki i za??czniki z pliku.

    - ostatnie dwie linijki - sprz?tamy oczekuj?c nast?pnego faksu :)

    Trzeba pami?ta?, aby wszystkie polecenia i katalogi u?yte w tym skrypcie mog?y by? wykonane przez u?ytkownika uucp.

    Je?li wszystko gra, adresat maila powinien otrzyma? mniej wi?cej tak? wiadomo??:

    NetBSD

    wip/downtimed

    Po wip/digitemp dzisiaj doda?em drug? paczk? do wip’a. Downtimed ?ledzi czasy uruchomienia, rebootów, zawiesze?, braku pr?dów itp i prowadzi statystyki jak d?ugo system by? offline. Co ciekawe, planowe restarty (przynajmniej w przypadku mojego serwera) trwaj? dok?adnie tyle samo – 66 sekund (reboot) przy czym „shutdown -r now” jest o 3 sekundy szybszy (63 sek) ni? reboot :)

    Przyk?adowe statystyki wygl?daj? tak:

    $ downtimes
    down 2012-02-28 14:57:17 -> up 2012-02-28 14:58:23 = 00:01:06 (66 s)
    down 2012-02-28 15:05:12 -> up 2012-02-28 15:06:18 = 00:01:06 (66 s)
    down 2012-02-28 15:07:25 -> up 2012-02-28 15:08:28 = 00:01:03 (63 s)

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Budowa

    Eko CO?

    Dzisiaj nie b?dzie o IT, a o… ogrzewaniu :)

    Po ostatnich zmianach z akcyz? na materia?y w?glowe, kupno w sensownym czasie w?gla, czy ekogroszku jest niemo?liwe, trzeba wype?ni? mnóstwo papierków za ka?dym razem. Papierki te podejrzewam za jaki? czas b?d? donosem samym na siebie za zanieczyszczanie ?rodowiska CO2 , nawet je?li palimy EKO-groszkiem :) Ja zatem aby oszcz?dzi? sobie nerwów, k?opotów i czasu (kwitki trzeba przechowywa? 5 lat!) wola?em akcyz? dop?aci? (od 40gr do 1 z? na worku 25 kg). Wró?my jednak do ekologii i ogrzewania pomijaj?c zawi?o?ci finansowe. Co nam daje ekogroszek teoretycznie:

    – gwarancj? frakcji – 8-25mm aby nam si? nie klinowa? w podajniku

    – ma?o popio?u (5-10%)

    – ma?? spiekalno??

    – ma by? pozbawiony py?u w?glowego

    – wygodne sk?adowanie.

    Zapewne ka?dy, kto mia? jak?kolwiek styczno?? z ekogroszkiem przyzna, ?e powy?sze jest prawd? w przypadku stosowania najwy?szej jako?ci w?gla. Ja mog? jedynie pochwali? „Pieklorza”, którego cena niestety jest ju? zniech?caj?ca do kupna. Jak to wygl?da w praktyce:

    – frakcja – kilka razy wymienia?em zawleczk? oraz rozkr?ca?em podajnik aby cofn?? ?limak który zaklinowa? si? z kawa?kiem w?gla lub kamieniem (!) znacznie wi?kszym ni? 25mm.

    – popió? – z podanego przedzia?u (5-10%) raczej sk?ania?bym si? ku 10% albo powy?ej. Czyli na ka?dy zasyp (150kg) musimy wybra? teoretycznie 15kg popio?u i co? z nim zrobi?. Do póki mo?emy go zagospodarowa? wype?niaj?c jakie? luki w drodze gruntowej to nie jest ?le, ale zagospodarowa? np 100 czy 200 kg po sezonie (je?li spalimy tylko 2 T) a wsz?dzie ?adne drogi z pozbruku to niestety – trzeba zap?aci? za wywóz. O ba?aganie (to ??godne okre?lenie) zwi?zanym z wyjmowaniem popio?u i czyszczeniem pieca nie wspomn?.

    – spiekalno?? – tutaj jakiego w?gla bym nie u?y? – ZAWSZE – powstawa?y spiekliny i w d?u?szym okresie czasu wypalony w?giel nie l?dowa? w popielniku tylko zacz?? odk?ada? si? w okolicy retorty czasami buduj?c okaza?e menhiry w gór?. Do czego mo?e prowadzi? zaczopowanie kot?a nie do ko?ca spalonym w?glem i jego poruszenie pokazuje poni?szy film z mojego niedawnego czyszczenia pieca….

    Jak wygl?da kot?ownia po wywietrzeniu i pozbyciu si? dymu chyba nie musz? wspomina? – opad atomowy na ca?ej powierzchni. Popió? jest te? radioaktywny – polecam dodanie go jako nawóz do ro?lin – od razu szybciej rosn? mutanty :)

    – brak py?u w?glowego – co jest istot? ekogroszku. Ponownie, w najlepszych w?glach faktycznie nie ma go, wida? ?e jest porz?dnie wyp?ukany, wysuszony i zapakowany w plastikowe worki. Z innymi jest ju? gorzej, szczytem jest w?giel na stacjach benzynowych (w takich czarny workach) gdzie popio?u jest ilo?? wprost gigantyczna. Ca?kowite pomylenie idei ekogroszku jest na sk?adach w?glowych gdzie „ekogorsek” le?y w ha?dzie, niejednokrotnie zamarzni?tej a pakowany jest przez obs?ug? w worki parciane i przewi?zany sznurem od snopowi?za?ki. Jak si? wygl?da po kontakcie z takim workiem (mokry, brudny) nie musz? mówi?. Le??cy i czekaj?cy na spalenie w?giel tak?e traci swoje w?a?ciwo?ci grzewcze (nawet do 30% kaloryczno?ci w ci?gu 2 miesi?cy).

    – sk?adowanie – jest wygodne pod warunkiem, ?e mamy szczelne worki plastikowe (w parcianych z czasem traci swoje w?a?ciwo?ci), nie zamarzni?te i nie uwalone w?glem. O r?cznie pakowanych po 50 kg nawet nie wspominam – unie? sobie taki na 1,8m ?eby wsypa?. Je?li kupujemy mokry w?giel ze sk?adu na dworze np o wilgotno?ci 20% czyli cieknie z niego jako cholera to gratulacje – kupi?e? 5 litrów wody w worku 25 kg – o tyle masz mniej w?gla i tyle musisz po?wi?ci? energii spalaj?c w?giel aby odparowa? wod? i przy okazji przyczyni? si? do korozji swojego kot?a.

    Ponarzeka?em na w?giel – mimo to twiererdz?, ?e nadal jest to najlepsze paliwo do kot?ów na paliwo sta?e. Ale jest alternatywa. Alternatywa o w?a?ciwo?ciach na tyle cudownych, ?e a? trudno samego siebie przekona? do spróbowania, bo przecie? jak spala? efektownie… trocin?.

    A w?a?ciwie sprasowan? trocin? czyli pelety. Okaza?o si?, ?e niedaleko mnie jest producent pelet wi?c kupi?em 5 worków 25 kg na prób?. Po kilku dniach palenia i u?ywania co mog? powiedzie?. Jest rewelacja! Kaloryczno?? zbli?ona do w?gla 20-21 kJ (najlepszy w?giel mia? oko?o 26 kJ). Kocio? pracuje sprawniej, szybciej osi?ga temperatur? pozwalaj?c? dogrza? dom kiedy termostat wy?le mu sygna?, ?e temp. spada. D?u?ej te? temperatura spada po wy??czeniu nawiewu. Na wykresie strza?k? (klik aby powi?kszy?) zaznaczone jest od kiedy pal? si? same pelety. Na lewo od strza?ki sam w?giel. Jak wida? nie ma w zasadzie, ?adnej ró?nicy, pelety jednak szybciej osi?gaj? zadan? temperatur? co wida? po bardziej stromych zboczach wykresu na prawo od strza?ki i to nawet ju? w wy?szych temperaturach. Pewnie zastanawiasz si? – no dobra – fajnie si? pali, ale co w przypadku kiedy piec czeka a? temperatura opadnie. Na przyk?ad piec dogrzewa do 20st C do godziny 20 i akurat o 20 ma 65 stopni. Po 20:00 prze??cza si? na temperatur? nocn? i dogrzewa je?li spadnie temperatura w pomieszczeniu do 15 stopni. Czyli o 20:01 piec ma 65 stopni i temperatura wody musi spa?? do 34 st. aby kocio? na nowo zacz?? dmucha? aby podtrzyma? ogie?. Te? si? nad tym zastanawia?em i oprócz w?tpliwo?ci co do szybko?ci spalania si? trocin to by?o g?ówn? obaw? czy pelety maj? sens. Powró?my do wykresu. Zaraz obok strza?ki po prawej stronie najwy?szy pik to 23:00 ju? na samych peletach. Tak ustawi?em termostat aby mi utrzymywa? temperatur? dzienn? 20stC do 23:00 dla testów. Od 23:00 temperatura zacz??a spada? i aby spa?? do granicznych 34stC zaj??o to prawie 1,5h… Nast?pnie dmuchawa zacz??a rozdmuchiwa? ciemno?ci pieca i o dziwo pojawi? si? ?ar a zaraz za nim ogien. Podajnik wepchn?? now? porcj? pelet (oko?o dwóch gar?ci w danym momencie si? pali) i temperatura zacz??a rosn??. Przy 35 stopniach dmuchawa si? wy??cza, temperatura wzrasta bezw?adnie pod wp?ywem ognia i ?aru jeszcze do oko?o 40 stopni i tak w kó?ko. Podtrzymanie ognia mia?em ustawione na „co 30 minut – 40 sekund” czyli w ci?gu prawie 1,5h podtrzymanie odpali?o 2 razy. Nastawy sterownika te? zmieni?em nieznacznie – pa?za mi?dzy dawkami paliwa a pelet zmniejszy?a si? o 5 sekund, a podawanie paliwa zwi?kszy?em o 5 sekund. Takie ustawienia zapewniaj? mi ci?g?e podtrzymanie ognia oraz szybkie dogrzewanie w/g potrzeb.

    Teraz jeszcze krótko na temat punktów, które opisa?em przy ekogorszku:

    – frakcja – gwarancja 6mm od producenta. Pelety s? niesamowicie lekkie (a przy tym twarde jak kamie?, nie mog?em ich rozdusi? w palcach) zatem nie obci??amy te? podajnika tak mocno jak w przypadku w?gla.

    – popió? – tu jest rewelacja! Pelety nie przekraczaj? 0,5% popio?u, w praktyce mo?na mie? pelety o zawarto?ci popio?u 0,25% czyli z 1T pelet dostajemy … 2,5kg popio?u. Popió? jest oczywi?cie ekologiczny, mo?na wykorzysta? jako nawóz. Palimy zatem dok?adnie to za co zap?acili?my :)

    – spiekalano?? – brak – pelet spala si? w 100%.

    – py? i ogólnie ba?agan – brak, mo?na w normalnych rzeczach dosypywa? pelety do zasobnika i niczym si? nie pobrudzimy, z kot?a nic nie dymi, nie paruje (wilgotno?? oko?o 5%), zupe?nie inna jako??.

    – sk?adowanie – jak wida? na zdj?ciu – tak jak w przypadku w?gla – wygodne worki 25kg. Z tym ?e worki s? czyste, nie s? mokre (bo mokry pelet to pelet do wyrzucenia wi?c nikt go tak nie sk?aduje).

    Oprócz powy?szego dochodzi jeszcze mi?y zapach w kot?owni – jak z zak?adu stolarskiego lub tokarskiego. Cena tak?e zach?caj?ca – oko?o 890 z? brutto za ton?. Je?li chodzi o ekologi? to tak?e tutaj du?y plus. Nie ma tlenku siarki jak w ekogorszku, efektem spalania jest tylk CO2 w ilo?ci takiej jakie posiada?o drzewo u?yte do produkcji peletu.

    Gor?co polecam je?li szukasz alternatywy dla ekogroszku lub zastanawiasz si? nad wyborem sposobu realizacji swojego CO.

     

    Job / Praca

    Windows Server + GPO + LogIN/OFF Script + XCOPY Incremental Backup

    W du?ym przedsi?biorstwie zadbanie o backup serwerów i stacji roboczych to do?? istotne przedsi?wzi?cie. U?ytkownicy raczej nie s? ?wiadomi, ?e powinni robi? kopie tego co wa?ne. Po czym wnosz?? Po prawie 4 latach pracy jako Admin w du?ej korpo, na palcach jednej r?ki mog? policzy? osoby które zapyta?y si?, jak lub gdzie maj? zgrywa? swoje dane lub poprosi?y o kupno np dysku USB. Zatem dbamy. Serwery opisz? kiedy indziej – rsync, tar, certyfikaty do ssh, mt – raczej s? znane i stosowane, dodatkowo mo?na zastosowa? bonding do zwi?kszenia transferu, ale o tym jak ju? pisa?em – kiedy indziej.

    Dzisiaj prosty sposób na u?ycie polityk Windows Serwera do kopiowania plików u?ytkowników na zdalny storage w mieszanym ?rodowisku Windows 7 i Windows XP.

    Co to b?dzie robi?o:
    – rozpoznaje jakiego u?ywamy Windowsa :)
    – rozpoznaje czy katalog z nazw? u?ytkownika jest ju? stworzony , je?li nie – tworzy.
    – w katalogach u?ytkownika dzieli na podkatalogi „dokumenty” i „pulpit” aby nie by?o ba?aganu.
    – wy??cza potwierdzenia kopiowania plików na istniej?ce pliki
    – kopiuje tak?e pliki ukryte
    – po pierwszym kopiowaniu nadpisuje tylko te które si? zmieni?y lub dodaje nowe.

    Skrypt BAT wygl?da tak:

    IF EXIST %userprofile%\Documents GOTO BackupWin7

    :BackupWinXP

    IF EXIST \\storage\data\%username% GOTO TylkoKopia
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :BackupWin7
    IF EXIST \\storage\data\%username% GOTO TylkoKopia7
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia7
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :EOF

    Zdalna lokalizacja to oczywi?cie storage – trzeba dopisa? swój serwer lub IP gdzie ma si? kopiowa?, lub dopisa? do swojego DNS’a IP do maszyny która b?dzie nazywa? si? storage.

    /Y – wy??cza promptowanie o potwierdzenie nadpisania pliku
    /D – bez podania czasu dzia?a jak incremental backup

    Pierwszy IF EXIST na podstawie katalogu Documents sprawdza czy u?ywamy Windows XP czy 7. Nast?pnie w odpowiednich blokach IF EXIST sprawdza czy jest na serwerze storage katalog z nazw? u?ytkownika, je?li nie ma tworzy j? i zaczyna kopiowanie. Je?li jest, po prostu zaczyna kopiowanie.

    Skrypt nale?y zapisa? na serwerze w miejscu dla login lub logoff skryptów (odpowiedni katalog otworzy si? przy dodawaniu skryptu do GPO).

    W zale?no?ci od potrzeb podczepiamy skrypt na logowanie lub wylogowywanie. Przy wylogowywaniu backup nast?puje zaraz po zako?czeniu pracy. Je?li u?ytkownik u?ywa komputera stacjonarnego to jest to najlepsza opcja, wy??cza komputer, idzie do domu, komputer kopiuje to co trzeba i si? wy??cza. Gorzej je?li to laptop i u?ytkownik chce go zabra? i musi czeka?, wtedy lepiej da? skrypt jako login. Skrypt odpali si? jednocze?nie z logowaniem i b?dzie dzia?a? w tle umo?liwiaj?c prac?. Mo?na doda? @echo off na pocz?tku aby nie by?o widoczne stado lataj?cych plików :)

    Implementacja na Windows Serwer:

    1. gpmc.msc
    2. Wybieramy odpowiednie OU
    3. Prawy klawisz na OU – Create And Link GPO Here…
    4. Nadajemy nazw?
    5. Prawym klawiszem na nazwie
    6. Edit
    7. Wybieramy User Configuration
    8. Wybieramy Windows Settings
    9. Wybieramy Scripts(Login/Logoff)
    10. Dwa razy klikamy na wybranym skrypcie (login lub logoff)
    11. W Logon lub Logoff Properties Wybieramy Add..
    12. Wybieramy Browse.. i wybieramy skrypt do wykonania. (Je?li go nie ma to w?a?nie w tej lokalizacji ma si? znale?? – trzeba go tam wkopiowa?).
    13. OK i zamykamy edycj? GPO.
    14. W shellu uaktualniamy polityki – gpupdate /force

    Próbujemy si? wylogowa? lub zalogowa?, efektem powinny by? katalogi u?ytkowników na zdalnym storageu.

    root@storage:/data/samba# ll
    razem 44
    drwxrwxrwx 10 root root 4096 2012-01-17 14:12 ./
    drwxr-xr-x 7 root root 4096 2012-01-12 21:42 ../
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:08 user1/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user2/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 12:59 user3/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:56 user4/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:05 user5/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user6/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:06 user7/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:12 user8/

    Po ci??kim dniu pracy, je?li storage wyposa?ony jest w streamer mo?na ca?y katalog /data/samba nagra? jako gotowy dzienny backup.
    Do skryptu oczywi?cie mo?na dopisa? dodatkowe katalogi w/g potrzeb.
    Raz na jaki? czas (np. miesi?c)warto skasowa? ca?? zawarto?? backupu, aby wykona? si? pe?en backup, poniewa? skrypt nie kasuje plików które by?y lokalnie, ale ju? ich nie ma.

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    NetBSD

    wip/digitemp

    Zosta?em maintainerem (ah jak to brzmi ;) pierwszej paczki w Work In Progress Pkgsrc (pkgsrc-wip).

    Paczka, któr? zacommitowa?em to Digitemp. Dzi?ki której mo?na odczytywa? temperatury z termometrów pod??czonych przez RS232. Ja u?ywam go do odczytywania temperatury na kotle CO oraz rysowaniu wykresu temperatury przy pomocy RRDTool. Jak to wygl?da na ?ywo mo?na zobaczy? tu: http://maciejewski.org/temperatura/.

    W pkgsrc digitempa niestety nie by?o, a skompilowany ze ?róde? nie za bardzo chcia? dzia?a?. Utrzymywanie linuksa na osobnej maszynie tylko po to, aby mieli? powietrze raz na jaki? czas odczytuj?c temperatur? tak?e by?o bez sensu. Dlatego przy pomocy tego guide’a, morr’a i bartosza z #netbsd.pl oraz patchy Marka Felskowskiego ostatecznie digitemp zago?ci? w pkgsrc jako gotowa paczka i dzia?a bez najmniejszych problemów tak jak nale?y :)

    # uname -mrs
    NetBSD 5.1.0_PATCH amd64
    # digitemp -s /dev/tty00 -a
    DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
    GNU Public License v2.0 - http://www.digitemp.com
    Oct 31 11:16:13 Sensor 0 C: 33.19 F: 91.74
    #

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Job / Praca

    Bezpieczne filtrowanie poczty przy pomocy imapfilter

    Je?li dostajecie mnóstwo maili codziennie, zapewne filtrujecie je w tym czy innym programie pocztowym. Je?li jednak wy??czycie ten program, wszystkie maile trafiaj? do INBOX i tam czekaj? na swój los do czasu uruchomienia programu pocztowego który je odfiltruje. Problem pojawia si? kiedy odbieramy maile na telefonie, lub na innym komputerze. Na innej maszynie mo?na od biedy przenie?? regu?ki filtrowania, ale robi? to przy okazji ka?dego u?ycia nowego komputera albo webmaila nie ma sensu. W przypadku telefonu jest jeszcze gorzej, a ikonka koperty z liczb? 900+ zniech?ca w ogóle do przegl?dania poczty.

    Do sprawy podchodzimy oczywi?cie kompleksowo, jako Admini wiemy, ?e trzeba si? tak napracowa? aby si? na d?u?sz? met? nie narobi? :) Dlatego najrozs?dniejszym rozwi?zaniem jest u?ycie imapfilter’a na jakiej? UNIXowej maszynie, która i tak ci?gle mieli powietrze (oczywi?cie w przerwach kiedy co? robi po?ytecznego ;). Je?li jeste?cie adminami w?asnego serwera pocztowego to ju? nie ma lepszego miejsca – ??czenie do localhost jest najszybsze i najbezpieczniejsze bo nie wychodzimy poza maszyn? gdzie mamy poczt?.

    Imapfilter korzysta z j?zyka LUA, którego sk?adnia jest do?? prosta a opcje imapfiltra bardzo dobrze opisane w man imapfilter_config.

    Mój przyk?adowy konfig wygl?da tak:

    options.timeout = 120
    options.subscribe = true

    account = IMAP {
    server = 'localhost',
    username = 'login@domena.pl',
    password = 'haslo',
    }

    arpwatch = account.INBOX:contain_from('arpwatch@domena.pl')
    account.INBOX:move_messages(account['Raporty.Arpwatch'], arpwatch)

    vpnok = account.INBOX:contain_subject('VPN Accepted!')
    account.INBOX:move_messages(account['Raporty.VPN.OK'], vpnok)

    vpnbad = account.INBOX:contain_subject('VPN Rejected')
    account.INBOX:move_messages(account['Raporty.VPN.Rejected'], vpnbad)

    eventsentry = account.INBOX:contain_from('eventsentry@domena.pl')
    account.INBOX:move_messages(account['Raporty.Event\ Sentry'], eventsentry)

    potwierdzenia = account.INBOX:contain_subject('Przeczyt') +
    account.INBOX:contain_subject('Potwierdzenie dor?czenia wiadomo?ci') +
    account.INBOX:contain_subject('Potwierdzenie dostarczenia wiadomosci') +
    account.INBOX:contain_subject('Read:') +
    account.INBOX:contain_subject('Potwierdzenie otrzymania:') +
    account.INBOX:contain_subject('Potwierdzenie dostarczenia wiadomo?ci') +
    account.INBOX:contain_subject('wietlono)')
    account.INBOX:move_messages(account['Potwierdzenia'], potwierdzenia)

    Na co warto zwróci? uwag?:
    + oznacza OR
    * oznacza AND
    – oznacza NOT

    Je?li podkatalog w Maildirze zawiera spacj?, trzeba j? wyESCkejpowa? – np. Raporty.Event\ Sentry

    Ca?y konfig zapisujemy w domy?lnym katalogu dla imapfiltra czyli $HOME/.imapfilter/config.lua i odpalamy na pocz?tek z opcj? -v aby zobaczy? wi?cej komunikatów. Je?li plik z konfiguracj? nazywa si? inaczej lub jest w innym miejscu wywo?ujemy imapfilter -v -c /sciezka/do/konfiga

    Je?li nie ma b??dów mo?emy przej?? do dalszej cz??ci.

    W zasadzie to jest gotowe rozwi?zanie, je?li jeste?my sami na serwerze. Je?li s? inni u?ytkownicy, którzy dodatkowo posiadaj? prawa root’a albo po prostu nie pasuje nam pozostawiania swojego has?a gdzie? w postaci jawnego tekstu mo?emy zrobi? taki manewr.

    W przypadku NetBSD instalujemy paczk?:
    wip/ccrypt: Encrypts/decrypts files using Rijndael block cipher
    oraz
    sysutils/shc: Shell script to C compiler

    Piszemy prosty skrypt który b?dzie:

    – dekryptowa? nasz konfig
    – wykonywa? konfig przy pomocy imapfiltra
    – kryptowa? konfig z powrotem

    na poczatek kodujemy config:

    ccencrypt -e -K supertajnehaslo! config.lua

    w wyniku dostajemy plik config.lua.cpt

    Teraz skrypt:

    #!/bin/sh
    ccencrypt -d -K supertajnehaslo! config.lua.cpt
    imapfilter -c /sciezka/do/pliku/config.lua
    ccencrypt -e -K supertajnehaslo! config.lua

    Po wykonaniu tego skryptu je?li ?cie?ki si? w nim zgadzaj? do programów i do konfiga, uprzednio skonfigurowane filtrowanie powinno zadzia?a?.

    No dobra, tylko co daje kodowanie pliku je?li has?o podajemy jako parametr? W takim wypadku nic nie daje, ?atwo podejrze? has?o i zdekodowa? plik konfiguracji gdzie jest has?o do naszej poczty.

    Nale?y zatem „skompilowa?” skrypt przy pomocy shc.

    shc -v -r -T -f skrypt.sh

    W wyniku dostaniemy:

    skrypt.sh.x – binarka gotowa do odpalenia
    skrypt.sh.x.c – kod ?ród?owy wygenerowany z naszego skryptu w takim jakby C.

    Sprawdzamy czy uruchomienie ./skrypt.sh.x robi dok?adnie to samo co odpalenie imapfiltra lub skrypt.sh. Je?li tak to pozostaje nam skasowa? skrypt.sh gdzie mamy jawny klucz do zakodowanego pliku z konfigiem do imapfiltra gdzie mamy jawne has?o do naszego konta pocztowego :) oraz kasujemy skrypt.sh.x.c gdzie mamy ?ród?a naszej binarki. Nadajemy prawo x do wykonywanie pliku – chmod 700 skrypt.sh.x

    Na koniec dodajemy do crona wywo?ywanie programu co ile? tam minut:

    crontab -e
    */1 * * * * /usr/home/cancer/skrypt.sh.x

    Od teraz skrypt b?dzie dokonywa? filtrowania co minut? na chwil? dekoduj?c plik z konfiguracj?, po czym b?dzie go kodowa?. Oczywi?cie rozwi?zanie nie jest idealne, co prawda w ps has?o si? nie pojawi, ale mo?na debugowa? jakby si? kto? upar?. Lepsze jednak takie rozwi?zanie ni? ?adne.

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Internet

    Fanpage!

    Wszystko idzie do przodu, nawet moje w?asne miejsce w sieci musi zadomowi? si? w cz??ci czego? wi?kszego. Prawda jest taka, ?e wi?cej osób wyra?a jak?? interakcj? z tym co napisz? na FB ni? na Blogu. Z drugiej strony to nie powinienem narzeka?, bo blog oprócz bycia online nic tak naprawd? nie wnosi, a jak ju? wnosi, to s? to moje zapiski w formie howto przydatnych rzeczy. ?rednio ciekawe dla nietechnicznych osób. Dlatego, od wczoraj posiadam fanpage ! Mo?na „polubi?” (interesuj?ce jak znaczenie tego s?owa zmieni?o si?, polubienie oznacza tak naprawd? zasubskrybowanie wpisów na stronie bloga :) i cieszy? si? aktualizacjami. Nie?mia?o dodam, ?e samego bloga mo?na te? zasubskrybowa? przze RSS (pewnie brzmi jak magia dla tylkofacebookowiczów ;) i mail (mniej magii ;). Strona bloga na FB dost?pna pod tym adresem: https://www.facebook.com/pages/cancers-blog/222703311128891

     

    Job / Praca

    tmux FTW!

    W codziennej pracy Administratora, logowanie na wiele maszyn i przeprowadzanie update’ów, przegl?dów, testów, audytów to niemal codzienno??. Przy paru maszynach nie jest to takie problematyczne, przy kilku albo kilkunastu – codzienne logowanie mo?e by? ju? powoli frustruj?ce. Z pomoc? przychodzi tmux czyli terminal multiplexer. Tmux to co? takiego jak screen, tylko lepszy :) Potrafi oprócz wielu sesji w jednym oknie które mo?na prze??cza?, tak?e dzieli? okno na panele horyzontalnie i wertykalnie czyli dla osób które wytkn? mi zaraz „polglisz” pionowo i poziomo. Wszystkie polecenia mo?na poda? jako parametr dlatego jedn? komend? mo?emy sobie przygotowa? ca?e ?rodowisko. Dla moich potrzeb – czyli logowanie si? na bramki VPNowe w ilo?ci 6 najlepszym rozwi?zaniem jest siatk? 3 wiersze na 2 kolumny. Dodatkowo po odpowiednim podzieleniu okna, nast?puje automatyczne logowanie przez ssh do odpowiednich maszyn dzi?ki kluczom bez has?a. Efekt ma by? taki, ?e jedna komenda przygotowuje 6 maszyn do pracy zdalnej :)

    Jedziemy:

    tmux new-session -d 'ssh cancer@10.1.2.6' \; split-window -d 'ssh cancer@10.1.3.6'\; split-window -d 'ssh cancer@10.1.4.6'\; split-window -h 'ssh cancer@10.1.5.6'\; select-pane -t 2\; split-window -h 'ssh cancer@10.1.6.6'\; select-pane -t 4\; split-window -h\; attach

    Krótkie wyja?nienie:

    new-session -d 'ssh cancer@10.1.2.6′ – tworzy now? sesj? (okno g?ówne i wywo?uje komend? systemow? w ”) -d powoduje od??czenie wszystkich klientów je?li byli pod??czeni.
    split-window – dzieli okno, domy?lnie w poziomie
    select-pane -t n – wybiera okno (licz?c od zera i od lewej do prawej)
    attach do??cza do ca?ej sesji.

    Efekt:

    Teraz ju? mo?na od razu dzia?a?, nie trac?c czasu na logowanie si? do wszystkich maszyn oddzielnie :)

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Family / Rodzina

    9 miesi?cy debugowania !

    W 2007 roku zacz??em pisa? pewien skrypt:

    #!/bin/sh
    kid1=Antonina
    echo Moje dziecie to $kid1

    Ju? wlistopadzie dzia?a? ca?kiem nie?le :)

    # sh kid0.sh
    Moje dziecie to Antonina

    W 2010 jednak czego? zacz??o mi w nim brakowa? i postanowi?em co? do niego doda?, ?eby by? bardziej rozbudowany.

    Zacz??em od prostej zmiany nie wiedz?c jeszcze co mi z tego wyjdzie:

    #!/bin/sh
    kid1=Antonina
    kid2=""
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    Jak ?atwo by?o przewidzie? wynik nie by? zadowalaj?cy:

    # sh kid.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to

    ale obrany kierunek mi si? spodoba? wi?c brn??em dalej. Kolejna wersja te? nie by?a zach?caj?ca, wr?cz bezsensu:

    #!/bin/sh
    kid1=Antonina
    kid2=$kid1
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    co dawa?o nic nie wnosz?ce:

    # sh kid2.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to Antonina

    A? w ko?cu po 9 miesi?cach debugowania co jest nie tak

    #!/bin/sh
    kid1=Antonina
    kid2=$kid1
    echo $kid1 > /tmp/tmp1
    cat /tmp/tmp1 | sed "s/Anton/Michal/g" > /tmp/tmp2
    kid2=`cat /tmp/tmp2`
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    dok?adnie 2 kwietnia o 13:49 – skrypt zadzia?a? z pr?dko?ci? 3800g, zajmowa? te? przyzwoicie bo 58 cm, ale najwa?niejsze, ?e by? w 100% sprawny :)

    # sh kid3.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to Michalina

    (Tak, wiem, ?e jest tam brzydki hack z sedem i przekierowaniem wyników do pliku, ale co? nie chcia? mi sed na zmiennych dzia?a? a pomys? na posta szybko chcia?em wcieli? w s?owo pisane :)

    A dla wszystkich, którzy nie lubi? lub nie rozumiej? konsolowych krzaczków – GUI w HD !

    To jest w?a?nie $kid2 czyli Michalina po 9 miesi?cach debugowania :)

    To jest w?a?nie $kid2 czyli Michalina po 9 miesi?cach debugowania :)

    Troskliwy $kid1 opiekuje si? $kid2

    Troskliwy $kid1 opiekuje si? $kid2

    Siostry $kid[1-2] w komplecie ! :)

    A teraz ju? troch? powa?niej, je?li kto? nadal my?li co autor pali? ;) Dnia 2.4.2011 na ?wiat przysz?a nasza druga córka, której nadali?my imi? Michalina (?adnie koresponduje z Antonina :). Poród odby? si? w tym samym lecz wyremontowanym szpitalu ?w. Rodziny przy ul. Jarochowskiego w Poznaniu i o dziwno trwa? oko?o 15 minut (w przeciwie?stwie do Tosi, która rodzi?a si? 10 godzin). Tata oczywi?cie by? obecny przy porodzie, mama zreszt? te? ;) Wszystko odby?o si? tak b?yskawicznie, ?e po?o?na ledwo zd??y?a z zestawem do rodzenia. Zarówno mama jak i dziecko spisa?y si? wy?mienicie, co potwierdza dziesi?tka Apgara dla ma?ej i szybki powrót obojga do domu :) Tosia z kolei pomijaj?c dzie? odbioru ze szpitala, w której by?a bardzo niepewna co si? w?a?ciwie dzieje, od razu polubi?a swoj? siostr? (nie mówi o niej inaczej jak Michalinka :) i aktywnie uczestniczy w jej ?yciu pomagaj?c przy piel?gnacji oraz ?piewaj?c jej piosenki i ko?ysanki :)

    Related Posts with Thumbnails

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Add your widget here