Журнал для cистемных администраторов, вебмастеров и программистов




Дата04.11.2016
Размер1.36 Mb.
Просмотров154
Скачиваний0
ТипАнализ


Поделитесь с Вашими друзьями:
журнал для cистемных администраторов,
вебмастеров и программистов) октябрь подписной индекс Управление сетевыми принтерами домена
Настраиваем ASPLinux 7.3
Server Установка сервера на базе cyrus-imapd + Использование Борьба с вирусами опыт контртеррористических операций
Система обнаружения атак IDS Мечта сисадмина
Управление сетевыми принтерами домена
Настраиваем ASPLinux 7.3
Server Установка сервера на базе cyrus-imapd + Использование Борьба с вирусами опыт контртеррористических операций
Система обнаружения атак IDS Мечта сисадмина
№10(11) октябрь 2003

1
№10(11), октябрь 2003
оглавление
Обнаружение телекоммуникационных атак теория и практика, Павел Закляков

amdk7@mail.ru
48
БЕЗОПАСНОСТЬ
Борьба с вирусами опыт контртеррористических операций
Крис Касперски
kk@sendmail.ru
68
Анализ защиты программ и рекомендации по ее усилению
Станислав Гошко
bigafroelephaut@mail.ru
78
ОБРАЗОВАНИЕ
Полиномиальная арифметика и поля Галуа, или Информация,
воскресшая из пепла II
Крис Касперски
kk@sendmail.ru
84
Вооруженное до зубов перемирие,
или Я – то, чего не может быть!
Татьяна Ильченко
ti@sysadmins.ru
92
Установка сервера на базе cyrus-imapd + Управление сетевыми принтерами домена
Иван Коробко
ikorobko@prosv.ru
38
АДМИНИСТРИРОВАНИЕ
Настраиваем ASPLinux 7.3 Server Александр Шибенко

pulse@hotmail.ru
16 Как бороться с баннерами в Дмитрий Репин AUTH in da Postfix + Андрей Мозговой 10
BUGTRAQ
2, 29, Денис Шергин

diesel@diesel.tomsk.ru
Мечта сисадмина
Сергей Яремчук
grinder@ua.fm
20
Использование Сергей Яремчук
grinder@ua.fm
Свой собственный модуль
Денис Колисниченко
dhsilabs@mail.ru
30
IMHO
С 1 октября началась подписка на 1-ое полугодие 2004 года.
Подписной индекс по каталогу «Роспечать» – Оформить подписку можно в любом почтовом отделении связи СНГ или через Интернет.
Более подробная информация на нашем сайте Желаем успехов!
Уважаемые читатели
Удаленное переполнение буфера в ProFTPD-сервере
Программа: ProFTPD 1.2.7, ProFTPD 1.2.8, ProFTPD 1.2.8rc1,
ProFTPD 1.2.8rc2, ProFTPD 1.2.9rc1, ProFTPD Опасность Критическая.
Описание: Переполнение буфера обнаружено в ProFTPD- сервере. Удаленный атакующий может загрузить специально обработанный файл на сервер, чтобы получить root Переполнение буфера происходит, когда файл передается в режиме. Как сообщается, удаленный пользователь может выполнить произвольный код с привилегиями, в обход существующих ограничений защиты производителя Решение Немедленно установите соответствующие исправления tarballs are:
ca6bbef30253a8af0661fdc618677e5c proftpd-1.2.7p.tar.bz2 677adebba98488fb6c232f7de898b58a proftpd-1.2.7p.tar.gz
417e41092610816bd203c3766e96f23b proftpd-1.2.8p.tar.bz2
abf8409bbd9150494bc1847ace06857a proftpd-1.2.8p.tar.gz b89c44467f85eea41f8b1df17f8a0faa proftpd-1.2.9rc1p.tar.bz2 14ab9868666d68101ed942717a1632d1 proftpd-1.2.9rc1p.tar.gz
27e3f62a5615999adbbebcefa92b4510 proftpd-1.2.9rc2p.tar.bz2 9ce26b461b2fa3d986c9822b85c94e5f Раскрытие чувствительной информации и отказ в обслуживании в ядре Программа Опасность Низкая.
Описание: Уязвимость обнаружена в kernel коде в. Локальный пользователь может раскрыть чувствительную информацию и выполнить отказ в обслуживании.
Пользователь может вызвать ссылку на NULL-указатель,
потому что переменная указателя используется для пользовательского адреса и адреса ядра. В результате локальный пользователь может аварийно завершить работу ядра.
Пользователь может использовать proc.* дерево на зомбированном процессе. Это заставит ядро разыменовывать данные недопустимого процесса, что приведет к отказу в обслуживании в ядре helper выполняет недостаточную проверку границ для нескольких узлов в под- дерерве. Эта уязвимость может эксплуатироваться для чтения произвольных частей памяти ядра производителя Решение Установите обновленную версию ядра 25 àâãóñòà, 2003
NetBSD-1.6 branch: 28 àâãóñòà, 2003
NetBSD-1.5 branch: 28 àâãóñòà, Поднятие привилегий и слабые сессионные куки в Программа KDE Опасность Низкая.
Описание: Две уязвимости обнаружено в KDE. Злонамеренный пользователь может поднять свои привилегии и подобрать сессионные куки.
KDM может представить пользователю root-привилегии,
если его конфигурация позволяет использовать модуль. Возможно, другие модули тоже уязвимы.
Проблема связана стем, что KDM не проверяет успешное завершение функции Слабость обнаружена в алгоритме, который генерирует 128-битные сессионные куки. В результате злонамеренный пользователь может подобрать сессионные куки в локальной сети, чтобы получить доступ к системе.
Решение: Обновите KDE до версии 3.1.4: Удаленное выполнение произвольного кода при некоторых конфигурациях в wu-ftpd FTP-сервере
Программа: wu-ftpd 2.6.2 и более ранние версии.
Опасность: Предельно низкая.
Описание: Уязвимость обнаружена в wu-ftpd в некоторых конфигурациях (MAIL_ADMIN). Удаленный авторизованный пользователь может выполнить произвольный код на уязвимой системе.
Если код wu-ftpd, сконфигурированный так, чтобы посылать почтовые сообщения, содержащие загружаемые имена файлов (те. скомпилированный с опцией, тогда удаленный авторизованный пользователь может эксплуатировать переполнение буфера в функции SockPrintf() в «ftpd.c», загружая на сервер файл со специально обработанным именем.
Согласно сообщению, функция store() в «ftpd.c» вызывает уязвимую функцию с именем файла,
представленным пользователем, которое может быть до символов, тогда как переменная «pathname» может быть не больше MAXPATHLEN символов (4095 в большинстве систем. Те. обнаруженную уязвимость можно успешно эксплуатировать только на системах, в которых ядро откомпилировано с параметром не менее 32768 символов (практически не встречается производителя Решение Не используйте MAIL_ADMIN. Не используйте чрезмерно большие значения для параметра оставил Александр Антипов

4
администрирование
ИСПОЛЬЗОВАНИЕ LVM

5
№10(11), октябрь 2003
администрирование
Рано или поздно, но это произойдёт. В один прекрасный солнечный день, когда хочется поваляться на пляже, введя команду df, обнаруживаешь, что места на сервере осталось всего ничего. Причём как ни стараешься правильно разбить диск при установке системы, но предугадать,
какой из разделов потребует больше места, а какой меньше, удаётся очень редко. Если корневой разделив большинстве своём сюрпризов не приносят, т.к. устанавливаемый софт контролируется самим сисадмином и обычно здесь применяется стандартный набор приложений. Каталог /tmp сейчас обычно отдают на откуп tmpfs файловую систему в оперативной памяти. То си обычно возни больше. Выходов в этой систуации может быть несколько.
Первый. Простой
Плюнуть на всё требования и поступить ещё при установке простоте. использовать всего два раздела swap и всё оставшееся место отвести под корневой. Что тут сказать, пока диск не заполнится полностью, можно будет совсем не думать о наличии свободного/занятого места в разделах.
Но это положительная сторона. Ас другой стороны – производительность диска в таком случае будет не на высоте, особенно при большом заполнении. Плюс обязательно найдется кто-то, у кого дома много фильмов на дисках, ив один прекрасный день он решит их все принести на работу для демонстрации. Или кто-то добрый запишет большой файл в /tmp. После этого остановится всё,
что требует места, например, почтовый сервер или которым просто некуда будет писать на диске данные.
Второй. Фашистский
Если места мало, его нужно расчистить:
т.е. если пользователь не удосужился заглянуть в файл в течение года, то он явно лишний (а будет кричать, то файл всегда найдется в бэкапе), плюс туда улетают и фильмы,
работать надо на работе (здесь начальство даже похвалить может).
Или просто посмотреть нате файлы, которые занимают много места.
Третий. Радикальный
Все данные резервируются, и диск переразбивается заново с учётом текущих обстоятельств, до возникновения новых. Должно помочь.
Четвертый. Софтварный
При помощи утилиты parted, гарантирующей сохранение данных, размеры разделов изменяются. Но, к великому
СЕРГЕЙ ЯРЕМЧУК
# parted /dev/hda mkpartfs primary linux-swap 0 256

&& parted /dev/hda mkpartfs primary ext2 256 ###
# find /home ( -atime +365 -o -name '*.avi') -exec rm {}\;
# find /home -size 200 > trash ; cat trash | less
администрирование дит как одно большое целое. В терминологии LVM это называется группой томов VG (volume group), это главная часть, представляющая собой логическую надстройку над физическими разделами, некий банк дисковых ресурсов. Операционная система видит VG как единое целое, хотя фактически она состоит из нескольких реальных разделов жёсткого диска. Это можно представить (но только представить) как создание расширенного раздела при обычном разбиении. И теперь кладём плитку, те. нарезаем в получившемся VG разделы требуемых размеров (или не нарезаем, если в этом нет необходимости, те. сплошная стена вас вполне устраивает. Эти разделы называются логическими томами LV (logical volume). Такой раздел форматируется затем обычным образом под выбранную файловую систему, и драйвер ФС работает именно на этом уровне. Также, именно эти разделы монтирует пользователь и прописывает данные в /etc/fstab. В LVM (HOWTO), которое находится по адресу все это схематически отображено так:
Сам логический том также состоит из песчинок, называемых, которые сопоставляются реальным физическим physical extents. Если в дальнейшем понадобится изменить размер logical volume, то это можно будет проделать как раз на величину, кратную physical extents. Такая взаимосвязь физических и логических обозначается термином mapping. И ещё,
так как фактически нет разницы, какому PE противопоставить, то это можно сделать двумя вариантами линейными чередующимся (striped mapping). В первом случае всё просто непрерывной последовательности физических extent ставится в соответствие столь же непрерывная последовательность логических extent. Во втором – непрерывная последовательность логических extent связывается с чередующимися между различными физическими носителями extent. Эта схема напоминает нулевой (полосатый)
RAID-массив. При этом если разместить два диска на различных каналах, можно добиться некоторого повышения производительности дисковых операций. Но надёжность в таком случае ниже, т.к. в случае вылета одного диска можно потерять всё. Поэтому бэкап в последнем случае играет не последнюю роль. И ещё не сожалению, parted не работает с современными журна- лируемыми файловыми системами RaiserFS и Пятый. Естественно, хардварный
Идём к шефу и говорим, что свободного места нет, и требуем новый жёсткий диск для сервера и повышения зарплаты для себя (чтобы два раза не бегать. Далее вставляем его в корпус, форматируем и монтируем, например,
в /home/newhome и часть данных переносим на новый диск. Чтобы при этом некоторые старые файлы были доступны, из нового месторасположения необходимо воспользоваться символическими ссылками. К слову, в таком случае очень неплохо бы и на втором диске создать разделав файле /etc/fstab сделать запись о равенстве их приоритетов.
Теперь всё пользовательское пространство будет состоять из двух файловых систем и придётся всё время помнить о томна каком диске находятся данные и следить за их наполнением, но дополнительно ко всему отпадает возможность создания жёстких ссылок на данные,
расположенные в другой файловой системе. Согласитесь,
это несколько неудобно, гораздо лучше, чтобы оно выглядело как единое целое, пусть даже и не является таковым. И поэтому...
Вариант шестой
Предусмотреть возможное несоответствие размеров и возможное перепланирование рабочего пространства в будущем еще на стадии разбиения диска или, если уж произошло такое, то воспользоваться удобными современными технологиями. Для решения этой задачи в самый раз придется популярная технология LVM
(Logical Volume Manager, или менеджер логических томов, которая полностью поддерживается ядром версии По понятиям
Давайте сначала немного разберёмся в терминологии ив том, что собственно происходит. Недавний ремонт вызывает у меня только строительные ассоциации, поэтому давайте представим жесткий диск в виде стены.
Но стена неоднородная, она состоит из отдельных кирпичиков, те. физических разделов жёткого диска media), все равно каких, первичных или логических разделов на расширенном. В терминологии каждый кирпичик будет называться физическим томом (Physical Volume). Этому разделу при образовании присваивается определенный идентификатор типа файловой системы – 8e (например, программой fdisk). Сам Volume образуется из неких элементарных единиц, называемых PE (physical extents). Будем считать,
это тот песок, из которого состоят кирпичи. Это минимальный размер, с которым умеет обращаться VG и по умолчанию равен 4 Мб. Далее, чтобы на голый кирпич прицепить что-то более привлекательное для глаза, его сначала заштукатуривают, и теперь наша стена выгля-
/dev/hda1 swap swap defaults,pri=1 0 0
/dev/hdc1 swap swap defaults,pri=1 0 0

7
№10(11), октябрь администрирование стоит смешивать водной оба метода, если есть в этом необходимость, то для striped mapping создайте отдельную volume group. Как говорил один из моих преподавателей Природу не обманешь, за всё надо платить. Естественно, за удобства приходится расплачиваться, в нашем случае это 10-15% процессорной мощности. Причем перенос файловых систем с физического на логический уровень на скорости дисковых операций не отразился в linear случае.
От теории к практике
Теперь попробуем создать logical volume и подключить его как обычную файловую систему. Для начала давайте определимся, что не надо класть в LV. Так, нет особого смысла помещать туда каталог /boot, в котором содержится ядро и Grub. Его стоит вынести в отдельный раздел размером Мб (с запасом) ив файле /etc/fstab прописать такие строки, чтобы он не автоматически монтировался при загрузке.
Применять журналируемые файловые системы в этом случае смысла особого нет, а при смене ядра (довольно редкое занятие) данный каталог всегда можно примонти- ровать вручную. Также, наверное, не стоит помещать туда и следующие каталоги /etc, /proc, /lib, /mnt, /bin, /sbin, /dev,
/root, swap и /tmp (хотя это всё относительно. Обычно состав их более-менее статичен и много места не занимает, так, корневой раздел в CRUX такого состава получился у меня всего навсего 300 Мб, остальное находится в, /var и /home. При большом количестве внесистемного софта также следует вынести в отдельный каталоги с /opt (я обычно делаю символическую ссылку ln -s /usr/local /opt, чтобы голову меньше ломать).
Дополнительно ко всему у вас всегда будет возможность зайти в систему из-под root в случае аварийных обстоятельств. LVM можно использовать при наличии в системе и одного жёсткого диска, но наибольшую гибкость данная технология даёт при использовании двух и более дисков в системе. Для эксперимента возьмем два раздела /dev/hda4 и /dev/hdс2.
Общее распределение разделов на дисках будет таким – /boot
/dev/hda2 – swap (содержит и /tmp)
/dev/hda3 – корневой (/etc, /proc, /lib, /mnt, /bin, /sbin,
/dev, /root)
/dev/hda4 – будет использован с с – сбудет использован с Необходимый софт
В большинстве современных дистрибутивов, за исключением разве ориентированных на power user, всё необходимое для работы уже имеется. Так, например, программа установки Red Hat 9 позволяет создать LVM (и софт-
RAID) в графическом режиме (рис, но, если честно, мне она не показалась интуитивно понятной. Для поддержки технологии ядром при компиляции должны быть включены следующие опции. В секции Multi-device support (RAID
and LVM) нужно включить поддержку самих Multiple devices и далее собственно менеджера логических томов (Logical volume manager (LVM) Файл /usr/src/linux/.config должен содержать следующие строки:
Следующим шагом необходимо установить софт для работы с LVM (если его нет, конечно. В виде исходников его можно взять с сайта http://www.sistina.com/. Установка заключается в стандартной компиляции (./configure && make;
su; make install) и обычно проходит без сюрпризов. В
результате получите три группы утилит, предназначенные для работы на «своём» уровне pv* работает с физическими томами, lg* – с логическими группами и lv* с логическими томами. Все их можно найти при помощи табуляции.
Так команды вида *create создают томили группу в зависимости от первых двух букв, *display выводит полную информацию и т. д.
Для начала создаём физические разделы с идентификатором е. Для примера взят второй диск /boot ext2 noauto 1 2
#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
CONFIG_BLK_DEV_LVM=y
# /sbin/fdisk /dev/hdñ
Command (m for help): p
Disk /dev/hdñ: 3243 MB, 3243663360 bytes
128 heads, 63 sectors/track, 785 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
Device Boot
Start
End
Blocks Id System
/dev/hdb1 1
20 168682+ 82 Linux swap
/dev/hdb2 21 785 3165088+ b Win95 FAT32
Command (m for help): t
Selected partition 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)
Ðèñóíîê 1.
администрирование group, который в нашем случае равен 2 Тб, в варианте по умолчанию его значение равнялось бы 256 Гб.
Теперь pvscan сообщит, что тома активированы.
И теперь нарезаем большую VG на логические тома требуемых размеров. При этом нужно учитывать, что урезание файловой системы и затем логического тома (вот именно в два этапа) – немного более трудоёмкий процесс,
чем увеличение. Дополнительно файловая система пока не урезается. Поэтому лучше создать минимально требуемый размер логического тома (с запасом, а затем при необходимости его просто увеличить до нужного. Создаем. При этом при помощи -L указывается нужный размера при помощи -n имя ив конце следует имя VG. Если значение в килобайтах после него ставится K, в мегабайтах ив гигабайтах Или для полосатости.
Проверяем.
Команда lvdisplay выдаст более подробную информацию. Обратите внимание на новое месторасположение вроде /dev/test/lvm_usr, именно сними придется работать в дальнейшем.
Следующим шагом будет создание файловых систем на логических томах. Это делается обычным образом, как и для обычного дискового раздела, при этом может быть выбрана любая из поддерживаемых современным ядром файловых систем. Например, создадим Для автоматического монтирования раздела при загрузке системы в /etc/fstab добавляем следующие строки /sbin/lvcreate -L 1G -n lvm_usr test && /sbin/lvcreate

-L 1G -n lvm_home test lvcreate -- doing automatic backup of "test"
lvcreate -- logical volume "/dev/test/lvm_usr"

successfully created lvcreate -- doing automatic backup of "test"
lvcreate -- logical volume "/dev/test/lvm_home"

successfully created
# lvcreate -n stripedlv -i 2 -I 64 mygroup -L 20M
# /sbin/lvscan lvscan -- ACTIVE "/dev/test/lvm_usr" [1 GB]
lvscan -- ACTIVE "/dev/test/lvm_home" [1 GB]
lvscan -- 2 logical volumes with 2 GB total in 1 volume group lvscan -- 2 active logical volumes
# /sbin/mkfs.reiserfs /dev/test/lvm_home
È ìîíòèðóåì â âûáðàííîå ìåñòî.
# mkdir /home/test
# mount -t reiserfs /dev/test/lvm_home /home/test
# df
/dev/hda3 4032124 2789108 1038188 73% /
/dev/test/lvm_home 1048540 32840 1015700 4% Теперь дисковые разделы превращаем в физический том, это своего рода форматирование, чтобы программы высшего уровня могли работать сними. Причем если используется файловая система устройств devfs, тоне- обходимо задавать полное имя в соответствии с принятым обозначением, те. что-то типа /dev/ide/host0/bus0/
target0/lun0/part4, программы не распознают символических ссылок.
Теперь запускаем программу vgscan, которая отыщет всё разделы с идентификатором е и создаст конфигурационные файлы /etc/lvmtab и Дополнительно можно проверить, что думает о созданных физических томах система.
И теперь объединяем все в группу томов. Для этого вызывается команда vgcreate, в качестве аргументов принимающая условное имя будущей группы, которое может быть любым (кроме lvm), и разделы, которые будут включены в эту группу. Дополнительно при помощи опции -s
##m можно задать размер physical extent (в большинстве рекомендуют 32 Мб). По умолчанию создаётся линейный режим чередования. Если есть необходимость, в полосатом режиме используйте опцию -i, a -l # при этом задаст размер чередующихся блоков.
Обратите внимание на максимальный размер volume
Command (m for help): p
Disk /dev/hdñ: 3243 MB, 3243663360 bytes
128 heads, 63 sectors/track, 785 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
Device Boot
Start
End Blocks Id System
/dev/hdb1 1
20 168682+ 82 Linux swap
/dev/hdb2 21 785 3165088+ 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information.
Syncing disks.
# /sbin/pvcreate /dev/hda4
pvcreate -- physical volume "/dev/hda4" successfully created
# /sbin/pvcreate /dev/hdb2
pvcreate -- physical volume "/dev/hdb2" successfully created
# /sbin/vgscan vgscan -- reading all physical volumes (this may take a while...)
vgscan -- "/etc/lvmtab" and "/etc/lvmtab.d" successfully created vgscan -- WARNING: This program does not do

a VGDA backup of your volume group
# /sbin/pvscan pvscan -- reading all physical volumes (this may take a while...)
pvscan -- inactive PV "/dev/hda4" is in no VG [1.27 GB]
pvscan -- inactive PV "/dev/hdb2" is in no VG [3.02 GB]
pvscan -- total: 2 [4.29 GB] / in use: 0 [0] / in no VG: 2

[4.29 GB]
# /sbin/vgcreate -s 32 test /dev/hda4 /dev/hdb2
vgcreate -- INFO: maximum logical volume size is 2 Terabyte vgcreate -- doing automatic backup of volume group "test"
vgcreate -- volume group "my" successfully created and activated
# /sbin/pvscan pvscan -- reading all physical volumes (this may take a while...)
pvscan -- ACTIVE PV "/dev/hda4" of VG "test"

[1.22 GB / 1.22 GB free]
pvscan -- ACTIVE PV "/dev/hdb2" of VG "test"

[2.97 GB / 2.97 GB free]
pvscan -- total: 2 [4.29 GB] / in use:

2 [4.29 GB] / in no VG: 0 [0]

9
№10(11), октябрь 2003
администрирование
Чтобы система при загрузке могла обнаружить необходимо, чтобы в стартовых скриптах присутствовали две команды (для различных дистрибутивов примеры смотрите в В RedHat 9 в /etc/rc.d/rc.sysinit все это прописано такими строками:
И для размонтирования приостановке системы должна выполниться команда (Изменение размеров раздела
Теперь давайте попробуем изменить размер раздела можно при этом не размонтировать. Для изменения размера логического тома используется команда lvextend, в качестве параметров принимающая новый размер или число (положительное или отрицательное, на которое необходимо изменить раздел:
Теперь при помощи resize_reiserfs изменяем раздел самой файловой системы:
Проверяем:
Как видите, размер получился в два раза больший.
Уменьшение раздела производится в таком порядке:
размонтируем файловую систему;
уменьшаем файловую систему с запасом;
уменьшаем размер логического тома при помощи расширяем файловую систему до заполнения всего тома.
В командах это выглядит так:
При работе с ext2 используется – resize2fs, XFS –
xfs_growfs (но пока она урезаться не может).
И хотелось бы сказать ещё об одной возможности, названной snapshots, которая позволяет администратору создавать новое блочное устройство, в которое копируется логический том в замороженном на этот момент состоянии. Этот режим позволяет производить резервное копирование без закрытия приложений. Фактически теперь можно производить резервное копирование при любой нагрузке. По окончании процесса копирования администратор должен удалить Создается snapshots командой lvcreate с ключом -s и с указанием размера, имении логического тома, состояние которого необходимо заморозить.
В результате образуется ещё один логический том с именем Его можно смонтировать и посмотреть, что там есть.
Всё, теперь архивируем данные и удаляем Теперь при подключении к системе новых дисков на них можно создавать свои логические тома или присоединять их к существующим, копировать, перемещать импортировать имеющиеся на другой диск, в общем, полная свобода действий. Вот такая технология LVM, удобная, простая ив тоже время позволяющая гибко управлять своими файловыми системами.
Дополнительную информацию, кроме вышеназванного, можно получить в статьях Дэниеля Роббин- сона (Daniel Robbins) – одного из создателей дистрибутива в Learning Linux LWM, Part 1 и Part Как разместить корневую файловую систему на можно узнать по адресу Ив страницах, конечно же /home/test reiserfs defaults 0 0
/sbin/vgscan
/sbin/vgchange -ay
# LVM initialization if [ -f /etc/lvmtab -a ! -e /proc/lvm ] ; then modprobe lvm-mod >/dev/null 2>&1
fi if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then action $"Setting up Logical Volume Management:"

/sbin/vgscan && /sbin/vgchange -ay fi
/sbin/vgchange -an
# /sbin/lvextend -L +1G /dev/test/lvm_home lvextend -- extending logical volume

"/dev/test/lvm_home" to 2 GB
lvextend -- doing automatic backup of volume group "test"
lvextend -- logical volume "/dev/test/lvm_home"

successfully extended
# /sbin/resize_reiserfs -f /dev/test/lvm_home
# df dev/hda3 4032124 2789108 1038188 73% /
/dev/test/lvm_home 2097084 32840 2064244 2% /home/test
# umount /dev/test/lvm_home
# resize_reiserfs -s -1.5G /dev/test/lvm_home
# lvreduce -L -1G /dev/test/lvm_home
# resize_reiserfs -f /dev/test/lvm_home
# mkdir /mnt/snapshots
# mount /dev/test/home_backup /mnt/snapshots mount: block device /dev/ops/dbbackup is write-protected,

mounting read-only
# umount /dev/test/home_backup
# lvremove /dev/test/home_backup
# lvcreate -L592M -s -n home_backup /dev/test/lvm_home lvcreate -- WARNING: the snapshot must be disabled

if it gets full lvcreate -- INFO: using default snapshot chunk size of 64 KB

for "/dev/test/home_backup "
lvcreate -- doing automatic backup of "test "
lvcreate -- logical volume "/dev/test/home_backup"

successfully created
администрирование

11
№10(11), октябрь 2003
администрирование
Преамбула
Данный материал – не сравнительный обзор протоколов работы с почтой, а практические рекомендации по установке сервера (Internet Message Access для тех, кто уже определился, что именно это ему не- обходимо.
Тем, кто еще не определился с выбором, рекомендую почитать В результате описанных в этой статье действий мы должны получить работоспособный сервис, при работе с которым поддерживаются защищенные методы авторизации, почта хранится и сортируется на сервере, ненужно заводить реальных почтовых пользователей в системе.
Дополнительно настроим веб-интерфейс к системе фильтрации почты на сервере.
Использовавшаяся в процессе подготовки материала операционная система – Slackware Linux 9.0, MTA –
sendmail 8.12.9, MUA – sylpheed Везде, где в тексте встречается your.hostname.domain заменять на реальное имя вашего сервера.
Подготовительные работы
Обновляем openssl и sendmail до актуального состояния.
Скачиваем:
cyrus-imapd-2.1.15.tar.gz (http://asg.web.cmu.edu/
cyrus/)
cyrus-sasl-2.1.15.tar.gz (http://asg.web.cmu.edu/sasl/)
php-4.3.2.tar.gz (http://www.php.net/)
apache-1.3.28.tar.gz (http://httpd.apache.org/)
imap-2002d.tar.Z (http://www.washington.edu/imap/)
libmcrypt-2.5.7.tar.gz (http://mcrypt.hellug.gr/)
smartsieve-i18n-ru.tar.gz (Заводим пользователя cyrus (группа mail, домашний каталог Сборка cyrus-sasl
SASL (Simple Authentication and Security Layer) – это набор утилит и библиотек, необходимых для авторизации пользователей.
В документации по cyrus-sasl рекомендуется отключить все неиспользуемые механизмы авторизации, я решил оставить только digest-md5, cram-md5, plain, Заводим базу пользователей. Добавляем пользователя (подобным образом нужно будет добавить всех почтовых пользователей):
Указываем пароль, после этого у нас должен получиться файл /etc/sasldb2 (это и есть база паролей для автори- зации):
Примечание: как уже говорилось ранее, почтовые пользователи не пересекаются с системными.
Сборка Теперь соберем непосредственно сервер. Здесь все просто:
Примечание: по умолчанию при обработке писем, в заголовках которых содержатся 8-битные символы (это противоречит, заменяет их символами «X». Если вы хотите, чтобы такие письма проходили без модификации можете перед сборкой внести соответствующие изменения в файлах imap/message.c и imap/lmtpengine.c (заком- ментировав строки 270 и 860 соответственно. Но, вооб- ще-то, это нужно только в специфических случаях и лучше оставить все как есть, чтобы не противоречить стан- дарту.
Настраиваем Для того чтобы в случае неполадок облегчить поиск проблемы, включаем журналирование посредством Добавляем в /etc/syslog.conf следующее:
Перезапускаем Создаем Его содержимое:
Подробнее о возможных используемых опциях можно посмотреть в соответствующей man-странице:
Создаем каталоги и выставляем на них права tar zxvf ./cyrus-sasl-2.1.15.tar.gz
# cd cyrus-sasl-2.1.15
# ./configure --disable-otp --disable-krb4 --disable-gssapi

--without-pam
# make
# make install
# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
# ldconfig
# saslpasswd2 -c cyradmin
# chown cyrus.mail /etc/sasldb2
# tar zxvf ./cyrus-imapd-2.1.15.tar.gz
# cd cyrus-imapd-2.1.15
# ./configure
# make
# make install local6.debug
/var/log/imapd.log auth.debug
/var/log/auth.log
# killall -1 syslogd
# touch /etc/imapd.conf configdirectory: /var/imap partition-default: /var/spool/imap sievedir: /var/spool/sieve admins: cyradmin sasl_pwcheck_method: auxprop sasl_auxprop_plugin: sasldb sasl_mech_list: CRAM-MD5 PLAIN
tls_cert_file: /var/imap/server.pem tls_key_file: /var/imap/server.pem
# man imapd.conf
# mkdir /var/imap
# chmod 750 /var/imap
# mkdir /var/spool/imap
# chmod 750 /var/spool/imap
# mkdir /var/spool/sieve
# chmod 750 /var/spool/sieve

12
администрирование
Создаем структуру остальных каталогов (в документации к cyrus-imapd сказано, что надо сделать «su cyrus» и только потом выполнять следующие действия, ноя устанавливал из-под рута и потом просто раздал права доступа):
Примечание: если у вас файловая система ext2 на том разделе, где будут размещаться базы, то почитайте оригинальную документацию к Если у вас прописаны в (x)inetd.conf сервисы pop3,
imap, pop3s, kpop, lmtp, sieve – закомментируйте их и перезапустите (В /etc/services прописываем (если там нет этих записей):
Из каталога master/conf берем конфигурационный файл:
Пробуем вручную запустить процесс Генерируем сертификаты (в процессе нужно будет заполнить несколько полей информацией об организации):
Вышеприведенной командой мы создали X.509 сертификат, действительный 1 год (эта строчка для генерации есть в документации к За более подробной информацией по поводу сертификатов ив общем, можно сходить на http://
www.openssl.org/ в раздел документации, правда, там зачастую можно встретить надписи [STILL Настраиваем Нам понадобится пакет sendmail-cf, если выставили из пакета (package) в Создаем наш файл конфигурации Добавляем туда строчки:
Если выставили из пакета, тов скрипте надо заменить строчку:
на
Примечание: если вы устанавливаете imapd таким образом, что сокет для работы с почтой находится вот- личном от /var/imap/socket/lmtp месте, то необходимо будет исправить путь в файлике cyrusv2.m4 (по умолчанию в slackware его можно найти в Если у вас sendmail версии 8.12.8 и ниже – загляните в документацию к cyrus-imapd, ноя бы посоветовал обновить Собираем новый Добавляем запуск /usr/cyrus/bin/master в стартовые скрипты (например, в /etc/rc.d/rc.init2) и перезагружаемся.
Проверяем работоспособность
Воспользуемся утилитой Вводим пароль, если нам отвечают A01 OK, то все нормально, если ругаются – идем в /var/log курить логи до просветления.
Создаем почтовые ящики
Для управления почтовыми ящиками в комплекте с cyrus- imapd идет утилита После инсталляции для запуска cyradm мне пришлось скопировать часть библиотек, которые поставились не совсем корректно (при сборке cyrus-imapd с --prefix=/usr такой проблемы не будет):
Типовая процедура создания нового почтового акка- унта:
В cyradm создаем почтовый ящик для пользователя и устанавливаем квоту в 20 Мб:
Все, теперь настраиваем клиентскую часть и проверяем, что у нас получилось.
В качестве клиента я использовал sylpheed, собранный с поддержкой SSL (configure -Настраиваем sieve
Sieve – язык, на котором пишутся почтовые фильтры в cyrus-imapd.
# ./Build current.cf
# cp ./current.cf /etc/mail/sendmail.cf
# /usr/local/bin/imtest -m cram-md5

-a cyradmin your.hostname.domain pop3 110/tcp imap 143/tcp imsp 406/tcp acap 674/tcp imaps 993/tcp pop3s 995/tcp kpop 1109/tcp sieve 2000/tcp lmtp 2003/tcp fud 4201/udp
# cp master/conf/normal.conf /etc/cyrus.conf
# /usr/cyrus/bin/master &
# openssl req -new -x509 -nodes -out /var/imap/server.pem

-keyout /var/imap/server.pem -days 365
# chown cyrus.mail /var/imap/server.pem
# cd /usr/share/sendmail/cf/cf
# cp ./linux.smtp.mc ./current.mc define(`confLOCAL_MAILER', `cyrusv2')dnl
MAILER(`cyrusv2')dnl
M4=`sh $BUILDTOOLS/bin/find_m4.sh`
M4=/usr/bin/m4
# cd cyrus-imapd-2.1.15/tools
# ./mkimap
# chown -R cyrus.mail /var/imap
# chown -R cyrus.mail /var/spool/imap
# chown -R cyrus.mail /var/spool/sieve
# cp -R /usr/local/lib/perl5 /usr/lib/
# saslpasswd2 -c dummyuser
# cyradm --user cyradmin --server your.hostname.domain your.hostname> cm user.dummyuser your.hostname> sq user.dummyuser 20480

13
№10(11), октябрь 2003
администрирование
Проверяем работоспособность сервера sieve (Если отвечают «IMPLEMENTATION» «Cyrus timsieved v2.1.15» ... OK, то все в порядке.
Пишем на sieve скрипт для разбора почты (приведу здесь несколько типовых действий, дальше должно быть понятно):
Сохраняем этот скрипт в файлик Подключаемся к серверу sieve, загружаем и активируем скрипт Если все сделано правильно, тона этом все, мы получили разбор почты по каталогам на сервере.
Если такая система управления фильтрацией вас устраивает, дальше можно не читать Далее рассматривается прикручивание веб-интер- фейса к sieve для того, чтобы пользоваться возможностями могли и простые пользователи.
Устанавливаем библиотеку Для того чтобы впоследствии скомпилировать PHP с поддержкой imap, необходимо установить бибилиоте- ку Инструкции по сборке я нашел на www.php.net, поискав по сайту с ключевым словом Скачиваем тарбол, распаковываем его, смотрим внутрь – а там нас поджидает веселый сюрприз в качестве одного Авторы сего пакета, по всей видимости, не подозревают о существовании таких благ цивилизации, как autoconf и иже с ним, поэтому configure скрипта внутри нет, вместо него эксплуатируются мозги администратора.
Просматриваем содержимое Makefile, среди комментариев ищем наиболее подходящее вашей системе описание, например, это «slx» («Linux using -lcrypt to get the crypt() Затем пробуем скомпилировать c-client с выбранной опцией:
Как показывает практика, обычно с разбега сборка не удастся из-за различий в расположении файлов – придется немного поработать вместо configure, подбирая эти опции вручную.
Можно либо править Makefile, либо указывать опции при запуске Для моей системы команда сборки выглядела следующим образом:
При возникновении проблем помогает вдумчивое прочтение Итак, компиляция успешно завершена, теперь следующий этап – инсталляция скомпилированного (да, не удивляйтесь не сработает – авторы решили выдержать все водном стиле и не написали такой цели в, так что опять будем делать все вручную).
Создаем каталоги подкаталоги и Из подкаталога c-client копируем все файлы в include, все *.c в В том же каталоге находим файл c-client.a и копируем его в lib, переименовывая в На этом с установкой c-client покончено, лично я в процессе инсталляции не раз помянул недобрым словом разработчиков за такое жестокое отношение к пользователям.
Устанавливаем веб-сервер
Предварительно собираем libmcrypt (тут все тривиально):
Установка и настройка Apache+PHP – очень обширная тема, я ограничусь лишь минимальным количеством разъяснений, которого должно хватить для достижения наших целей.
Распаковываем apache, запускаем скрипт configure без каких-либо параметров.
Распаковываем php (в том же каталоге, где развернули, собираем:
Пути к файлам могут изменяться на разных машинах,
поэтому, если сборка не удалась, – проверьте пути (в частности, каталог с исходниками apache может называться по-иному).
# make slx
# telnet your.hostname.domain sieve require ["reject","fileinto"];
# íå ïðèíèìàåì ïî÷òó è âûñûëàåì ñîîáùåíèå îá îòêàçå:
if address :is :all "From" "annoying@badnet.domain" {
reject "Äîñòàëè";
}
# ôèëüòðóåì ïî subject êîðïîðàòèâíûé ñïèñîê ðàññûëêè:
if header :contains "Subject" "corporate mailing" {
fileinto "INBOX.lists.corporate";
}
# åùå îäèí ñïèñîê ðàññûëêè:
if header :is "List-Id"

";" {
fileinto "INBOX.lists.bugtraq";
}
# à ýòî âîîáùå ñòðàííûå ïèñüìà - àäðåñîâàíû íå íàì:
if anyof ( not address :all :contains ["To", "Cc", "Bcc"]

"myname@myaddress.domain" ) {
fileinto "INBOX.bad";
}
# sieveshell -u cyradmin your.hostname.domain
> put test.script
> activate test
> quit
# make slx EXTRASPECIALS="SSLINCLUDE=/usr/include/openssl

SSLLIB=/usr/lib"
# tar zxvf ./libmcrypt-2.5.7.tar.gz
# cd libmcrypt-2.5.7
# ./configure
# make
# make install
# ldconfig
# ./configure --with-imap=/usr/local/imap-2002d

--with-imap-ssl=/usr/include/openssl

--with-apache=./../apache_1.3.28

--with-mcrypt=/usr/local --with-iconv
# make
# make install

14
администрирование
Копируем файлик php.ini-recommended в Если php успешно собралось и заинсталлировалось,
возвращаемся в каталог с Если все собралось, идем в каталог, куда заинсталли- ровался apache (по умолчанию – /usr/local/apache), в каталоге запускаем веб-сервер командой:
Проверяем работоспособность сервера:
Либо просто любым браузером обращаемся по адресу нашего сервера.
Если видим ободряющую надпись «If you can see this, it means that the installation of the Apache web server software on this system was successful», значит – все нормально, иначе перечитываем вышенаписанное и идем читать документацию пои до тех пор, пока не наступит счастье.
Устанавливаем В принципе можно удовлетвориться взаимодействием с сервером посредством sieveshell, нос точки зрения рядового пользователя такой метод управления почтой вряд ли можно назвать удобным.
Альтернативой может послужить использование Smart-
Sieve (http://smartsieve.sourceforge.net/) – это написанный на PHP менеджер скриптов, позволяющий черз веб- интерфейс управлять правилами сортировки почты Изначально я скачал с официального сайта smartsieve- i18n версии 0.5.1, однако при его использовании столкнулся с проблемой работы с русскими именами каталогов в почтовом ящике. Решив, что транслит и другие компромиссы это не наш метод, пропатчил это дело, заодно написав русскую версию.
Русифицированную версию smartsieve можно скачать по адресу Вся процедура установки сводится к распаковке тар- бола и копированию содержимого в структуру каталогов,
являющуюся структурой корня веб-сервера.
По умолчанию опция DocumentRoot равна «/usr/local/
apache/htdocs». Уточнить ее значение можно в основном конфигурационном файле apache – httpd.conf (по умолчанию он находится в Допустим, мы скопировали файлы smartsieve в Проверяем работоспособность, открывая в браузере страницу http://your.hostname.domain/smartsieve/
Логинимся под именем одного из заведенных пользователей, пробуем создавать правила (при входе в форме выбираем русский язык для корректной работы с русскоязычными каталогами Небольшое примечание smartsieve может не работать с скриптами, написанными вами вручную, а нес его помощью.
Заключение
Если вы дошли до этого места и у вас все работает, значит, мы достигли поставленной вначале цели При написании были активно использованы оригинальная документация к cyrus-imapd и поисковый сервер Отдельное спасибо Антону Жаровцеву (aka warm) за консультации ./apachectl start
# lynx http://your.hostname.domain/
# ./configure --activate-module=src/modules/php4/libphp4.a
# make
# make install
Неделя Информационных Технологий «IT-Week 2004»
это:
Крупнейший в России и странах СНГ форум в отрасли
Информационных Технологий
Пять международных выставок, проводимых водно время ив одном месте
Две международные конференции
Более 250 компаний-участников из 25 стран мира
Свыше 75 000 посетителей из более чем 500 городов
России и СНГ 000 специалистов индустрии в деловой части выставки Официальная поддержка Министерства РФ по связи и информатизации, Министерства промышленности,
науки и технологий РФ, Министерства экономического развития и торговли РФ, Министерства образования РФ, а также Правительства Москвы
В рамках «IT-Week 2004» пройдут следующие выставки и конференции. Personal Computing Expo – общая, неспециализированная выставка, ориентированная наконечных пользователей. В ней представлены производители и дистрибьюторы персональных компьютеров и периферии, компьютерных игр, дистрибьюторы сотовой техники и портативных компьютеров, интернет- и контент- провайдеры и многие другие. Hardware & Peripherals Expo – специализированная выставка, на которой представлены компьютеры, мониторы, периферийные устройства, комплектующие,
накопители, коммуникационное оборудование и услуги, те. весь спектр hardware, ориентированного наведение бизнеса. Software Expo – специализированная выставка, ориентированная на программные продукты для систем бухгалтерского и складского учета, комплексного ПО
управления предприятием, систем управления документооборотом, систем распознавания документов,
разработку ПО, защиту информации. В рамках этой выставки будет подготовлен цикл тематических семинаров, посвященных актуальным вопросам в области разработки экономических программ и систем управления бизнесом. Специализированная выставка CAD/CAM/CAE представляет системы автоматизированного проектирования. Для большинства российских производителей необходимость использования САПР для оптимизации работы предприятия стала очевидной. Особенно ярко это проявляется в таких отраслях, как авиастроение, автомобилестроение,
тяжелое машиностроение, архитектура, строительство,
нефтегазовая промышленность. eLearn Expo – специализированная выставка, на которой будут демонстрироваться новейшие продукты и технологии в сфере электронного обучения, предназначенные для коллективного и индивидуального пользования.
Дистанционное обучение через сети Internet и получившее широкое распространение в развитых странах, становится все более актуальными для России. eBusiness Russia (Электронный бизнес в России) международная конференции, посвященная вопросам автоматизации бизнес-процессов, развития электронной коммерции, подбора ИТ-персонала.
7. Международная конференция eLearning Russia (Информационные технологии в образовании, на которой будут освещены последние достижения образовательных технологий в школах, вузах, а также рассмотрены вопросы дистанционного и бизнес-образования.
Рекламная кампания по привлечению посетителей на основана на многолетнем опыте проведения выставок, тщательном анализе данных маркетинговых исследований и четком выделении целевой аудитории. Посещение специализированных выставок Hardware & Peripherals
Expo, Software Expo, CAD/CAM/CAE, eLearn Expo, составляющих деловую часть Недели Информационных Технологий, возможно только для корпоративных бизнес-по- сетителей, прошедших регистрацию. Это позволяет качественно изменить состав посетителей этой части и дает возможность участникам в деловой обстановке представить свою продукцию и услуги заинтересованным специалистами партнерам по бизнесу. Практически полностью аудитория деловой части IT-Week
представлена менеджерами высшего и среднего звена, техническими специалистами и системными администраторами.
Тел.: +7 (095) 935 7350, 935 8120
eMail: Уважаемые господа!
Компания «ITE LLC» (Москва, при содействии Group Plc (Великобритания) предлагает
Вашему вниманию
Москва, Экспоцентр на Красной Пресне
26 – 29 апреля 2004 года
НЕДЕЛЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ 2004»
15
№10(11), октябрь 2003

16
администрирование
НАСТРАИВАЕМ
ASPLINUX 7.3 SERVER АЛЕКСАНДР ШИБЕНКО

17
№10(11), октябрь 2003
администрирование
Желание познакомиться с каким-либо из отечественных дистрибутивов Linux зрело у меня уже довольно давно, а тут еще приятель похвастался, что раздобыл ASPLinux 7.3
Server Edition. Поэтому когда знакомые попросили помочь им с установкой и настройкой сервера для подключения локальной сети к Интернету и хранения общих файлов,
особых сомнений не возникло. Нехорошо, конечно, ставить эксперименты на пользователях, но соблазн был велик. Поэтому первый из двух входящих в комплект CD- дисков был помещен на подставку для кофе, и инсталляция началась.
Размечать жесткий диск оказалось даже приятно. Графическая утилита позволяет легко и наглядно выбирать тип и размер файловой системы, а также задавать точку монтирования. Еще порадовало, что система без проблем распознала наличие на материнской плате го чипсета и интегрированной видеокарты. Правда, установить для монитора режим х с частотой 85 Гц не удалось, пришлось ограничиться 60 Гц. Нона фоне воспоминаний о том, что выводилось на экран после установки RedHat на компьютер см чипсетом, с этим легко можно было смириться. Также без проблем сами установились драйверы для сетевых карт Compex и Davicom, причем осу- ществовании второй фирмы-изготовителя я до этого момента даже не слышал. Затем из предложенного списка,
где среди прочих фигурировал пункт сервер для работы с С я выбрал сервер для рабочей группы, потом наставил галочек против интересующих меня пакетов, согласился с предложением доставить неотмеченные, но необходимые для работы выделенных, компоненты, понаблюдал за их копированием и с удивлением понял, что процесс инсталляции в целом занял совсем немного времени. Единственное, что не удалось сделать – создать загрузочную дискету. После нескольких попыток, заканчивающихся сообщением об ошибке, было решено сделать это позднее.
Пришло время для более интересного занятия – собственно настройки системы. Если помните, необходимо было обеспечить подключение локальной сети к Интернету. Причем дело не ограничивалось только доступом к ресурсам веб-серверов. Нужны были и клиент, и работа с почтой по протоколу POP3. Поэтому разумным показалось воспользоваться трансляцией адресов (Network address translation, NAT). ASPLinux 7.3 Server Edition базируется на ядре версии 2.4.18 и это значит, что соответствующие настройки нужно производить с помощью утилиты, входящей в дистрибутив. В нашем случае выглядит это следующим образом:
Т.е. все адреса из частной сети 192.168.100.0 будут транслироваться в единственный реальный адрес Но это не все. Созданные подобным образом правила сохраняются только в оперативной памяти ив случае перезагрузки сервера оказываются утерянными. Первое, что приходит в голову, – написать собственный сценарий и обеспечить его запуск вовремя старта системы, к примеру, поместив его (или ссылку на него) в каталог /etc/rc.d/rc3.d/. А заодно ив. Ив этом же сценарии разрешить, что тоже необходимо, пе- ренаправление пакетов на другой сетевой интерфейс командой:
Примерно так я и сделал. Все заработало, ноне покидало ощущение неправильности или, точнее, неизящнос- ти такого подхода. Пришлось подробнее ознакомиться с описанием iptables, где, среди прочего, упоминались два сценария iptables-save и iptables-restore. Причем последний вызывался в сценарии /etc/rc.d/init.d/iptables. Как говорится в детской игре, стало теплее. Последовало прочтение еще пары-тройки руководств – и все встало на свои места. Действительно, при старте системы скрипт /etc/
rc.d/init.d/iptables пытается считать файл /etc/sysconfig/
iptables и применить сохраненные в нем правила. Ровно то, что и требовалось. Осталось только сформировать этот самый /etc/sysconfig/iptables. Но запущенный без параметров почему-то этот файл не создали пришлось сделать это принудительно:
Осталось разрешить перенаправление пакетов. Здесь решение возникло в процессе просмотра файлов запуска и останова системы. Бросилось в глаза, что в них присутствует строка, содержащая примерно следующее net.ipv4.ip_forward = 0». Те. при останове системы задача, обратная нашей, решается с помощью вызова команды sysctl, которая считывает предопределенные настройки из файла /etc/sysctl.conf. Исправляем в нем net.ipv4.ip_forward = 0 на net.ipv4.ip_forward = 1 и можно двигаться дальше.
Задача номер два – организация доступа к совместно используемым файлами подключенному к серверу принтеру решается без дополнительной установки каких-либо программ, необходимый пакет Samba версии 2.2.7 также входит в дистрибутив. Можно было бы, конечно, попробовать и ю версию, нов мои планы на данном этапе это не входило.
О том, как с помощью Samba реализовать доступ к файлами эмуляцию контроллера домена, написано много. Да и проблем на этом этапе практически не возникло. А вот с чем реально пришлось побороться – так это с печатью. В Руководстве пользователя предлагается использовать для ее настройки графическую утилиту. Однако если не устанавливать поддержку Window атак ли нужны они на сервере, воспользоваться ей, естественно, не удастся. Поэтому опишу, как выглядел процесс при использовании только текстовой консоли.
Согласно большинству источников процедура настройки печати заключается в следующем. Сначала проверяется наличие в секции [printers] файла smb.conf параметра вида -t nat –A POSTROUTING –s 192.168.100.0/24

–d 0/0 –j SNAT --to-source 207.46.249.27
echo 1 > /proc/sys/net/ipv4/ip_forward service iptables save path = /var/spool/samba

18
администрирование
Если его нет, нужно добавить. Кроме того, необходимо вставить в файл /etc/printcap следующие строки:
Проделав это и перезапустив с помощью расположенных в /etc/rc.d/init.d/ сценариев lpd и smb, я вместо распечатки тестовой страницы печати Windows c клиентского
ПК получил следующее. Сценарий lpd выдал предупреждение о несоответствии прав на каталоги о том, что в системе отсутствуют принтеры. И действительно, файл /etc/printcap оказался пустым. Ау каталога изменились владелец и права доступа. Пришлось смотреть, что же делает Что происходит с файлом printcap, стало понятно достаточно быстро. Оказалось, что разработчики сценария теперь предложили хранить описания установленных принтеров в файле /etc/printcap.local, а в /etc/printcap просто переписывается его содержимое. Ас правами все оказалось несколько сложнее. До конца разобраться в происходящем таки не удалось, но работоспособное решение появилось. Вот оно.
В /etc/samba/smb.conf оставляем:
Создаем файл /etc/printcap.local следующего содержания:
На каталог /var/spool/samba устанавливаем права Затем создаем каталог /var/spool/samba/hp с правами по умолчанию. После чего перезапускаем /etc/rc.d/init.d/lpd restart. Появится предупреждение о несоответствии прав на каталоги они изменятся на 700, а владельцем каталога станет пользователь lp. Теперь печать должна заработать.
Дело осталось за малым – обеспечить запуски остановку Samba. Ранее уже упоминался выполняющий эту процедуру сценарий /etc/rc.d/ini.d/smb. Можно было бы,
как и на начальном этапе настройки iptables, создать на него ссылки в соответствующих каталогах, но нашелся более простой, намой взгляд, способ – воспользоваться командой chkconfig. Для этого останавливаем затем выполняем:
Но у меня так не получилось. Скорее всего дело в том,
что для smb вне прописаны уровни (run системы, для которых этот сервис должен выполняться.
Поэтому пришлось сделать это следующим образом:
после чего выполнить проверку и снова запустить Теперь осталось завести пользователей для Linux (а сделать это можно было еще на этапе инсталляции) и, и сервер готов к работе. Правда, по-хорошему необходимо еще дополнительно позаниматься обеспечением его безопасности, да и ядро не мешает пересобрать,
но это уже другие темы.
В заключение хотелось бы поделиться еще одним соображением. При установке сервера я оставил на нем предлагаемую по умолчанию поддержку русского языка и столкнулся со следующим неудобством, характерным,
пожалуй, практически для всех локализованных продуктов, но по-разному проявляющимся. Речь идет о диагностических сообщениях и предупреждениях об ошибках.
Если при работе с русифицированной версией какой-либо
ОС из семейства Windows весьма сложно бывает понять,
о чем идет речь в выводимых системой сообщениях (и тем более невозможно в том же англоязычном TechNet провести контекстный поиск, тов моем случае выводимые по-русски, нов кодировке KOI-8R, сообщения на клиентских компьютерах оказались просто нечитабельными.
В связи с этим есть предложение к разработчикам, занимающимся локализацией продуктов. Если это возможно,
кроме перевода, оставляйте в системных сообщениях их оригинальное написание. Тем самым вы существенно облегчите жизнь многим системным администраторам.
Автор выражает большую благодарность порталу и лично Липовцеву Алексею за участие в написании этой статьи = /var/spool/samba lp|hp:\
:sd=/var/spool/samba/hp:\
:mx#0:\
:sh:\
service smb restart chkconfig --add smb chkconfig --level 345 smb on chkconfig --list smb service smb restart
Теперь выставим пользователя:
Можно перезапускать сквид:
и радоваться жизни.
При обращении к серверу ICQ получает html вот такого формата:
Теперь мы несколько изменим данный текст и запишем его в нашем файле Таким образом можно заменить картинку баннера своей и даже вставить свой линк.
Материал предоставлен порталом SysAdmins.RU.
http://portal.sysadmins.ru/board/viewtopic.php?t=20783
Патчи для ICQ, обрезающие баннеры – вещь полезная.
Однако имея на борту сотню-другую пользователей, трудно заставить себя или эникейщика всем пропатчить И эникейщика жалко, и себя жалко, ив тоже время трафик жалко. Да и вообще, баннеры раздражают как явление. Требуется массовое решение проблемы одним ударом.
И такое решение есть!
Запускаем на шлюзе:
и открываем аськино окошко ввода мессаджа (то, которое с баннером).
И тут tcpdump вдруг показывает строчки вида:
Теперь открываем конфиг сквида и добавляем следующие строчки:
Реконфигурим сквид и. нет баннеров, но есть некрасивый про ошибку в поле для баннера. Это не по- нашему!
Убираем две вышеобозначенные строки из squid.conf и переходим к конфигурации SquidGuard (если кто не в курсе, то http://onix.opennet.ru ). В директории баз SquidGuard создадим директорию icq, а в ней – файл expressions, в котором напишем строчку:
Теперь в конфиге SquidGuard добавим такое правило:
А в блок ACL добавим:
ну а на сервер повесим файл /squidGuard/noicq.html, содержащий примерно следующее -li xl0 -w - src host ÍÀØ_IP |strings
GET /client/ate/ad-handler/ad_468/0,,93169
acl ICQban urlpath_regex /client/ate/ad-handler http_access deny ICQban
(/client/ate/ad-handler)
dest icq {
expressionlist icq/expressions redirect http://ÍÀØ ÑÅÐÂÅÐ/squidGuard/noicq.html
}
pass ... !icq ...
STOP DA BANNERS! =)))
chown -R nobody /usr/local/squid/db/squidGuard killall -HUP squid


Welcome to ICQ 2000a






%RAND%/aol/" target="_new">
src="http://ar.atwola.com/image/93169516/%RAND%/aol/

" width="468" height="60" border="0">


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал