*nix'ы

warning: Creating default object from empty value in /usr/local/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Создание шифрованного раздела на работающем сервере FreeBSD с дополнительными возможностями

Потребовалось создать зашифрованное файловое хранилище на уже работающем сервере FreeBSD. Задумался - как это сделать, чтобы было наиболее гибко и удобно в дальнейшем. Скорость работы у меня стояла на последнем месте, поэтому особо не рассматривал на сколько все сильно тормозит.

Т.к. сервер уже настроен, работает и перебивать диски и добавлять новые, не хочется соответственно, защищенное хранилище буду располагать в файле. Далее этот файл подключаем как устройство, шифруем его и поднимаем ZFS, на случай, если что-то нужно поменять она является наиболее гибкой.

Итого для создание нужно выполнить следующие шаги:

  • создать файл контейнер необходимого размера
  • подключить его как устройство, иначе geli с ним работать не будет
  • зашифровать устройство
  • создаем на нем файловую систему ZFS

#Создаем файл контейнер
dd if=/dev/zero of=test_img bs=1m count=100

#Создаем ключевой файл
dd if=/dev/random of=test_img.key bs=64 count=1

#Подключаем контейнер как устройство
mdconfig -a -t vnode -f test_img -S 4096 -u 5

#Инициилизируем шифрованное устройство
geli init -s 4096 -K test_img.key /dev/md5

#Подключаем зашифрованное устройство
geli attach -k test_img.key /dev/md5

#Создаем на шифрованном устройстве файловую систему ZFS
zpool create -m /backup backup /dev/md5.eli

Полностью отключаем всю нашу конструкцию

zpool export backup
geli detach /dev/md5
mdconfig -d -u 5

0
Your rating: Нет

rsync между windows и FreeBSD

Бился тут с тем, чтобы с компьютера под Windows с помощью rsync забирать данные.

Нашел два варианта сервера под Windows:

После разных попыток, остановился на DeltaCopy. Но возникло две проблемы:

  1. Не корректные имена русских названий файлов
  2. Неправильные права доступа к файлам. Точнее отсутствие права доступа к файлам после синхронизации

Победить русские имена файлов получилось следующим образом:

в файл deltacd.conf вставляем

charset = cp1251

а на FreeBSD rsync запускаем с ключем

--iconv=koi8-r

После этих манипуляций, на FreeBSD появлялись файлы с русскими именами в кодировке KOI8-R

Для того чтобы дать права доступа к синхронизированным файлам потребовалось использовать ключ

--chmod=oug=rx

Возможно не безопасно, но нормально работает.

Итоговый вид deltacd.conf

use chroot = false
strict modes = false
charset = cp1251

[Backup]
    path = /cygdrive/c/Backup
    comment = Backup Drive
    read only = false
    auth users = backup
    secrets file = rsync.secret

Вид rsync.secret

backup:password

0
Your rating: Нет

Отправка файлов по почте из консоли

Достаточно давно, с переменным успехом, у меня возникали потребности отправлять файлы из консоли, а еще точнее из скриптов под никсами. И все никак не мог решить этот вопрос, то ли руки росли не от-туда, то ли с головой что-не так.

Этой ночью таки нашел программу которая это красиво и удобно делает - sendEmail.

Под FreeBSD ставится из портов:

cd /usr/ports/net/sendemail/
make install clean

Использование тоже очень простое:

sendEmail -f my_adress@test.com -t my2_adress@test.com -u Subject -m message -a atachment.file

При необходимости можно указать необходимый сервер SMTP, логин и пароль к нему и т.д.

0
Your rating: Нет

Создание FTP-зеркала

Т.к. потихоньку запускаю в строй бекап сервер потребовалось делать архивную копию сайта расположенного на фтп.

Нашлась программа fmirror -  простенькая, но как раз для этих целей. Судя по описанию, она позволяет только делать локальное зеркало с фтп сервера, но не умеет обратно закачивать или синхронизировать. Зато умеет скачивать только изменившиеся файлы и поддерживает фильтры, что исключить, а что включить. Этого мне вполне достаточно.

Основной причиной выбора этой программы стало то, что у нее нет никаких зависимостей и она написана на C, т.е. по идее должна работать с минимальными затратами и с максимальной скоростью.

Устанавливается во FreeBSD из портов:

cd /usr/ports/ftp/fmirror/
make install clean

Использование:

fmirror -4 -N -S -V1 -d0 -f my_ftp_mirror.cfg

Содержание my_ftp_mirror.cfg

0
Your rating: Нет

zfs - файловая система с кучей возможностей

Пока черновик.

Захотел собрать себе из старого железа собрать сервер для резервного хранения данных.

Основная проблема старого железа - неизвестно когда загнется, но скорее всего скоро. wink

Тут возник вопрос, как сделать чтобы при этом сохранность информации была на должном уровне и при этом можно было достаточно легко заменять и добавлять диск. Умный Stinky рассказал мне волшебное слово - ZFS. ZFS - файловая система, которая на ходу позволяет в нее добалять и удалять диски, готова сама создавать из них разные рейды, поддерживает квоты для разделов, сжатие и кучу разных вкусностей.

Из смешного, под Linux ее вроде потихоньку переносят, а под FreeBSD - уже перенесли и она штатно готова к работе.

Идея использования этой системы и старых винтов.

Ситуация с дисками:

  • диски старые - могут выйти из строя в любой момент, обязательно требуется дублирование - рейд 1 или 5 (mirror или raidz)
  • диски разного размера - стандартный рейд не проходит, т.к. тогда на каждом диске будет использоваться объем равный самому маленькому диску

Мое решение (пока в процессе размышления):

Чтобы наша ZFS система автоматически монтировалась rc.conf нужно добавить:

zfs_enable="YES"

0
Your rating: Нет

Чем анализировать логи почтового сервера

Памятка для себя.

Давно задавался вопросом, чем можно нормально анализировать работу почтового сервера типа sendmail, dovecot и т.д., в общем тех кто пишет логи в maillog.

Сегодня случайно нашел:

  1. mailmgr
  2. мailgraph
0
Your rating: Нет

Скрипт для удаления ненужной почты с почтового сервера

Потребовалось удалить и периодически удалять почту из одного ящика на почтовом сервере поддерживающим протокол POP3. Где-то читал, что если одна операция выполнятеся более 2-х раз, то ее нужно автоматизировать, нифига так не поступаю обычно, но иногда стреляет.

Самый простенький скрипт для удаления ХХХ писем с сервера server.com с аккаунта login с паролем pass.

echo USER $1
echo PASS $2

COUNTER=1
while [  $COUNTER -ne $3 ]; do
        echo DELE ${COUNTER}
        let COUNTER=COUNTER+1 > /dev/null
done
echo QUIT

Запускается он:

rm_mail.sh login pass XXX | /usr/bin/nc server.com 110

Примерно так же можно получить количество писем и объем ими занимаемый.

 rm_mail.sh login pass 1 | /usr/bin/nc server.com 110 | grep messages | awk '{print ($2, $4 $5)}'

P.S. Проверено на FreeBSD 8.0-RELEASE

0
Your rating: Нет

Отмена перевода часов на зимнее время

В связи с великим указом г-на Медведева, возникла дополнительная проблема, как заставить часы ходить правильно. Нашел статью "Летнее время! Теперь ты всегда с нами!!!"

FreeBSD

Сегодня с сожалением обнаружил, что FreeBSD перевела часы с летнего времени. Увы, нужно обновлять мир. Но есть и более быстрый, но в то же время надёжный способ скорректировать часовые пояса: Не забываем сначала обновить порты, чтобы гарантированно получить свежий tzdata. Далее:

0
Your rating: Нет

Опыт переноса служб - jabber и сайта

Прошлая неделя шла под девизом "сломаем все нафиг".

Решил перенести с сервера на сервер на работе ejabberd и пару своих сайтов с ubuntu на FreeBSD.

Приколы начались с DNS. На работе за него отвечает адс, дома яндекс.

0
Your rating: Нет
Ленты новостей