FIREWALL - najprostszy

Wyczyść obecnie zainstalowane reguły (iptables -F) , wpisz ręcznie komendy zachowując kolejność poleceń (zmieniając $IPTABLES na /sbin/iptables) i na koniec zachowaj
Kod
iptables-save > /etc/sysconfig/iptables
/etc/init.d/iptables restart
i powinno być OK.
Wcześniej zrób kopię bezpieczeństwa z istniejącej konfiguracji firewalla
Kod
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_old


Synchronizacja czasu - NTPD

Konfigurację przeprowadzamy w pliku /etc/ntp.conf.
Na początek w pliku tym dodajemy linię (jeżeli nie ma):
driftfile /var/lib/ntp/drift - plik rozrzutu,
logfile /var/log/ntp.log - plik dziennika.

Serwery są wpisane:
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org

Wyłączyć usługę NTPD
Synchronizacja poleceniem:
ntpdate 192.168.0.1


Jeśli otrzymaliśmy mniej więcej taki komunikat: adjust time server 213.238.47.29 offset -0.001552 sec, to gratulacje, udało nam się ustawić czas :) Możemy go teraz sprawdzić poleceniem date.

Jeśli z kolei otrzymaliśmy taki komunikat: no server suitable for synchronization found, to niestety mamy problem. Sprawdźmy czy podaliśmy prawidłowo nazwę serwera, czy mamy ustawione prawidłowo DNS-y i czy port UDP 123 (ntp) nie jest przypadkiem blokowany przez naszego firewalla.

Odblokowanie portu:
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 123 -j ACCEPT

Jeśli czas często nam się rozregulowuje (jeśli istnieje takie słowo ;) warto to polecenie wrzucić do crona:
# crontab -e
i dodajemy taką linię:
00 0 * * *              ntpdate europe.pool.ntp.org
Czas będzie aktualizowany codziennie o północy.

Prosty backup danych - Linux

Link: http://www.tidnab.nowaruda.net/linux/41/prosty-backup-danych.html#more-41

Korzystając na co dzień z scentralizowanych zasobów danych szczególnie w erze tzw. “could computing”, zdajemy sobie sprawę z tego jak ważnym zagadnieniem jest backup danych. W prawdzie istnieje wiele programów zapewniających bezpieczny backup np. świetny Yosemite Technologies Backup and Recovery Software lub HP Backup and Recovery Manager, nie mniej jednak nie są to rozwiązania tanie szczególnie dla firm stawiających pierwsze kroki na rynku. Przedsiębiorstwa te potrzebują znacznie prostszych i tańszych rozwiązań, które można osiągnąć w bardzo prosty sposób, a wszystko dzięki dobrodziejstwu open source. Stawiając w firmie na otwarte technologie praktycznie od razu wyposażeni jesteśmy w proste mechanizmy zapewniające możliwość wykonywania kopii zapasowych. Poniżej bardzo prosty skrypt dla linuxa realizujący następujące zadania:

* wykonuje kopię wybranego katalogu wraz z całą zawartością
* ma możliwość wykluczenia (exclude) wybranych typów plików które nie muszą znajdować się w kopii np. pliki tymczasowe tmp itd.
* kompresuje dane za pomocą popularnego zip’a
* zakłada bardzo proste zabezpieczenie w postaci hasła na archiwum
* trzyma 3 ostatnie kopie wstecz

#!/bin/bash

in='/dane/program';
out='/mnt/sdb1/backup';

##########################
# Tworzenie archiwum ... #
##########################
echo ''
echo "Godzina "`date +%R`". Tworzenie archiwum ..."
echo ''

cd $out

#Rotacja kopii

if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#Kompresja danych
zip -9 -P JakiesHaslo -r $out/dzien1.zip $in -x@/$out/exclude.lst

W pliku exlclude.lst zamieszczamy listę plików które nie mają być kopiowane np:

*.cdx
*.sem
*.pak
*.pri
*.tmp

Dodatkowo skrypt możemy uzupełnić o kilka linijek realizujących kopiowanie danych na dowolnie udostępniony zasób w sieci.

#!/bin/bash

in='/dane/program';
out='/mnt/sdb1/backup';

##########################
# Tworzenie archiwum ... #
##########################
echo ''
echo "Godzina "`date +%R`". Tworzenie archiwum ..."
echo ''

cd $out

#Rotacja kopii
if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#Kompresja danych
zip -9 -P JakiesHaslo -r $out/dzien1.zip $in -x@/$out/exclude.lst

################################
# Kopiowanie danych na inny komputer #
################################

#montowanie zasobu
mount -t cifs -o username="Jan",password="HasloJana" //192.168.1.5/kopie /mnt/Jan

cd /mnt/Jan

#Rotacja kopii na zdalnym komputerze
if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#kopiowanie najnowszej kopii
cp $out/dzien1.zip /mnt/Jan

#odmontowywanie zasobu
cd /
umount /mnt/Jan

echo ''
echo "Godzina "`date +%R`". koniec tworzenia archiwum ..."
echo ''

Tym sposobem mamy 3 ostatnie kopie na severze, plus 3 ostatnie kopie na innym komputerze w sieci na wypadek awarii servera.

Ostatnią rzeczą jaką należy zrobić jest dodanie skryptu do crona celem automatycznego wykonywania o określonych dniach i godzinach. Można to zrobić na kilka różnych sposobów. Poniżej zmodyfikowany plik /etc/crontab z Fedory:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=Jan@costam.pl
HOME=/root

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
35 1 * * * root /mnt/sdb1/backup/backup.sh

Ostatnia linijka odpowiada za wywołanie skryptu codziennie o 1:35 w nocy. Dodatkowo na naszego e-maila zostanie wysłany raport z przebiegu wykonywanych zadań. Bardzo ważne jest pozostawić wolną linijkę pod ostatnią instrukcją w pliku /etc/crontab, inaczej masze zadanie nie będzie działać.

Pewnie zadacie pytanie a, co w przypadku kopii na systemach Windows? Tutaj oprogramowanie Opne Source także przychodzi nam z pomocą. Najlepszym znanym mi i udostępnionym na licencji GNU programem do sporządzania kopii pod windowsa jest Cobian Backup. Cobian Backup to darmowy program do synchronizacji oraz archiwizacji danych na całym dysku twardym lub w konkretnych folderach. Program umożliwia tworzenie kopii danych na serwerach FTP, możliwe jest wysyłanie i odbieranie plików. Aplikacja wspiera kompresję danych oraz kodowanie (RSA-Rijndael).

Import wiadomości z Thunderbirda do Outooka 2007


Import wiadomości z Thunderbirda do Outlook 2007

Ostatnimi czasy zostałem zmuszony do używania w firmie Outlooka 2007 i stanąłem przed problemem importu poczty z mojego Thunderbirda. Po przewertowaniu paru stron okazało się, że czynność ta stanowi pewien problem, ale wszystko da się jakoś zrobić. Istnieje kilka sposobów oczywiście wybieramy ten najłatwiejszy. W kwestii informacyjnej, Thunderbird trzyma pocztę w formacie MBox – to jeden z bardziej uniwersalnych formatów jakie istnieją. Niestety M$ Outlook nie wiedzieć czemu nie obsługuje tego formatu. Tutaj można sobie pomóc narzędziem MBoxProxy – http://betoniarka5.webpark.pl/hcm/get.htm, które umożliwia dokonanie importu z mBox do dowolnego mailera obsługującego POP3. MBoxProxy to nic innego jak mały serwer POP3 nasłuchujący na 127.0.0.1 i używający jako repozytorium dowolnego pliku w formacie mBox. Więc po kolei:

1. Szukamy naszej poczty, standardowo: C:\Documents and Settings\[Your user name]\Application Data\Thunderbird\Profiles\[ID].default\Mail\Local Folders
2. Odpalamy MBoxProxy i wskazujemy polik z pocztą. Jeśli mamy podfoldery w skrzynce odbiorczej musimy wskazać po kolei każdy plik.
3. Klikamy włącz serwer
4. Uruchamiamy Outlooka, i konfigurujemy do pobierania poczty z Localhost (127.0.0.1) z poniższymi ustawieniami:
- user/pass: DOWOLNE (nie ma znaczenia; byle nie puste)
- Autoryzacja – brak (bez APOP, SPA, i innych wynalazków)
- Pobieranie bez limitu wielkości wiadomości (by pobrać wszystkie od razu).
5. Pobieramy pocztę

mboxproxy

Link: http://www.tidnab.nowaruda.net/thunderbird/126/import-wiadomosci-z-thunderbirda-do-outlook-2007.html#more-126

Log Rotate

Link: http://www.cyberciti.biz/faq/how-do-i-rotate-log-files/

Jak obracać pliki dziennika?


Q. How do I rotate log files under Linux operating system? Pyt.: Jak mogę obracać pliki dziennika w systemie operacyjnym Linux?

A. You need use tool called logrotate, which is designed to ease administration of systems that generate large numbers of log files. A. Należy użyć narzędzia o nazwie logrotate, który został zaprojektowany w celu ułatwienia zarządzania systemami, które generują duże ilości plików dziennika. It allows automatic rotation, compression, removal, and mailing of log files. Umożliwia automatyczne obracanie, ściskanie, usuwanie i wysyłanie plików dziennika.

Each log file may be handled daily, weekly, monthly, or when it grows too large. Każdy plik dziennika może być traktowane dzienne, tygodniowe, miesięczne, lub gdy stanie się zbyt duży. With this tool you keep logs longer with less disk space. Za pomocą tego narzędzia można przechowywać logi już mniej miejsca na dysku.
Default configuration file Domyślny plik konfiguracyjny

The default configuration file is /etc/logrotate.conf: Domyślny plik konfiguracyjny to / etc / logrotate.conf:
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} # see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} Service or server specific configurations stored in /etc/logrotate.d directory, for example here is sample apache logrotate configuration file: # cat /etc/logrotate.d/httpd Output: # see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} Usługi lub serwera specyficznych ustawień zapisanych w pliku / etc / logrotate.d katalogu, na przykład tutaj jest apache logrotate przykładowy plik konfiguracyjny: # cat /etc/logrotate.d/httpd Wyjście:

/var/log/httpd/*.log { / var / log / httpd / *. log (
weekly tygodniowo
rotate 52 obracać 52
compress kompres
missingok missingok
notifempty notifempty
sharedscripts sharedscripts
postrotate postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true endscript / bin / kill-HUP `cat / var / run / httpd.pid 2> / dev / null` 2> / dev / null | | true endscript
} )

Where, Gdzie,

* weekly : Log files are rotated if the current weekday is less then the weekday of the last rotation or if more then a week has passed since the last rotation. pobrań: Pliki dziennika są obracane, jeśli dzień tygodnia jest mniejsza niż w dni powszednie od ostatniego obrotu lub jeżeli ponad tydzień minął od ostatnich rotacji.
* rotate 52 : Log files are rotated 52 times before being removed or mailed to the address specified in a mail directive. obracać 52: Pliki dziennika są obracane 52 razy, zanim zostanie usunięty lub pocztą na adres podany w dyrektywie mail. If count is 0, old versions are removed rather then rotated. Jeśli licznik jest 0, stare wersje są usuwane, a następnie obracać.
* compress : Old versions of log files are compressed with gzip to save disk space. kompresji: Stare wersje plików dziennika są skompresowane gzip-em w celu zaoszczędzenia miejsca na dysku.
* missingok : If the log file is missing, go on to the next one without issuing an error message. missingok: Jeżeli plik dziennika brakuje, przejdź do następnej bez wydawania komunikatu o błędzie.
* notifempty : Do not rotate the log if it is empty notifempty: nie obracać dziennika, jeśli jest ono puste
* sharedscripts : Normally, prerotate and postrotate scripts are run for each log which is rotated, meaning that a single script may be run multiple times for log file entries which match multiple files. sharedscripts: Zazwyczaj prerotate i postrotate skrypty są uruchamiane dla każdego dziennika, który obraca się, co oznacza, że pojedynczy skrypt można uruchomić kilka razy wpisy pliku dziennika, który odpowiada wielu plików. If sharedscript is specified, the scripts are only run once, no matter how many logs match the wildcarded pattern. Jeśli sharedscript jest określony, skrypty są uruchamiane tylko raz, bez względu na to, jak wiele dzienników meczu symbolu wieloznacznego wzorca. However, if none of the logs in the pattern require rotating, the scripts will not be run at all. Jednakże, jeżeli żaden z dzienników w strukturze wymagają obracania, skrypty nie będą uruchamiane na wszystkich.
* postrotate postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true / bin / kill-HUP `cat / var / run / httpd.pid 2> / dev / null` 2> / dev / null | | true
endscript : The lines between postrotate and endscript (both of which must appear on lines by themselves) are executed after the log file is rotated. endscript: linie pomiędzy postrotate i endscript (obie te muszą znajdować się na linii przez siebie) są realizowane po pliku dziennika jest obracany. These directives may only appear inside a log file definition. Dyrektywy te mogą się pojawić wewnątrz definicji pliku dziennika.

See complete working example: How to rotating logs with logrotate for Lighttpd web server. Zobacz cały przykład pracy: Jak do rotacji logów z logrotate dla Lighttpd serwer WWW.

Automatyczna instalacja drukarki - Windows 2003 Standard

''----------------------------------------------''
''----------------------------------------------''
'' ''
'' Script to automate TCP/IP printer installs ''
'' (Andrew Levine - 12/2004) ''
'' ''
''----------------------------------------------''
''----------------------------------------------''
''----------------NA PODSTAWIE------------------''
''http://www.tek-tips.com/viewthread.cfm?qid=973606&page=3''



Set WSHNetwork = WScript.CreateObject("WScript.Network")
set shell = WScript.CreateObject( "WScript.Shell" )
CompName = shell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set objWMIService = GetObject("winmgmts:\\" & CompName & "\root\cimv2")
Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_
Set oShell = WScript.CreateObject("WScript.shell")
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

sub createPort (name, ip)
objNewPort.Name = name
objNewPort.Protocol = 1
objNewPort.HostAddress = ip
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub

sub addPrinter (driver, port, name)
objPrinter.DriverName = driver
objPrinter.PortName = port
objPrinter.DeviceID = name
objPrinter.Location = "CEH"
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.ShareName = ""
objPrinter.Put_
end sub

message = "Please choose a printer to install:" & vbCrLf & vbCrLf & "1: All Printers" & vbCrLf & "2: HP4200 North" & vbCrLf & "3: HP8150 South" & vbCrLf & "4: HP8500 Color PS" & vbCrLf& vbCrLf & vbCrLf & "Please enter 1-5 (leave blank to quit):"
title = "Install Printers - BCEHFP"



'------------------'
'Add printer ports:'
'------------------'
'---HP 3005---'
createPort "IP_192.168.160.96", "192.168.160.96"

'---HP 2015---'
createPort "IP_192.168.160.73", "192.168.160.73"






'-------------------------------------------------' Display name
'Install printers with externally defined drivers:' for printer Driver location Port name Driver name in .inf file
'-------------------------------------------------' ----------- --------------------------------- ------------ -----------------------



'-------------------------------------------------'
'HP 3005'
'-------------------------------------------------'

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Set objPrinters = objNetwork.EnumPrinterConnections
drukarka = "HP 3005"
Install_Printer = 1
For Loop_Counter = 0 To objPrinters.Count -1 Step 2
If objPrinters.Item(Loop_Counter+1)=drukarka then Install_Printer = 0
Next
If Install_Printer = 1 Then

oshell.run "RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b ""HP 3005 Inwestycje"" /f \\filesrv1\Serwis\Sterowniki\Drukarki\HPLJ3005\Win32_2000_XP_S2003\PCL5v6.1\hpc300xb.inf /r ""IP_192.168.160.96"" /m ""HP LaserJet P3005 PCL 5e""" ,,true

End If


'-------------------------------------------------'
'HP 2015'
'-------------------------------------------------'

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Set objPrinters = objNetwork.EnumPrinterConnections
drukarka = "HP 2015"
Install_Printer = 1
For Loop_Counter = 0 To objPrinters.Count -1 Step 2
If objPrinters.Item(Loop_Counter+1)=drukarka then Install_Printer = 0
Next
If Install_Printer = 1 Then

oshell.run "RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b ""HP 2015 BHP"" /f \\filesrv1\Serwis\Sterowniki\Drukarki\HPLJ2015\PCL5\hppcp504.inf /r ""IP_192.168.160.73"" /m ""HP LaserJet P2015 Series PCL 5""" ,,true

End If




'----------------------------------------------'
'Install printers with drivers native to WinXP:'
'----------------------------------------------'
' TCP/IP Port Name Display Name
' -------------------- -----------------
'addPrinter "HP Color LaserJet 8500 PS", "HP8500_Exec_color", "HP8500 Color PS"
'addPrinter "HP LaserJet 4200 PS", "HP4200_BCEHFP_North", "HP4200 North PS"
'addPrinter "HP LaserJet 4200 PCL 6", "HP4200_BCEHFP_North", "HP4200 North"




msgbox ("Instalacja drukarek zakończona powodzeniem :)")

LinkWithin-4

Related Posts Plugin for WordPress, Blogger...