четверг, 21 ноября 2013 г.

Postfix перенаправление исходящей почты

Postfix перенаправление исходящей почты

Описание как сделать перенаправление для всей исходящей почты на определенный адрес, либо почты исходящей с определенного адреса или нескольких адресов.
Итак в Postfix реализуется довольно просто. Рассмотрим по пунктам:

1)Перенаправлять всю исходящюю почту Postfix на определенный адрес (например ваш босс хочет видет все кто-что отправляет).
В main.cf пропишем следующее
always_bcc=boss@company.com

2) Перенаправлять почту только исходящюю с определнного адреса например manager@company.com и направлять боссу на boss@company.com
Для этого в простом случае

Делаем файл /etc/postfix/maps/sender_maps и пишем туда
manager@company.com boss@company.com

Теперь с помощью postmap сделаем из него карту
postmap /etc/postfix/maps/sender_maps

Добавляем нашу карту в конфиг:
sender_bcc_maps=hash:/etc/postfix/maps/sender_maps

Проверяем конфиг и перегружаем
postfix check
postfix reload

Если хотите использовать с MySQL делаем следующим образом
1) Создаем таблицу в MySQL
create table sender_map (sender varchar, goto varchar);
2) Добавим от какого адреса куда направлять
manager@company.com boss@company.com
3) Создадим карту поиска в MySQL /etc/postfix/maps/sender_maps.cf
Прописав туда следующее:
user=mysql_user
password=mysql_password
dbname=base_name
table=sender_map
select_field=goto
where_fild=sender
host=your_mysql_host (localhost - например)
4)Добавим карту в main.cf
sender_bcc_maps=hash:/etc/postfix/maps/sender_maps.cf

Проверяем конфиг и перегружаем
postfix check
postfix reload




вторник, 19 ноября 2013 г.

Windows сопоставление драйвера принтера

Windows сопоставление драйвера принтера

Частенько мне приходилось сталкиваться с хорошими принтерами и кривыми драйверами для них под опредлнную версию ОС. Например не удалось мне найти корректный драйве для старичка HP LaserJet 1200 для Windows 7, пришлось использовать драйвер от HP 2200, пока я не узнал об HP Universal Printer Driver.
Также были проблемы с драйверами Canon MF4410 Windows Server 2003 x64, которые постоянно сыпали в лог ошибки вида:
CanonPrinterDriver3 error id 1
Описание:
Entry Function: DrvPrinterEvent, Base Address: 000000006A900000, Exception Address: 0000000078EEE5C6, Exception Code: ACCESS_VIOLATION

Так вот кривой драйвер путем манипуляции с реестром можно поменять на более близкий к нему. Это конечно костыль, но что делать когда "надо".

В реестре Windows явным образом можно задать имя любого драйвера, это значит можно взять любой драйвер для принтера и присвоить ему имя любого другово драйвера для принтера к примеру принтер на клиенте использует драйвер Canon MF4410, а мы хотим на сервере использовать для этого принтера серверный драйвер Canon MF3200. Если на сервер драйвер Canon MF3200будет иметь имя Canon MF4410 то он всегда будет подключать именно этот драйвер.
Для того чтобы сменить или добавить другое имя драйверу надо:
Запустить Regedit














Разберем это на примере переименования драйвера HP Universal Printing PCL 6 в HP LaserJet P3005 PCL 6.
1) Открыть ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3

2) Находим ветку драйвера HP Universal Printing PCL 6, экспортировать ее в файл (она нам еще понадобиться позже). Далее изменяем имя ветки HP Universal Printing PCL 6 на HP LaserJet P3005 PCL 6.

3)Импортируем ветку HP Universal Printing PCL 6 назад в реестр - это надо что бы драйвер Universal тоже остался в системе с таким именем
Перезапускаем spooler и пользуемся драйвером HP Universal Printing PCL 6 с именем HP LaserJet P3005 PCL 6 и с оригинальным именем.

Манипуляции с реестром осуществляйте обязательно сделав резервную копию и экспорт ветки реестра.

понедельник, 18 ноября 2013 г.

Backup Linux

Backup Linux

В этой статье я хотел бы рассказать как можно сделать полный бэкап системы с Linux и ее восстановление. 
Существует множество различных средств для бэкапа системы и файлов по отдельности.
вот вкратце, небольшой список чем можно проводить резервное копирование в Linux
1) dd - с помощью этой встроенной команды можно произвести полное резервное копирование диска либо его части на другой диск либо в файл, либо сделать клон диска.
2) partimage - также еще одно утилита для резервного копирования файлов либо создания образа диска в файл.
3) partclone - практически аналог ImagePart.
4)Acronis for Linux -  всем нам известное ПО юля бэкапа, на Centos я так и не смог его завести.
5) tar -  старый добрый tar, также успешно поможет вам забэкапить все ваши файлы.

Из всего вышеперечисленного, честно сказать я не нашел ничего для себя подходящего. Т.к ПО которое мне было необходимо должно было удевлетворять следующим условиям
1) Создание резервных образов разделов в файл + сжатие.
2) Возможность "горячего" онлайн создания образа диска.
3) Восстановление с загрузочного диска (например HirensBoot CD)

И все таки нашел я эту замечательную программку под названием FSARCHIVER, которая удовлетворяет всем выше перечисленным требования, а также уже встроена в HirensBoot CD.

1) Для начала скачаем .rpm пакет отсюда http://sourceforge.net/projects/fsarchiver/files/fsarchiver-bin/0.6.17/

2) Устанавливаем 
[root@serv~]# rpm -ihv fsarchiver-0.6.17-1.el6.i386.rpm

3) Теперь создадим файл backup.sh где пропишем команды, которые будут создавать наши копии разделов, здесь также будет бэкап mbr и таблица разделов
#!/bin/bash
dd if=/dev/sda of=/mnt/backup/mbr_fat/mbr.img bs=512 count=1 #создание копии MBR
/sbin/sfdisk -d /dev/sda >/mnt/backup/mbr_fat/fat.img #создание копии таблицы разделов

#В /mnt/backup монтируется либо сетевой ресурс, либо ваш диск куда вы будете создавать копии
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda1/boot_`date +%d.%m.%Y`.fsa /dev/sda1
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda2/var_`date +%d.%m.%Y`.fsa /dev/sda2
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda3/root_`date +%d.%m.%Y`.fsa /dev/sda3
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda5/usr_`date +%d.%m.%Y`.fsa /dev/sda5
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda6/home_`date +%d.%m.%Y`.fsa /dev/sda6

Первые две строки создают копию MBR и копию списка разделов диска.
Итак что значит следующяя строка
/usr/sbin/fsarchiver -A savefs /mnt/backup/sda6/home_`date +%d.%m.%Y`.fsa /dev/sda6
 Эта строка создает полную копию раздела /dev/sda6 в каталог /mnt/backup/sda6 в файл home_дата_создания.fsa.
Опция -А значит "горячее" резревное копирование во время использования файловой системы.

4) Добавим задание в CRON для автоматиского запуска, при этом предположим что файл backup.sh лежит в /etc/sysconfig/backup.sh
[root@serv~]# chmod 755 /etc/sysconfig/backup.sh --дадим права на запуск скрипта
[root@serv~]#touch jobs --создадим файл jobs, куда пропишем задания для cron
Добавим следующюю строку и сохраним (эта строка будет запускать скрипт бэкапа в воскресенье в 9:00)
[root@serv~]#echo "0 9 * * 7 /etc/sysconfig/backup.sh">>jobs

Вот и все наш скрипт для бэкапа готов. 
Теперь как восстановить это все хозяйство.

Порядок и процедуры восстановления:
1)      Загрузится с HirensBootCD, при загрузке выбрать «Parted Magic» 
2)      Запусть консоль 
3)      Примонтировать на /mnt/backup каталог с резевными копиями 
4)      Восстановить таблицу разделов 
sfdisk /dev/sda < /mnt/backup/proxy/mbr_fat/fat.img 
5)      Востановить MBR запись 
dd if=/mnt/backup/proxy/mbr_fat/mbr.img of=/dev/sda count=1 bs=512
 6)      Восстановить boot (sda1)
fsarchiver restfs /mnt/backup/proxy/sda1/boot_%date%.fsa id=0,dest=/dev/sda1
7)      Восстановить var (sda2)
fsarchiver restfs /mnt/backup/proxy/sda2/var_%date%.fsa id=0,dest=/dev/sda2
8)      Восстановить root (sda3)
fsarchiver restfs /mnt/backup/proxy/sda3/root_%date%.fsa id=0,dest=/dev/sda3
9)      Восстановить usr (sda5)
fsarchiver restfs /mnt/backup/proxy/sda5/usr_%date%.fsa id=0,dest=/dev/sda5
10)  Восстановить home (sda6)
fsarchiver restfs /mnt/backup/proxy/sda6/home_%date%.fsa id=0,dest=/dev/sda6
11)  Восстановить swap (sda7)
mkswap /dev/sda7
swapon /dev/sda7
12)  После полного всостановления диска необходимо восстановить загрузчик (GRUB)
·        Загрузиться с загрузочного DVD Centos 6.2
·        Выбрать язык и раскладку “English” -> “us”. Расположение образа => «жесткий диск  (HDD)” .
·        После загрузки образ диска с системой будет находится в /mnt/sysimage
·        Сменить корень на /mnt/sysimage chroot /mnt/sysimage
·        Проинсталировать grub grub-install
Если загрузчик неработоспособен необходимо написать след конфигурационные файлы для GRUB:

Default=0
Timeout=30
Splashimage=(hd 0,0)/grub/spalh.xpm.gz

Title=Centos 2.6.32-220.el6.i686
 Root (hd0,0)
Kenel /vmlinuz-2.6.32-220.el6.i686 root=(hd0,2)
Intitrd=/initramfs

Для Lilo
Boot=/dev/sda
Map=System.map-2.6.32-220.el6.i686
Default=Linux-2.6.32
Timeout=50

Image=/boot/vmlinuz-2.6.32-220.el6.i686
            Label=Linux-2.6.32
Root=/dev/sda3
Initrd=initramfs-2.6.32-220.el6.i686
   Выполнить lilo –t и lilo

 


 
 
 


воскресенье, 17 ноября 2013 г.

Windows PE flash

Windows PE на флешку

Здесь я вам расскажу как записать Windows PE на флэшку. Вообще то я больше поклонник Hirens Boot CD. Но расскажу вам историю которая все таки заставила меня воспользоваться Windows PE.
Итак есть такие программки похожие на вирус - блокировщики. Обычно действуют они по двум принципам:
1) Блокируют экран пользователя при входе в систему.
2) Блокируют экран еще до входа в систему.
 И имеют надпись, что так и так вы смотрели запрещенный контент (порн-ю), пришлите нам денег, и мы вышлем код разблокировки. Более подробно см. статью "как удалить блокировщик компьютера".
Вообщем далеко я зашел. В чем суть ситуации, принесли мне ноутбук Samsung c просьбой удалить блокировщик. Я как обычно хотел загрузиться с Hirens Boot CD и выпилить его, но не тут то было, с Hirens Boot CD не загрузишся, если включен Secure Mode в BIOS (т.е загрузка только поддерживаемых UEFI систем). А отключить его нельзя, т.к BIOS максимально урезан, опция эта появиться, если его обновить, а обновить можно только из Windows. Замкнутый круг вообщем. Поэтому используем Windows PE и записываем его на флешку.
Я брал уже готовую сборку, сами догадайтесь откуда.
Поехали...
1) Качаем USB Format отсюда http://www.hiren.info/download/freeware-tools/USBFormat.zip либо средствами Windows форматируем флэшку.

2) Качаем Grub4DOS и с помощью него сделаем флэшку загрузочной. Пошагово как на картинке
Screenshot

3) После установки скопируйте файлы gldr и menu.lst из папки где у вас лежит Grub4DOS в корень флэшки

 

3) Создайте папку Grub в корне флэшки и скопируйте ISO образ с Windows PE у меня он назывался WINPE_Se7enLIVE_v2.iso

4) Теперь чтобы при загрузке с флэшки в меню появился выбор нашего Windows PE в menu.lst необходимо прописать следующие строки:
title WINPE Se7en LIVE
map (hd0,0)/Grub/WINPE_Se7enLIVE_v2.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)

5) Грузимся с флэшки и выбираем WINPE Se7en LIVE.