Модификация дистрибутивов
на основе Windows Installer
Установка цепочки
серверов сертификации
как часть внедрения PKI в домене
Настройка TLS/SASL-шифрования
и аутентификации в MTA Sendmail
Найди в журнале код.
Следуй инструкциям.
На кону настоящий
«АДМИНСКИЙ ПРИЗ»
Так видит журнал читатель, который забыл оформить подписку:
И
С
ИЛ
ЛИ
ТЯ Е
ЗА ДНИ
Ж П
НУ
РА КУ
УЛ ОГО
ТИ РАС
ИК ОВ
О
Ы
ТР
Н
С
БЫ
Н
КА
И
ЬГ
ЬД О
БО А
К
ИС НН
ЕН
ТЕ
РА СК
УС
ИЛ ДА
У
ТП
НА П
Л ОТ
НЧ ЖИ
ВО
РА ЛЕ
КО НЕО
Л
АВ ОС
ХА
УЕ
ЗА
Так видит журнал читатель, оформивший подписку:
ПОДПИШИТЕСЬ И ЧИТАЙТЕ!
Роспечать – 20780, 81655
Пресса России – 88099, 87836
Интер-почта – тел. (495) 500-00-60
Реклама
Реклама
в номере
4 ФОТОРЕПОРТАЖ С ДСА 2008 АДМИНИСТРИРОВАНИЕ «1С»
5 ТЕНДЕНЦИИ 52 Управляем списками общих
информационных баз
АДМИНИСТРИРОВАНИЕ Облегчаем себе работу с помощью специализирован-
ного механизма.
6 Строим плановое IT-хозяйство Андрей Луконькин
Какой будет вверенная вам IT-система в будущем?
Дмитрий Бутянов 53 Система компоновки данных
Изучаем новые возможности платформы.
13 Легализация ПО. Цена ошибки! Андрей Луконькин
Как не допустить ошибок в лицензировании ПО.
Дмитрий Жеряков БЕЗОПАСНОСТЬ
14 Модификация дистрибутивов 54 Установка цепочки серверов
на основе Windows Installer сертификации как часть внедрения PKI
Рассмотрим один из компонентов Windows Installer в домене. Часть 1
Resource Kit – orca.exe. Установка и настройка Public Key Infrastructure.
Иван Коробко Станислав Шпак
шанс о й н ом е р ж
ком-
и т м е
р д е лу ч ш
Т Ко гд а же пр и
...
и
А
т
е
м
л
ож е т
рту а ль ный
ем… и Toshiba sco… Ви
i и ж е это
н у п обед ук Dell ил з у ча ть C а т ь? Он
г я ста , н о у тб п о йду и о в ы игр
у о н
А вдр Интересн урсы, то я ПО мож
а л а?.. Е с л ик к акое им… п р и ят-
н ? .. А
н и к а тор е ш а ет… о с м отр у м ать о
му пом к... п й те д
р н е е, та ж а
е
с е р в л и н а с ай
т
П р одол
п и с а ы с л ей?
на н ых м с т ия
о б ч а
о г о под
о д д ля у
В а с мн в т о р ой к
У и тся
о д
ном! н а л а нах з».
е р е ж ур к и й п ри
m a g.ru
м мин с w.s a
э то м но « А д а w w
В
г р ыш е ж у р на л ат е л ьно
ы дов
в роз а с а йте
о с л е
у й те сь н р и з». П 8 , 9.
и р й П 7 ,
р е г и с тр м и н с ки а л о в№ а ч нем
За А д р н н
з д е ле « ы и з жу 9 , и мы
в ра е ко д из №
у й т ко д
ир один
ак т и в яе щ е
а т ь с
ь д о жд р и з ов.
с та ло с г р ы шп
О р оз ы
ы й
п ер в
Приз
нск ий
ми
Ад РАЗ»
П р из «
м и н с к ий атор
Ад н и к
К о мму к ур с ы
б н ы е р од ук ты с е р в ер ы
че еп е
У граммны ыделенны
ро в
П туальные
ир
В В А»
« Д
й П р из
нс к и
А д м и
н и к атор
К о мму к ур с ы
б н ы е р од ук ты с е р в ер ы
че еп е
У граммны ыделенны
ро в
П туальные
ир
В РИ»
з «Т
к и й При
нс
Адми тбук
оу ы
Н бные курс родукты
У че м н ы еп
г р ам
р о
П
ра...
ья но
о лич
ока кр
гл уб
Как
Более подробную информацию о сроках и правилах проведения розыгрышей призов смотрите на сайте журнала – www.samag.ru
фоторепортаж с ДСА 2008
Регистрация учасников
слёта
ром в пятницу
Неофициальное открытие слета вече
Традиционный большой
администратора костёр в честь Дня сис
темного
тенденции
Microsoft – платиновый спонсор что на рынке MID все игроки начинают «с нуля», они не отя-
Apache Software Foundation гощены «историческим наследием», как, например, в слу-
В конце июля, на конференции OSCON, корпорация чае со смартфонами. И Linux же добьется успеха благода-
Microsoft сделала очередной шаг в сторону Open Source- ря «возможности предоставить унифицированную плат-
сообщества. Было объявлено о том, что отныне она явля- форму, которая объединит в себе многочисленные мобиль-
ется платиновым спонсором организации Apache Software ные компоненты». Главными Linux-игроками на рынке MID
Foundation (ASF), добавив себя в один ряд к Google и Yahoo!. в ABI считают консорциум LiMo (Linux Mobile) Foundation,
Последняя известна тем, что занимается поддержкой ря- компанию Nokia с ее системой Maemo для интернет-план-
да проектов программного обеспечения с открытым ко- шетов, Intel с платформой Moblin для MID-устройств с ее
дом, наиболее популярным среди которых является Web- процессором Atom.
сервер Apache. А уже вскоре появилось сообщение о том, что к этим иг-
В Microsoft так объяснили причины столь неожидан- рокам присоединяется и компания ACCESS, объявившая
ного для многих события. «Это серьезная поддержка пу- о том, что ее мобильная Linux-платформа ALP (ACCESS
ти Apache, открывающая новую главу во взаимоотноше- Linux Platform) получила поддержку мобильных интернет-
ниях с ASF. На протяжении последнего года мы работали устройств. Изначально ALP позиционировали как реше-
с Apache POI, Apache Axis2, Jakarta и другими проектами. ние для смартфонов и КПК, которое откроет новое дыха-
И мы намерены продолжать нашу техническую поддержку ние для ОС PalmOS.
и работу над тестированием интероперабельности для это- Из других новостей в области Linux на MID-устройствах
го программного обеспечения с открытым кодом». При этом можно выделить анонс компанией Lenovo своего выхода на
представитель компании заявил, что это не шаг в сторону рынок нетбуков. Это событие было приурочено к представ-
от ее собственного Web-сервера IIS, напомнив, что сейчас лению двух первых устройств подобного класса от Lenovo:
активно идет разработка IIS 8. IdeaPad S9 на базе Linux и IdeaPad S10 с ОС Windows XP.
Когда появится Linux-нетбук S9, ориентированный на от-
Linux предустановлена на 3% личные от США рынки, пока неизвестно, а его Windows-
продаваемых в Великобритании ПК собрата можно будет найти на прилавках в США уже в на-
По данным британских исследователей, число персональ- чале октября.
ных компьютеров с предварительно установленной опера-
ционной системой GNU/Linux в Великобритании приблизи- Подготовил Дмитрий Шурупов
по материалам www.nixp.ru
лось к трем процентам (от всех проданных ПК). Статисти-
ка от специалистов по британскому рынку из Context сви-
детельствует о том, что с января 2007 года (тогда вышла
ОС Microsoft Vista) в процентном соотношении количест-
во десктопов с предустановленной Linux выросло в 28 раз
(с 0,1% до 2,8%). За тот же период на 93% проданных ПК
были установлены системы от Microsoft. Как сообщают
в Context, доля Linux среди продаваемых в Великобритании
ПК беспрестанно росла с момента выхода Vista. Интересно,
что 2-процентный барьер был преодолен в мае этого года,
когда состоялся последний релиз Ubuntu Linux.
Тем временем, представители компании Canonical, за-
нимающейся поддержкой дистрибутива Ubuntu, со ссыл-
кой на исследование IDC заявили, что уже около 11 процен-
тов предприятий в США используют Ubuntu Linux. Впрочем,
следует учитывать, что это вовсе не является оценкой доли
Ubuntu на корпоративных десктопах/серверах – ведь мно-
гие компании работают с системой, например, просто для
того, чтобы проверить, работает ли их программное реше-
ние в данном окружении.
Дмитрий Бутянов
Сегодня мы поговорим о развитии IT на вашем предприятии как едином целом. Попробуем
определить факторы, влияющие на информационную систему, и то, как она может изменяться
под их давлением. В итоге узнаем о методах определения и прогноза, какой будет вверенная
вам IT-система в будущем.
I
T-отдел и IT-система растут вместе начинается менеджмент и управле- рые занимаются абсолютно всем, что
с предприятием, переживая в своем ние IT как бизнес-структурой, начина- включается в розетку и имеет какие-
развитии несколько этапов. Эти эта- ются вопросы, получить ответы на ко- нибудь провода: компьютеры, серве-
пы можно достаточно четко обозна- торые ой как непросто. Давайте пос- ры (чаще один-два), телефония, копи-
чить, и они определяют ту стартовую мотрим сначала на то, как происхо- ровальные машины, кофеварки и про-
точку, от которой требуется начать дит становление IT-службы в жизни, чее. Сотрудники компании называют
планирование развития. Точное опре- а потом взглянем на то, как это можно работников IT-отдела «программиста-
деление текущей ситуации может по- формализовать и превратить в подо- ми» или «компьютерщиками» вне за-
казаться простым делом, однако это бие математических уравнений и ло- висимости от того, чем этот человек
не так. Помимо продуктов и решений, гических условий. на самом деле занимается. Неудиви-
работающих в системе, есть еще мас- тельно, так как разделения ролей внут-
са вопросов, связанных с IT-менедж- Детство: пылесос ри отдела практически нет, каждый за-
ментом (уровень организации работы для денег нимается всем. Документов, регламен-
IT-отдела, уровень влияния IT на биз- Как правило, IT-отдел рождается тирующих работу отдела, чаще всего
нес, уровень влияния бизнеса на IT вместе с предприятием. Начальный нет, ответственность работников отде-
и так далее). Большое число наших этап, назовем его первым, характе- ла – что-то вроде SLA – никак не опре-
IT‑директоров, выросших из систем- рен для компаний, число ПК в кото- делена. Для учета средств IT (обору-
ный администраторов, хорошо разби- рых не превышает ста штук. Отдел дование, программные продукты) ча-
раются в технологиях, но как только состоит из одного-двух человек, кото- ще всего используется бухгалтерская
администрирование
программа, а статистические данные,
характеризующие работу информаци- Термины и сокращения в течение которого окупаются перво-
онной системы, накапливаются в луч- Использованы материалы Википедии. начальные затраты.
шем случае в головах работников от- IT (Information Technology) – инфор- NPV (Net Present Value) – чистый дис-
дела на уровне интуиции. Это приво- мационные технологии. Технологии уп- контированный доход. Показывает
дит к тому, что управление рисками равления и обработки данных. оценку эффекта от инвестиции, при-
не производится, а одна из важней- SLA (Service Level Agreement) – согла- ведённую к настоящему моменту вре-
ших задач отдела – ликвидация пос- шение об уровне услуги. Формальный мени с учётом разной временной сто-
ледствий уже свершившихся рисков. договор между потребителем услуги имости денег. Часто применяется для
Кстати, сами инциденты чаще всего и её поставщиком. Как правило, тер- сравнения эффективности альтерна-
не фиксируются, и IT-отдел не видит мин SLA используется применительно тивных вложений (при одинаковых на-
нужды в их фиксации: простые про- к IT и телекоммуникационным услугам. чальных вложениях более выгоден про-
блемы решаются сразу, а сложные от- В таком соглашении может содержать- ект с наибольшим NPV).
кладываются до лучших времен. Служ- ся детальное описание предоставляе- IRR – внутренний коэффициент рента-
ба поддержки пользователей работа- мого сервиса, в том числе перечень па- бельности. Тот процент прибыли от про-
ет в курилке или в столовой, и принцип раметров качества, методов и средств екта, который позволит окупить вло-
личных связей и симпатий играет од- их контроля, а также штрафные санк- женные в него средства. Применяется
ну из важнейших ролей. Качество ра- ции за нарушение этого соглашения. для сравнения эффективности альтер-
боты IT‑отдела целиком и полностью TCO (Total Cost of Ownership) – сово- нативных вложений.
зависит от разносторонности знаний купная стоимость владения. Методи- Gartner – международное аналити-
его работников, их доброй воли и же- ка, предназначенная для определе- ческое агентство. Основная специа-
лания работать. Бизнес-руководство ния затрат на информационные сис- лизация – информационные техноло-
оценивает это самое качество по се- темы (и не только), рассчитывающихся гии. Пользуется большим авторитетом
бе («работает ли мой компьютер»), мо- на всех этапах жизненного цикла сис- и весом в мире ИТ.
бильности сотрудников («сегодня про- темы. Не путать со стоимостью про- M IT (Massachuset ts Institute of
граммист десять раз приходил, хоро- граммного обеспечения, которая со- Technology) – Массачусетский техно-
ший работник»). Сам IT-отдел не име- ставляет обычно от 6% до 20% общей логический институт. Мекка компью-
ет бюджета, деньги выделяют по мере ТСО-системы. терных технологий, мировой лидер
надобности по остаточному принципу. KPI (Key Performance Indicator) – клю- в области науки и техники, новатор
Эти траты воспринимаются бизнесом чевой индикатор производительности. в областях робототехники и искусст-
как неизбежное зло, которое надо тер- Характеристика эффективности биз- венного интеллекта.
петь (не всегда молча). нес-процессов и работы каждого от- MOF (Microsoft Operations Framework) –
дельного сотрудника. Набор KPI чаще руководство по достижению необходи-
Юность: самоосознание всего уникален для каждого предприя- мого уровня надежности, доступнос-
Постепенно IT-система всё глубже про- тия и конкретной должности. Пример ти, удобства сопровождения и управ-
никает в бизнес-процессы предприя- KPI – время отклика на заявку для ин- ляемости решений на базе продук-
тия, и руководство начинает понимать, женера службы поддержки. тов Microsoft. Основано на производс-
что в случае сбоев в IT фактически па- ROI (Return On Investment) – окупае- твенных методиках, собранных в IT
рализуется весь бизнес или важная его мость инвестиций. Метод оценки ин- Infrastructure Library (ITIL), составленной
часть. С этого момента термин «авто- вестиционных проектов, когда важ- Central Computer and Telecommunications
матизация» приобретает важнейшее нейшим критерием приемлемости вы- Agency – Агентством правительства Ве-
значение, а сам IT-отдел или получа- ступает продолжительность периода, ликобритании.
ет в качестве куратора одного из пер-
вых лиц, или статус руководителя IT‑от- не выделили. На этом же этапе начина- (оборудование + программное обеспе-
дела повышается до соответствую- ют появляться документы, регламенти- чение), используя для этого подручные
щего уровня. С этого момента IT-сис- рующие деятельность сотрудников от- средства, например Excel или Access.
тема входит в следующую фазу свое- дела – должностные инструкции, поло- При всём этом IT-отдел не располагает
го развития. жение об отделе и т. п. Эти документы четким бюджетом на автоматизацию,
Численность персонала IT-отдела редко конкретны и ограничиваются закупка программных продуктов ча-
растет, наблюдается деление по функ- фразами о «поддержке работы сети», ще всего не планируется, а происходит
циональному признаку внутри самого «поддержке пользователей» и так да- под влиянием сиюминутных настрое-
отдела. Чаще всего появляются две лее. Апеллируя к этому документу, со- ний сотрудников или руководства. От-
группы: одна занимается оборудовани- трудники IT-отдела начинают отказы- сутствие системного подхода приво-
ем и системным программным обеспе- ваться от ремонта кофеварок и прочих дит к проблемам использования но-
чением, вторая – непосредственно биз- важнейших элементов офисного быта, вых продуктов, так как IT-система час-
нес-приложениями. Сотрудники отдела доказывая, что они не входят в понятие то не готова к внедрениям. Компания
сидят в отдельном помещении, часто «IT» (впрочем, с разной степенью ус- окружена большим количеством пос-
совмещенной с сервернной и прочим, пешности). Параллельно бухгалтерско- тавщиков продуктов или услуг в сфе-
так как отдельной серверной комнаты му, в IT-отделе начинают учёт средств ре IT, с каждым из которых заключен
администрирование
проб и сколько нужно сделать ошибок! шинстве случаев первоначально су- нию могут носить общий характер ти-
Каковы цели развития? Давайте опре- ществующий уровень развития ин- па «внедрите систему резервного ко-
делим их следующим образом: формационной системы относят к од- пирования». Если вас интересует при-
n сокращение совокупной стоимос- ному из стандартных. Например, вязка к конкретным продуктам – реше-
ти владения IT-инфраструктурой у Gartner таких уровней шесть, от ну- ниям, то можно получить и такие реко-
(включая сервисные затраты и по- левого Survival (Выживание) до пято- мендации тоже.
тери времени пользователей); го Business Partner (Бизнес-партнёр). Чем это удобно? Во-первых, вы
n повышение гибкости информаци- У Microsoft, которая сделала свою мо- получите объективную оценку теку-
онной системы для обеспечения дель оптимизации инфраструктуры щего состояния вашей информаци-
возможности поддержки растущих на базе материалов Gartner, MIT, MOF, онной системы. Во-вторых, сможе-
требований бизнеса; уровней получилось четыре: от базо- те спланировать направления ее раз-
n повышение удовлетворенности вого до динамического. Принцип рабо- вития на уровне решений – серви-
пользователей за счет увеличе- ты с такими моделями несложен. Сна- сов – служб – продуктов. Это позво-
ния надежности и удобства рабо- чала надо определить текущий уро- лит снизить степень хаоса и взять про-
ты с IT‑приложениями. вень зрелости (развития) IT. Сделать цесс эволюции вверенной вам систе-
это можно разными способами, на- мы под контроль. Для каждого уров-
Для того чтобы развитие информа- пример, заполнив опросник. В резуль- ня в модели прописаны преимущест-
ционных систем было эволюционным тате вы сможете получить как общую ва, которые компания может получить,
и управляемым, различные компании оценку развития вашей информаци- достигнув этого самого уровня. Обра-
разрабатывают различные методоло- онной системы в целом, так и по от- тите внимание, чаще всего это бизнес-
гии, которые могут быть использова- дельным решениям (например, базо- преимущества. То есть это часть до-
ны вами для определения путей раз- вая инфраструктура, инфраструктура кумента, на которую можно опирать-
вития. Давайте посмотрим, что из это- платформы приложений, инфраструк- ся в разговоре с бизнесом. Вашему
го получается. тура бизнес-процессов). Процесс раз- генеральному или финансовому ди-
вития IT видится как управляемый пе- ректорам совсем неинтересно раз-
Пути развития реход с уровня на уровень путем внед- бираться в хитросплетениях взаимо-
Существует несколько подходов к оп- рения соответствующих технологий действия серверов, протоколах и так
тимизации инфраструктуры. В боль- и решений. Рекомендации по внедре- далее. Но снижение себестоимости,
10
администрирование
12
администрирование
Ошибки в легализации. рению. Не покупайте лишнего, ищите чие именно таких подтверждений и сви-
Как распознать? компетентных и внимательных продав- детельствует о том, что специалистам
Распространённой ошибкой, вытека- цов и консультантов. Softway можно доверить столь важный
ющей из стремления подобных ком- этап в истории вашей компании.
паний экономить средства заказчика, Ваш поставщик Одни из самых недавних достиже-
является неграмотный и опасный под- программного ний компании Softway – получение вы-
ход к внедрению. Это, например, уста- обеспечения. сокого статуса от Microsoft и авториза-
новка OEM-версий программ на уже Критерии выбора ция у компании Autodesk. Gold Certified
имеющиеся персональные компьюте- Исходя из обозначенных проблем воп- Partner Microsoft – знак высокой оцен-
ры, впоследствии приводящая компа- рос выбора сертифицированного, гра- ки потенциала компании на IT-рын-
нию к огромным проблемам. Назначе- мотного помощника и консультанта ке, а также неоспоримое профессио-
ние OEM-версий совершенно иное. Та- по продаже, внедрению лицензион- нальное признание качества работы
кое программное обеспечение может ного ПО особо актуален. В софтвер- сотрудников. Получение авторизации
быть установлено только на новом ПК ном бизнесе серьезными и професси- у ключевого производителя решений
перед процессом его продажи. Покуп- ональными компаниями могут считать- САПР, компании Autodesk, – это след-
ка OEM‑версий без ПК – это такое же ся немногие – лишь те, которые офици- ствие признания высокого профессио-
уголовно наказуемое преступление, ально авторизованы у производителей нального уровня сотрудников компании
как и использование пиратского про- программного обеспечения и гаранти- Softway: прошедшие обучение и серти-
граммного обеспечения. Это грозит руют компетентность специалистов по фикацию в Autodesk сотрудники ока-
штрафами, приостановкой деятель- продажам, консультированию и внед- зывают всестороннюю качественную
ности компании, а далее – новыми за- рению программных продуктов. консультационную и техническую под-
тратами на уже «правильную» легали- Сотрудники компании Softway, де- держку по лицензированию и внедре-
зацию ПО при помощи профессиона- монстрируя комплексный подход к про- нию продуктов для своих клиентов.
лов в этой области. цессу легализации ПО, отмечают необ- Добавим, что Softway также являет-
В процессе легализации также сто- ходимость проведения аудита имеюще- ся официальным сертифицированным
ит обращать внимание на то, что цены гося программного обеспечения непо- партнером большинства мировых про-
значительно ниже рыночных зачас- средственно перед закупкой программ изводителей ПО.
тую могут предлагать только недоб- и оценки целесообразности приобрете- Смотрите более подробную инфор-
росовестные компании, устанавли- ния тех или иных программных средств. мацию на сайте компании: http://www.
вающие нелицензионный и некачес- Далее необходимо уделить особое вни- softway.ru.
твенный продукт. Требуйте у консуль- мание выбору схемы лицензирования Статья подготовлена на основа-
тантов сертификаты от производите- в непрерывном контакте с сертифи- нии отчетов отдела продаж компа-
ля, это спасёт от ошибки. цированными специалистами. Не сто- нии Softway.
Любое программное обеспечение ит объяснять, что эту непростую проце-
необходимо устанавливать в соот- дуру могут провести только те сотруд- Дмитрий Жеряков,
ветствии с конкретными бизнес-зада- ники, чей профессиональный уровень Руководитель департамента
развития
чами компании. И если для эффектив- подтверждён центрами обучения и сер-
ной работы сотрудников вашей ком- тификации производителей ПО. Нали- На правах рекламы
пании достаточно стандартного паке-
та Office, то незачем покупать Office
Professional, который вам предлагает
менеджер софтверной компании. Це-
ной такого не столь глубинного под-
хода может стать переплата за избы-
точную функциональность програм-
мных компонентов. То же самое ка-
сается и количества лицензий, пред-
лагаемых вам специалистом по внед-
Модификация дистрибутивов
на основе Windows Installer
Иван Коробко
Возможность модификации дистрибутивов на основе Windows Installer всегда прельщала
системных администраторов и специалистов системной поддержки. Рассмотрим один
из компонентов Windows Installer Resource Kit – orca.exe. Эта утилита специально разработана
для решения задач такого рода.
Р
ешение задач автоматической талляции Windows Installer. Получив тор может создавать пакеты для авто-
установки программного обес- возможность изменить пакет инстал- матической установки, не используя
печения не ограничивается ис- ляции, доступ к базе данных всех па- внешние файлы, содержащие различ-
пользованием ключей системы инс- раметров дистрибутива, администра- ные настройки.
14
администрирование
Уделим внимание программному Таблица 1. Параметры командной строки msiexec.exe
управлению базой данных, хранящей- Параметр Описание
ся в msi-файлах. /i Установка приложения в обычном режиме
/f [p|o|e|d|c|a|u|m|s|v] Переустановка приложения. Если задан только ключ /f, то имеется в виду команда /fpecsm:
Windows Installer p – восстановление удаленных файлов;
Это сервис установки и конфигури- о – обновление до более новой версии;
e – полная переустановка приложения той же версии;
рования программных продуктов, ко- d – восстановление удаленных файлов и перезапись файлов более старой версии;
торый входит в состав операционной c – восстановление удаленных файлов или перезапись файлов, если CRC (контрольная
сумма) установленных файлов не совпадает с CRC файлов в дистрибутиве;
системы. Также он может устанавли- а – переустановка всех файлов;
ваться как пакет обновления или от- u – перезапись всех ключей реестра, касающихся данного приложения в ветвях HCKU, HCU;
m – перезапись всех ключей реестра, касающихся данного приложения в ветви HCLM;
дельный дистрибутив. s – перезапись всех ярлыков
В настоящее время использу- /a Выполнение административной установки приложения
ется Windows Installer 4.5, который /x Деинсталляция продукта
можно бесплатно загрузить с сай-
/j[u|m[/g]] Управление публикацией программного продукта:
та Microsoft в виде заплатки (hotfix) u – публикация для текущего пользователя;
KB842288 – http://download.microsoft. m – публикация для всех пользователей;
g – идентификатор языка (управление установкой языкового интерфейса)
com/download/2/6/1/261fca42-22c0-
/q[n|b|r|f] Определение уровня пользовательского интерфейса во время установки:
4f91-9451-0e0f2e08356d/WindowsXP- n – отсутствие интерфейса;
KB942288-v3-x86.exe. b – базовый интерфейс (по умолчанию);
r – сокращенный интерфейс;
Windows Installer, как и любое дру- f – полный пользовательский интерфейс
гое быстрое исправление, поддержи-
вает ряд ключей командной строки, по адресу – http://download.microsoft. ный номер продукта, изменить выво-
обеспечивающих управление автома- com/download/7/c/4/7c426dfc-46e2- димые сообщения и др.
тической установкой пакета: 4ded-bab4-3b33600ad7d1/msi45sdk.msi, Установка orca.exe осуществляет-
n /norestart – не перезагружать ком- используется для различного рода ма- ся в папку %:ProgramFiles%\Orca за-
пьютер после установки обновле- нипуляций с MSI-файлами. пуском файла orca.msi.
ния; По умолчанию каталог установ-
n /queit – выполнить установку в «ти- ки пакета Windows Installer SDK – Оrca.exe
хом» режиме; %ProgramFiles%\Windows Installer 4.5 Запуск программы осуществляется че-
n /help – вывод справки на экран, со- SDK. рез «Пуск → Программы → orca.exe»
держащей ключи и их краткое опи- В его комплекте несколько утилит, (см. рис. 1). После успешного запус-
сание. в том числе дистрибутив программы ка приложения необходимо открыть
ORC, расположенный в папке Tools. msi‑файл, который необходимо мо-
Файл msiexec.exe дифицировать. В данном случае в ка-
Двойным щелчком мыши по файлу Оrca.msi честве опытного образца использо-
с расширением *.msi осуществляется Программа orca.exe, дистрибутив кото- вать дистрибутив AcdSee10 – файл
запуск утилиты: рой находится в папке %ProgramFiles%\ ACDSee 10 Photo Manager.msi, находя-
Windows Installer 4.5 SDK\Tools, предна- щийся в каталоге c:\ACDSee.
%SystemRoot%\System32\msiexec.exe ↵ значена для модификации *.msi-фай- Замечание: дистрибутив ACDSee
/i *.msi
лов. С помощью этой утилиты можно 10 представляет собой *.ехе-файл – ар-
В таблице 1 приведен список часто не только управлять устанавливаемы- хив, который при запуске распаковы-
используемых параметров командной ми компонентами, но и указать серий- вает msi-файл в папке C:\Documents
строки, обеспечивающих автоматичес-
кую установку приложения.
Обычно для установки приложения
в автоматическом режиме использу-
ют команду:
%SystemRoot%\System32\msiexec.exe ↵
/fa /qn /jm *.msi
c:\Windows\system32\msiexec.exe ↵
/fa/qn/jm "acdsee10.msi"
and Settings\%username%\Local Settings\Application Data\ ции, используемую на протяжении всего процесса инс-
Downloaded Installations\{0051E50E-CECD-4E04-A71A- талляции. В таблице 4 приведена информация о назна-
B8C49733542A}\ACDSee 10 Photo Manager.msi. Именно этот чении таблиц.
файл необходимо открыть утилитой orca.exe.
Orca.exe рассматривает msi-файл как SQL-базу дан- Доступ к msi-файлам программным способом
ных, где msi-файл – это база данных, левая колонка таб- Для обеспечения программного управления базой данных,
лицы (см. рис. 2), в которой хранятся различные настрой- хранящейся в msi-файле, используется шаблон, приведен-
ки и списки. Правая часть – список полей выбранной таб- ный в листинге 1. Необходимо отметить, что шаблон чтения
лицы с соответствующими значениями. данных отличается от шаблона коррекции данных. О нем
будет рассказано отдельно.
Структура msi-файлов
В базе данных пакета среди множества таблиц, кото- Листинг 1. Шаблон доступа к базе в msi-файле
рые можно объединить в группы, выделим самые важные Set obj = CreateObject ("WindowsInstaller.Installer")
из них: Set base = obj.OpenDatabase (MSI,Mode)
base.OpenView(SQL-query).Execute
n базовые таблицы; base.Commit
n файловые таблицы;
n таблицы информации о программе. В приведенном шаблоне в первой строке осуществляет-
ся подключение к COM-объекту, с помощью которого осу-
Базовые таблицы ществляется доступ к базе данных.
К базовым таблицам относят таблицы, описывающие пара- На следующей строке осуществляется подключение
метры работы инсталлятора, устанавливаемые компоненты. к базе данных с помощью метода OpenDatabase, кото-
Группа состоит из 11 связанных таблиц, краткое описание рый имеет два аргумента. Первый из них – имя базы, ко-
которых приведено в таблице 2.
Таблица 2. Базовые таблицы MSI Installer
Эта группа таблиц содержит информа- Feature Содержит список всех функций программного продукта
цию обо всех файлах, входящих в ком- Condition Содержит описание условий, определяющих порядок установки каждой функции,
описанной в таблице
плект поставки программного продук-
FeatureComponents Связывает функции с компонентами
та. Большая часть этих файлов пере-
числена в таблице File. Хотя таблица Component Содержит список всех компонентов приложения
Directory не входит в эту группу, она Directory Содержит список всех каталогов, необходимых для инсталляции
тесно связана с ней, так как отража- PublishComponent Содержит список функций и компонентов, публикуемых для использования в других
приложениях
ет структуру каталогов приложения.
В таблице 3 приведен список файло- Assembly Задает установки для сборок .NET Framework CLR и Win32
вых таблиц и их краткое описание. AssemblyName Задает схему для именования сборок .NET Framework CLR и Win32
Complus Содержит информацию, необходимую для установки приложений COM+
Таблицы информации о программе IsolatedComponent Связывает компонент, заданный в столбце Component_Application (обычно .exe),
Таблицы этой группы содержат важ- с компонентом, заданным в столбце Component_Shared (обычно .dll)
ную информацию о пакете инсталля- Upgrade Содержит информацию для значительных обновлений программного продукта
16
администрирование
торым является полный путь к msi- Таблица 3. Файловые таблицы MSI Installer
файлу. Второй – режим доступа к ба- Имя таблицы Краткое описание
зе данных: File Представляет собой список файлов, которые будут распакованы в ходе инсталляции.
n 0 – только чтение; Эта таблица связана с таблицей Directory, в которой зафиксирована структура каталогов
устанавливаемого приложения и таблица Component, с помощью которой обеспечивается связь
n 1 – чтение / запись. с компонентами
RemoveFile Содержит список файлов, которые необходимо удалить при выполнении операции RemoveFiles
На третьей – реализовано выпол-
Font Включает в себя список шрифтов, которые необходимо зарегистрировать в операционной
нение задаваемого запроса. SQL-за- системе
прос задается с помощью метода SelfReg Содержит список саморегистрирующихся модулей. Installer не регистрирует EXE-файлы
OpenView, а выполнение запроса –
Media В таблице описывается набор дисков инсталляции
с помощью метода Execute.
BindImage Содержит информацию о привязках исполняемых файлов или DLL
Напомним, что в SQL-запросе ре-
MoveFile Содержит список файлов, которые необходимо перенести во время инсталляции из исходного
гистр названия полей и имен таблиц каталога в заданный каталог
имеет значение.
DuplicateFile Содержит список дублируемых файлов либо в другой каталог с тем же именем, что и исходный
В последней строке осуществляет- файл, либо в тот же каталог, но с другим именем
ся запись сделанных изменений в базе Environment Используется для задания переменных окружения
с помощью команды Commit. Icon Хранит файлы иконок. Каждая иконка этой таблицы во время инсталляции копируется
в отдельный файл на диске
Работа с таблицами в orca.exe MsiFileHash Эта таблица хранит 128-разрядное хэш-значение для исходных файлов в пакете инсталляции
Рассмотрим подробнее структуру
таблиц, содержащихся в msi-файле. Таблица 4. Файловые таблицы программы
Orca – мини-редактор SQL-таблиц, Имя таблицы Краткое описание
хранящихся как составная часть дис- Property Хранятся все свойства пакета инсталляции
трибутива. Binary Содержатся двоичные данные для иконок, растров и т. п. Также здесь хранятся данные
С полями таблиц баз можно совер- для пользовательских операций
шать следующие действия: Error Используется для поиска шаблонов форматирования при обработке ошибок. Installer имеет свой
n чтение существующих полей; собственный механизм обработки ошибок
n создавать новые поля; Shortcut Здесь хранится вся информация, необходимая для создания файловых ярлыков
n удалять поля; ReserveCost Эта таблица содержит информацию о необходимом дисковом пространстве для каждого
n изменять поля. компонента приложения
Set a = CreateObject("WindowsInstaller.Installer")
Set b = a.OpenDatabase ("C:\acdsee\ACDSee 10 Photo ↵ Изменение значений существующих полей
Manager.msi",1)
b.OpenView("INSERT INTO Property ↵ Изменение значения осуществляется путем установки кур-
(Property.Property, Property.Value) ↵ сора в необходимую ячейку двойным щелчком левой кноп-
VALUES ('PIDKEY', '1234567890')").Execute
b.Commit ки мыши (см. рис. 3).
Программное изменение свойства осуществляется
по тем же правилам. По сравнению с предыдущими двумя
Удаление существующих полей из таблицы случаями, изменяется только запрос.
Удаление какого-либо поля осуществляется в соответствии В листинге 5 осуществляется отключение компонен-
со следующим алгоритмом: та Device Detector.
n установить курсор на таблицу, в которой необходимо
удалить параметр; Листинг 5. Изменение значений существующих полей таблицы
n установить курсор на удаляемый параметр в таблице; Set a = CreateObject("WindowsInstaller.Installer")
n нажать кнопку <DEL> на клавиатуре или правую кноп- Set b = a.OpenDatabase ("C:\acdsee\ACDSee 10 Photo ↵
Manager.msi",1)
ку мыши, а в контекстном меню – DELETE; b.OpenView("UPDATE Feature SET Level='0' WHERE ↵
n подтвердить намерение удалить параметр. Feature='DevDetect'").Execute
b.Commit
18
на правах рекламы
П
ричем причина этого отнюдь
Diskeeper – увеличение
не в отставании технологий,
а в особенностях размещения
информации в современных файловых
системах, и в первую очередь во фраг-
ментации файлов. Это верно как в от-
ношении работы пользователя с до-
производительности
кументами, так и в отношении самой
операционной системы (фрагмента-
ция системных файлов, файла под-
винчестеров
качки). Примечательно, что от фраг- Любой системный администратор знает, что общая
ментации страдают не только рабо-
чие станции сотрудников любой компа-
производительность компьютерной системы при решении
нии, но и различные серверы. Для ре- какой-то задачи равна производительности самой «узкой» среди
шения описанной проблемы применя- используемых ресурсов ее части. И в последнее время таким
ются специальные программы – де- местом все чаще и чаще становятся жесткие диски.
фрагментаторы. Одной из них явля-
ется продукт Diskeeper от компании (в том числе и с разбитыми на милли- но удобный и функциональный инстру-
Diskeeper Corporation. Он отличается оны частей объектами), управление пи- мент для профессионалов.
широким набором функциональных танием на ноутбуках, ведение истории
возможностей, которые позволяют го- выполненных операций и т. д. Марат Давлетханов
ворить о нем как о профессиональном Еще одной особенностью про-
инструменте. граммы Diskeeper является наличие
Дефрагментация с помощью про- у нее нескольких версий, рассчитан-
граммы Diskeeper может осущест- ных на использование на различных
вляться как вручную, так и полностью компьютерах. Две из них предназна-
в автоматическом режиме. Второй ва- чены для рабочих станций. Они от-
риант особенно удобен тем, что не тре- личаются друг от друга наличием/от-
бует вмешательства пользователя. Он сутствием технологии I-FAAST и мак-
существенно облегчает работу адми- симально возможным объемом обра-
нистратора, которому необходимо про- батываемых дисков. Серверных вер-
извести первоначальную настройку сий у Diskeeper тоже две. Основное
параметров работы программы и в бу- различие между ними – возможность
дущем вмешиваться только при необ- или невозможность работы с больши-
ходимости их изменения или для ре- ми томами, объем которых исчисляет-
шения возможных вопросов. ся терабайтами. Комментарии Владимира
В рас с матриваемой програм - Ну и конечно же, нельзя не отме- Высоцкого, руководителя отдела
ме реализовано несколько уникаль- тить наличие в рассматриваемой ли- экспертизы ЗАО «Софткей»
ных разработок компании Diskeeper нейке программ продукта Diskeeper Проблемы фрагментации не толь-
Corporation. InvisiTasking обеспечива- Administrator. Он предназначен для уда- ко приводят к замедлению работы
ет незаметность процесса дефраг- ленного управления системой дефраг- пользователей, но и зачастую влия-
ментации для пользователя (исполь- ментации на всех компьютерах (вклю- ют на безопасность. Можно привести
зуются только свободные системные чая серверы), входящих в информа- пример антивирусной проверки фраг-
ресурсы), Intelligent Defragmentation ционную систему предприятия. С его ментированных файлов и дефрагмен-
отвечает за выбор стратегии оптими- помощью системный администратор, тированных. В последнем случае на-
зации (это позволяет добиться макси- не вставая со своего рабочего места, блюдается заметный прирост скоро-
мальной производительности жест- может устанавливать и при необходи- сти около 18‑20%. Конечно, это важно
кого диска). мости обновлять продукты Diskeeper только при первоначальной проверке,
Помимо перечисленных техноло- на других ПК, настраивать их работу, т.к. современные антивирусные ре-
гий у программы Diskeeper есть и не- осуществлять мониторинг и выявлять шения производят индексацию и пос-
мало других полезных возможнос- возможные проблемы. ледующие проверки происходят быс-
тей. В качестве примера можно отме- Самым серьезным недостатком трее. В случае резервного копирова-
тить полную поддержку VSS (Volume продуктов Diskeeper является англо- ния скорость доступа к файлам может
Shadow Copy Service) и 64-битных язычный интерфейс. Причем разра- быть критичной. Так что своевремен-
операционных систем, проведение ботчики обещают, что уже в ближай- ная дефрагментация, особенно серве-
дефрагментации в разделах, в кото- шее время на рынке появятся русско- ров с критичными данными, позволит
рых осталось меньше 1% свободно- язычные версии этих программ. Будем повысить скорость резервного копиро-
го пространства, работа с очень силь- надеяться, что они сдержат свое слово, вания и как следствие вероятность со-
но дефрагментированными файлами поскольку Diskeeper – это действитель- хранения данных.
Александр Емельянов
Почтовый сервер с фильтром спама и хранением архива писем, а в качестве платформы –
Windows XP. Стабильная и быстрая работа многие месяцы без отказа, плюс эффективная
защита от спама и быстрый поиск важных почтовых сообщений, утраченных пользователями.
«Бред!», – скажете вы, глядя на заголовок статьи. Не торопитесь делать выводы.
В
споминая статью [1], посвящен- ру в кошки-мышки. Нужно было ис- а также IP-фильтр, позволяющий раз-
ную бесплатному почтовому кать какие-то решения, и, как всегда, решить или ограничить доступ к сер-
серверу Office Mail Server, с жа- все должно было быть дешево, но ка- веру, отдельному хосту или целой под-
лостью отмечу, что поддержка и раз- чественно. сети.
витие проекта сошли на нет. Однако Собственно, почти все оказалось Вкратце, схема взаимодействия
функционал его по-прежнему актуа- под рукой. В качестве хранителя поч- такова. Имеется виртуальный почто-
лен, и малая требовательность к ре- тового архива и программы, обес- вый домен, при упоминании которо-
сурсам компьютера вкупе со стабиль- печивающей быстрый поиск старых го в адресе получателя письмо «па-
ной работой заставляют обратить писем, был выбран всем известный дает» в почтовый ящик компании, за-
на него внимание. MS Outlook, который входит в стан- веденный на сервере провайдера.
OMS верой и правдой служил в на- дартный набор MS Office. Антиспам- POP3-клиент сервера OMS по распи-
шей компании почтовым голубем. Вре- фильтром была выбрана програм- санию забирает письма с этого ящика
мя шло, и запросы сотрудников компа- ма SpamPal. Для лучшего понимания и при помощи сортировщика раскла-
нии менялись. Однажды, когда некое всей схемы рассмотрим каждый ком- дывает их по папкам конечных получа-
важное письмо было утеряно сотруд- понент отдельно. телей. Доступ к этим папкам осущест-
ником, стало понятно, что есть необ- вляется с помощью встроенного POP3-
ходимость иметь общий архив писем Office Mail Server сервера, посредством которого кли-
с быстрым поиском по заданным ус- Чтобы понять принципы работы OMS, енты получают предназначенные им
ловиям. Благо, что общий поток элек- достаточно прочитать статью [1]. В не- письма. При отправке письма клиент
тронной почты укладывался не более скольких словах, этот сервер имеет подключается к встроенному SMTP-
чем в 100 писем в день, включая спам. в себе перечень компонентов, обес- серверу, и его сообщение ставится
Количество почтового хлама росло печивающих транспорт, сортировку в очередь на отправку. Затем SMTP-
с каждым днем. и фильтрацию почтового потока: SMTP- клиент, используя транспорт провай-
Спам-фильтр сервера OMS лишь и POP3-серверы, SMTP- и POP3-кли- дера, отправляет письма из очереди
превращал борьбу со спамом в иг- енты, сортировщик и фильтр спама, по назначению.
20
администрирование
SpamPal Параметры реестра для указания максимального размера PST-файлов
Этот проект, аналогично OMS, не име- Имя Тип Допустимый диапазон значений По умолчанию
ет полноценного развития уже не- MaxLargeFileSize REG_DWORD 0x00000001-0x00005000 0x00005000
сколько лет. Однако функциональность 20480 (20 Гб)
работы SpamPal заставляет рассмат- WarnLargeFileSize REG_DWORD 0x00000000-0x00005000 0x00004C00
ривать его как серьезного кандидата 19456 (19 Гб)
22
на правах рекламы
О
бычно, когда речь заходит о ре-
Свой собственный
шении этой задачи, вспомина-
ют о таких полномасштабных
продуктах, как Microsoft Exchange или
Lotus Notes. Однако практика показы-
вает, что подавляющее большинство
средних, не говоря уже о малых, ком-
почтовый сервер
паний, не использует всех функци- Сегодня одной из самых часто используемых в бизнес‑процессах
ональных возможностей этих «мон- компаний интернет-технологий является электронная почта.
стров». Кроме того, администрирова-
Она представляет собой наиболее удобное и оперативное средство
ние данных продуктов требует серьез-
ных знаний. Поэтому для многих ком- обмена информацией. Поэтому системным администраторам
паний можно порекомендовать исполь- приходится сталкиваться с задачей организации корпоративного
зовать более простые и дешевые про- почтового сервера, который бы обеспечил максимальную
дукты, например MDaemon Email Server эффективность работы сотрудников с электронными сообщениями.
от компании Alt-N Technologies.
Несмотря на относительную деше- ки MDaemon Email Server специалис- ретение ПО, отказавшись от заведомо
визну, MDaemon Email Server – полно- тами, не имеющими опыта в решении ненужных функций.
ценный почтовый сервер, поддержи- подобных задач.
вающий все необходимые протоколы: Достаточно интересна политика Марат Давлетханов
SMTP, POP и IMAP. Он также может лицензирования, используемая ком-
использоваться в режиме DomainPOP. панией Alt-N Technologies. У продукта
При этом вся корпоративная почта бу- MDaemon Email Server есть две версии:
дет приходить на один внешний ящик. Standard и Pro. Первая из них облада-
А сервер будет автоматически загру- ет минимальным набором функцио-
жать из него письма и распределять нальных возможностей для реализа-
их по учетным записям сотрудников ции полноценного почтового сервера.
(на основе поля X-Deliver-To). Вторая версия расширенная. При ее
Для работы с корпоративной поч- использовании продукт может приме-
товой системой, построенной на ос- няться для решения многих дополни-
нове MDaemon Email Server, можно тельных задач, связанных с организа-
использовать любой бесплатный или цией эффективного взаимодействия
коммерческий клиент. Кроме того, сотрудников компании.
в данном сервере реализована воз- Но это еще не все. У продукта есть
можность доступа к почтовому ящику два дополнительных модуля, обес- Комментарии Владимира
с помощью веб-интерфейса. Это поз- печивающих расширенную функцио- Высоцкого, руководителя отдела
воляет сотрудникам читать свою поч- нальность. экспертизы ЗАО «Софткей»
ту из любой точки мира, в которой есть Первый из них, Outlook Connector Хотелось бы заметить, что в конце ав-
выход в Глобальную сеть. Интерес- for MDaemon, предназначен для орга- густа ожидается выход новой версии
но, что в составе рассматриваемого низации коллективной работы, реа- Mdaemon 10 и SecurePlus 4. Разработ-
продукта есть инструменты для рабо- лизованной в пакете Microsoft Outlook. чики постарались учесть все замеча-
ты с электронной почтой с карманных При этом сотрудникам компании ста- ния пользователей продукта и доба-
компьютеров. новятся доступны такие инструменты, вили более 40 новых «фич». Среди
Хотя MDaemon Email Server не- как общие календари, адресные книги, них: работа с несколькими доменами,
сколько уступает таким «монстрам», расписания встреч, списки дел и т. п. полностью обновленный World Client
как Microsoft Exchange, в нем есть все Второй модуль – SecurityPlus for и поддержка IPhone. Новая версия
необходимое для полноценной рабо- MDaemon. Он предназначен для су- полностью поддерживает Outlook 2007.
ты. Это веб-интерфейс администра- щественного усиления базовой защи- Основные усилия программистов бы-
тора, механизм для организации рас- ты почтового сервера. В нем исполь- ли сосредоточены на оптимизации
сылок, интеграция с ODBC и Active зуется Kaspersky Antivirus Engine (по- и ускорении работы. И это им уда-
Directory, поддержка серых и персо- иск и блокирование вирусов, шпионов лось. При тестировании мы наблюда-
нальных белых листов, защита от спа- и другого вредоносного ПО), техноло- ли прирост производительности по-
ма, система обмена защищенными гия Recurrent Pattern Detection и т. д. рядка 50%.
мгновенными сообщениями и многое Вынесение данных возможностей Также хочу заметить, что с выхо-
другое. Особенностями рассматрива- в отдельные модули позволяет ком- дом новой версии продукта домашние
емой программы являются интуитив- паниям самостоятельно решать воп- пользователи и представители малых
но понятный интерфейс и подробная рос об их необходимости и целесооб- организаций смогут получить бесплат-
справочная система. Все вместе это разности приобретения. Это позволя- но лицензию MDaemon Free на 5 поль-
обеспечивает возможность настрой- ет минимизировать затраты на приоб- зователей для ознакомления.
Новшества
в Windows Server 2008:
транзакционная
файловая система
Андрей Бирюков
Появление в Windows Server 2008 транзакционной файловой системы является важным
нововведением. Обсудим подробнее, что из себя представляет TxF.
В
ышедшая весной этого года опе- полнительных пояснений. В рамках ра- существенно увеличить стабильность
рационная система Windows боты файловой системы транзакцион- работы как приложений, так и системы
Server 2008 содержит целый ряд ность означает целостность выполне- в целом. Еще одним дополнительным
новых интересных функций, об одной ния операций с файлами. Другими сло- преимуществом TxF является возмож-
из которых я хочу рассказать в этой вами, в любой момент времени состо- ность дальнейшей доработки и усо-
статье. Файловая система является яние файловой системы всегда име- вершенствования данной технологии,
одним из ключевых элементов любой ет целостную структуру, то есть даже что позволит обеспечить ей дальней-
операционной системы, так как по су- при внезапном сбое питания на жест- шее развитие.
ти это фундамент, на котором строит- ком диске не будет ошибок, связан-
ся весь функционал ОС. В Windows ных с нарушением целостности фай- Область применения
Server 2008 таким фундаментом яв- лов, свойственных предыдущим верси- Приведя краткое пояснение о том,
ляется транзакционная файловая сис- ям файловой системы. А, как извест- что же из себя представляет тран-
тема. но, сбои при работе с системными фай- закционная файловая система, хоте-
Транзакционная файловая система лами могли привести к очень печаль- лось бы сказать несколько слов о том,
(TxF) – это расширение файловой сис- ным последствиям, вплоть до полной для каких задач предназначена дан-
темы NTFS, позволяющее выполнять потери данных. Транзакционная фай- ная технология и, что тоже немаловаж-
файловые операции над томом фай- ловая система использует для сво- но, для чего она не подходит. TxF бу-
ловой системы NTFS в рамках тран- ей работы транзакции, то есть закон- дет очень полезна при использова-
закций. Для читателей, не посвящен- ченные операции с файлами, что поз- нии на серверах, выполняющих час-
ных в специфику работы с базами дан- воляет добиться вышеупомянутой це- тые операции по изменению файлов.
ных, слово «транзакция» может пока- лостности файловой системы. Таким Например, на серверах баз данных
заться непонятным и требующим до- образом, функционал TxF позволяет или файловых хранилищах. На таких
24
администрирование
серверах частые обращения к фай- пользования транзакционной файло- В качестве одного из парамет-
лам в многопользовательском режи- вой системы – обновление файлов ров при вызове перечисленных выше
ме могут привести к потере данных при на группе компьютеров. функций указывается ссылка на тран-
сбое электропитания, TxF поможет из- закцию, в рамках которой выполняет-
бежать данной проблемы. Операции над файлами, ся данная операция. Транзакция может
Теперь о том, что не поддержива- поддерживаемые TxF быть создана либо вызовом функции
ется. TxF не поддерживает сетевые Сжатие. Если вы сжимаете файл, то CreateTransaction при использовании
диски (протоколы CIFS/SMB), также операция по сжатию файла не явля- Kernel Transaction Manager или функ-
не поддерживается кэширование фай- ется транзакционной. Но TxF будет ра- ции GetKTMHandle при использова-
ловых операций на стороне клиента. ботать со сжатым файлом, так же как нии DTC.
Нельзя использовать TxF при рабо- и с обычным. Появление транзакционной фай-
те с файловыми системами, отличны- При создании новых файлов или ка- ловой системы привело к внесению
ми от NTFS (к FAT32 это тоже относит- талогов доступ к создаваемому файло- ряда изменений в работу некото-
ся!). TxF не поддерживает операции вому ресурсу блокируется для других рых функций, например, CloseHandle,
над зашифрованной файловой систе- транзакций. И если в то же самое вре- CreateFilemapping, FindNextFile и дру-
мой (Encrypted File System, EFS) за ис- мя другая транзакция попытается соз- гих. Последовательность действий
ключением операций чтения (напри- дать ресурс с таким же именем, то она при транзакционной работе с фай-
мер, ReadEncryptedFileRaw). получит сообщение о конфликте: ловой системой может быть следу-
ERROR_TRANSACTIONAL_CONFLICT, ющей:
Технический функционал и завершится с ошибкой. n создание транзакций на уровне
Продолжая разговор о транзакцион- Работа с удаляемыми файлами ядра:
ной файловой системе, немного углу- и каталогами TxF осуществляется сле-
бимся в технические аспекты ее функ- дующим образом. Файл будет удален IntPtr tx = CreateTransaction ↵
(IntPtr.Zero, ↵
ционирования. Итак, реализация TxF только тогда, когда работу с ним за- IntPtr.Zero,0,0,0,0, null);
стала возможной благодаря новой вершат все транзакции. При удале-
транзакционной инфраструктуре, ре- нии каталогов доступ к его содержи- n транзакционное удаление файла:
ализованной на уровне ядра опера- мому блокируется для доступа всех
ционной системы, позволяющей сер- транзакций. If (!DeleteFileTransactedW ↵
(file1, tx))
висам ОС участвовать в транзакци- А вот если вы вносите изменения
ях, используя новый компонент – ме- в файл внутри каталога, то доступ к ка- n завершение транзакции при ус-
неджер транзакций Kernel Transaction талогу не блокируется для других тран- пешном выполнении предыдуще-
Manager (KTM). Тут следует отметить, закций, и они могут вносить любые из- го пункта:
что KTM может взаимодействовать на- менения в каталог, но не в изменяемый
прямую со службой Microsoft Distributed файл, так как доступ к нему блокиру- CommitTransaction(tx);
Transaction Coordinator (DTC), которая ется на время изменений.
управляет транзакциями операцион- Что касается административных за- n откат транзакции при ошибке:
ной системы и приложений. Это так- дач, то на этом их описание завершает-
же позволяет существенно увеличить ся, оставшаяся часть статьи будет ин- RollBackTransaction(tx);
функционал TxF. Помимо этого в обес- тересна преимущественно програм-
печении функционирования транзак- мистам и разработчикам, так как речь n закрытие ссылки на транзакцию:
ционной файловой системы задейс- пойдет о программировании TxF.
твована подсистема протоколирова- Вот список функций используе- CloseHandle(tx);
ния Common Log File System (CLFS), мых в TxF.
впервые реализованная в Microsoft n CopyFileTransacted; На этом я завершаю свое крат-
Windows Server 2003 R2. n CreateDirectoryTransacted; кое описание транзакционной файло-
За счет того, что TxF способ- n CreateFileTransacted; вой системы Transactional NTFS. Ду-
на полностью взаимодействовать n CreateHardLinkTransacted; маю, что появление новой файловой
с MS Distributed Transaction Coordinator, n CreateSymbolicLinkTransacted; системы будет полезно не только раз-
она имеет возможность участвовать n DeleteFileTransacted; работчикам, но также и администра-
в транзакциях, использующих не толь- n FindFirstFileNameTransactedW; торам, так как позволит повысить на-
ко менеджеры ресурсов, предостав- n FindFirstFileTransacted; дежность работы корпоративных ре-
ляемые Kernel Transaction Manager, n FindFirstStreamTransactedW; сурсов в целом.
но и другие менеджеры ресурсов, под- n GetCompressedFileSizeTransacted;
держиваемые на уровне DTC. Напри- n GetFileAttributesTransacted; 1. Алексей Федоров «Microsoft Windows
мер, система документооборота мо- n GetFullPathNameTransacted; Server 2008. Краткий обзор ключевых
жет использовать эту возможность n GetLongPathNameTransacted; новинок».
для работы как с файловой системой, n MoveFileTransacted; 2. http://msdn.microsoft.com/en-us/library/
так и с базой данных и все в рамках n RemoveDirectoryTransacted; bb968806(VS.85).aspx – раздел MSDN,
одной транзакции. Другой пример ис- n SetFileAttributesTransacted. посвященный Transactional NTFS.
Шлюз в Интернет
на ComixWall ISG
Сергей Яремчук
Использование специализированных дистрибутивов для организации доступа в Интернет
нельзя назвать чем-то особенным. Выбор только за решением. Сегодня познакомимся
с возможностями ComixWall ISG.
С
пециализированные решения поэтому дистрибутив ComixWall ISG для создания шлюзов безопасности,
в отличие от применения обыч- (Internet Security Gateway), появившись защищающих SOHO-сети и способ-
ных интересны тем, что позво- в июне 2006 года, сразу привлек к се- ное составить конкуренцию многим
ляют получить нужный результат с ми- бе внимание. ComixWall [1] построен коммерческим продуктам.
нимальными усилиями и за более ко- на OpenBSD, которая считается самой Интерфейс управления ComixWall
роткий срок. Большая часть дистри- безопасной системой, что и послужило распространяется по BSD-лицензии,
бутивов, построенных на Linux или определяющим фактором при ее выбо- по этой же лицензии распространя-
одной из версий BSD-системы, име- ре разработчиками в качестве основы. ются операционная система и отдель-
ют удобные инструменты для пост-ин- Номер ComixWall соответствует номе- ные пакеты. Часть пакетов, входящих
сталляционной настройки, нетребова- ру того релиза OpenBSD, на котором он в состав дистрибутива, имеет GNU
тельны к ресурсам и распространяют- построен, поэтому начальная версия GPL-лицензию.
ся по свободной лицензии. Это дела- сразу же получила цифру 3.9. Назва-
ет их востребованными в небольших ние Comix произошло из комбинации Возможности ComixWall
организациях, не имеющих штатных английских слов COMmunication и unIX. Актуальной на момент написания ста-
специалистов. Особо подчеркивается, что ComixWall тьи была версия 4.2 от декабря 2007 го-
Дистрибутивов, построенных на не является еще одним межсетевым да, с обновлением в январе 2008 го-
Linux, несколько больше, чем на иных экраном, которых сегодня предоста- да (ComixWall 4.2_20080109). Следу-
платформах. Решения, использую- точно, и удивить ими, наверное, уже ет заметить, что сами разработчики
щие в качестве основы другие вари- никого нельзя. Разработчики позици- первые релизы пока еще считают про-
анты UNIX-систем, можно пересчи- онируют его как законченное UTM-ре- бными (Proof of Concept), больше ори-
тать буквально по пальцам. Наверное, шение (см. врезку), предназначенное ентированными на специалистов, чем
26
администрирование
на широкое применение. Хотя учиты-
вая, что работают они стабильно, серь-
езных недостатков за пару лет обнару-
жено не было, поэтому ничто не меша-
ет их использовать для защиты сети.
Дистрибутив включает в себя пол-
ный спектр самого разнообразного
программного обеспечения, обеспе-
чивающего:
n функцию фильтрации пакетов при
помощи pf, входящего в состав
OpenBSD;
n антивирусную защиту с ClamAV
с автоматическим обновлением
при помощи freshclam;
n систему обнаружения атак Snort
с обновлением правил oinkmaster; Рисунок 1. После установки системы последует инсталляция ComixWall
n контентный веб - фильтр Dans
Guardian с проверкой трафика ние будущих версий: антивирусной ко для amd64, так как разработчики
при помощи ClamAV; проверки FTP- и IM-трафика, а также по праву считали, что 64-битные сис-
n анти-спам фильтры SpamAssassin IMAP-прокси с антивирусной и анти- темы имеют ряд преимуществ перед
и spamd; спам защитой. 32-битными и сделали ставку на бо-
n P3scan и smtp-gated антивирусные Эту информацию по дистрибутиву лее высокопроизводительное реше-
и анти-спам почтовые прокси; можно получить на сайте проекта [1] ние. Затем уже по многочисленным
n прокси Dante (SOCKS), Squid (HTTP), и странице на Google Code [2], теперь просьбам пользователей появился ре-
ftp-proxy, IMSpector (IM-прокси же познакомимся с ComixWall ближе. лиз под i386.
с поддержкой Jabber/XMPP, MSN, Кроме дистрибутива, советую ска-
IRC, Yahoo и других); Установка ComixWall чать и документ System Administration
n серверы: Apache, DNS, DHCP Дистрибутив доступен в двух версиях – Guide (SAG), который поможет быстрее
и OpenSSH. для платформ i386 и amd64. Загруз- сориентироваться в настройках. К тому
ка возможна только через BitTorrent. же он, как и другие документы, впол-
И некоторые другие приложения, Размер дистрибутива чуть больше не может пригодиться. Как сказано
в том числе предназначенные для сбо- 140 Мб, для установки которого тре- в документации, установка ComixWall
ра и вывода разного рода статистики. буется не менее 650 Мб свободного это: «is the usual OpenBSD installation»,
Все настройки могут быть произведе- места на диске. Кстати, в первое вре- то есть обычная установка OpenBSD.
ны стандартным способом из команд- мя версия 4.2 была доступна толь- Поэтому опыт в инсталляции этой сис-
ной строки. Начиная с версии 4.0b по-
явился веб-интерфейс, написанный
на PHP. Использование gettext позво-
ляет легко перевести его на другие
языки. Хотя в настоящее время их не-
много, доступны только английский,
испанский и турецкий варианты. Кро-
ме базовых сетевых установок, с его
помощью можно настроить правила
пакетного фильтра и сервисов, вхо-
дящих в комплект, производить мо-
ниторинг основных системных пара-
метров и загрузки сети и многое дру-
гое. Плюс при помощи веб-интерфей-
са можно получить доступ к man-стра-
ницам и другой документации.
Некоторые возможности (VPN,
VLAN, CARP, SNMP) пока настраива-
ются только из командной строки. Воз-
можность их конфигурирования через
веб-интерфейс планируется добавить
уже в следующих релизах. Кроме это-
го, в планах разработчиков добавле- Рисунок 2. Окно ComixWall Administration Interface
28
администрирование
настройки повторяется сначала. Про-
читав поздравления по окончании ус-
тановки, перезагружаем систему.
Веб-интерфейс
По умолчанию в системе заведено
две учетных записи, имеющих дос-
туп через веб-интерфейс: admin и user.
Пароль в обоих случаях одинаков –
wwwcomix. Пользователь с учетной
записью user получает доступ толь-
ко к статистике, ее может использо-
вать начальство для контроля. Доступ
из WAN блокируется правилом pf, по-
этому зайти можно только из LAN. Ес-
ли набрать адрес локального интер-
фейса, то в процессе подключения
встроенный DNS-сервер выдаст имя
узла. Работа осуществляется по про-
токолу HTTPS. Причем есть одна осо-
бенность. Если набрать http://lan_ip_
adress, то клиент будет перенаправлен
на https://hostname, но вот подключе-
ние почему-то блокируется. Хотя в до- Рисунок 4. Редактирование правил pf
кументации сказано, что это должно
срабатывать. Поэтому вариант толь- ретным модулем, входящим в состав в первом окне, которое появится пос-
ко один – https://lan_ip_adress. Далее системы (см. рис. 2). Последнее ме- ле регистрации в системе (см. рис. 2).
принимаем сертификат и регистриру- ню Information содержит ссылки на до- Правила pf по умолчанию разрешают
емся в системе. кументацию, man-страницы и ссылки работу по основным протоколам (веб,
Если по удобс тву ус танов- на сайты связанных проектов. Под ос- ftp, почтовый) из внутренней сети, по-
ки ComixWall проигрывает тому же новным меню находится небольшая этому ComixWall готов к работе сразу
pfSense, то по возможностям веб-ин- панель, в которой выводятся показа- после установки.
терфейса (ComixWall Administration ния температурных сенсоров (если
Interface) он выходит далеко вперед. они есть). После выбора пункта в ос- Заключение
Я считаю, это одна из сильных сторон новном меню, вверху страницы, бу- На сегодняшний день ComixWall не вы-
этого дистрибутива. Еще одна важная дет доступно дополнительное меню, глядит простым в освоении решением
особенность веб-интерфейса – отсутс- соответствующее выбранному моду- и вряд ли подойдет новичкам. Но на-
твие промежуточных файлов с мета- лю. Для каждого пункта они отлича- личие множества предустановленных
данными, которые часто используют- ются, но обычно присутствует пункт сервисов и веб-интерфейса, упроща-
ся в подобных решениях для генера- Info, в котором можно получить об- ющего их настройку, будет оценено
ции окончательных конфигурационных щую информацию, Graphs – графики, опытными администраторами, кото-
файлов. Поэтому можно без проблем Logs – журналы, Configs – настрой- рым требуется удобная, понятная, бе-
производить параллельную настрой- ки. Для PF, например, есть еще пункт зопасная, многофункциональная и лег-
ку, как в командной строке, так и че- Statistic (см. рис. 3), в котором нагляд- ко обновляемая система, при помощи
рез веб-интерфейс. но показана статистика работы пакет- которой можно быстро развернуть за-
Даже несмотря на наличие большо- ного фильтра и Rules – настройка пра- щитный бастион.
го количества функций, все настрой- вил. Редактирование любого парамет-
ки находятся именно там, где ожида- ра для человека, представляющего ко- 1. Сай т проек та ComixWall – ht tp://
ешь их увидеть. В 96-страничном ру- нечный результат, не выглядит слож- comixwall.org.
ководстве установке посвящено всего ным (см. рис. 4). Доступны подсказки, 2. Страница проекта на Google Code –
10 страниц (плюс ссылка на докумен- различные меню и списки предлагают http://code.google.com/p/comixwall.
тацию OpenBSD) все остальное отно- предустановленные значения. В ана- 3. OpenBSD 4.3 Installation Guide – http://
сится к работе с веб-интерфейсом, по- лизе журналов поможет система филь- openbsd.org/faq/faq4.html.
этому рассказать о его возможностях тров. Для графиков можно выбрать 4. Ус тан о в ка OpenBSD 4. 2 – ht tp: //
на странице журнала невозможно. временной промежуток и вид. www.lissyara.su/?id=1589.
Зрительно интерфейс разбит на три По умолчанию все дополнитель- 5. Яремчук С. Дистрибутив для создания
части. Слева находится основное ме- ные сервисы, кроме антиспам-филь- межсетевого экрана pfSense. //Сис-
ню настроек, состоящее из 17 пунк- тра для входящих сообщений, включе- темный администратор, № 2, 2008 г. –
тов отвечающих за работу с конк- ны, о чем будет выведена информация C. 8‑21.
Павел Закляков
Установка Linux на ноутбук проходила с трудом, сначала дистрибутив не хотел
грузиться, потом Wi-Fi-адаптер не был подхвачен автоматически. Упорное желание
установить беспроводную связь в конечном итоге привело к положительному результату.
В статье рассказывается одна история такой установки с подробным описанием всех
проделанных шагов.
Р
егулярно общаясь с добрым де- пора заменить чем-то современным чему не противоречит. Проблема в том,
сятком людей, разбирающихся 256 Мб памяти, диск в 20 Гб и обычный что покупателям не позволяют сделать
в технике, я заметил, что ни у од- СD-ROM, даже непишущий. честный выбор, что покупать. Если из-
ного из них нет ноутбука с Linux, хо- начально люди, владеющие компью-
тя практически все время от времени Покупка ноутбука терами, вызывали уважение, так как
имеют дело с этой операционной сис- Найти подходящий ноутбук на замену им надо было не только этот компью-
темой, а кто-то только и занимается её оказалось непросто. Все люди по сво- тер купить вместе с программами, но и
администрированием. Лишь у двух че- ей природе ленивы, и я в том числе. суметь его настроить, то сейчас такого
ловек на компьютере имелся эмулятор Проблема в том, что производители глубокого уважения нет, так как поль-
VMware, под которым у них был образ коммерческих операционных систем зователь может совсем не знать, как
Linux-машины на всякий случай. делают на этой слабости деньги, пред- устроено то, чем он пользуется.
Вполне возможно, что использо- лагая компьютеры с уже установлен- Цель моей статьи – показать, что
вание SSH-клиента PuTTY и подклю- ной системой. Так как большая часть не тот круче, у кого ноутбук дороже,
чение к Интернету позволяют им ре- покупателей не специалисты, то их ус- так как я могу себе позволить купить
шать все свои проблемы без установки траивает такая практика, когда цена любой продающийся, в пределах ра-
этой операционной системы на ноутбу- за операционную систему включает- зумного, как и добрая половина ад-
ках, а с графической средой X-Window ся в общую стоимость покупки, а сами министраторов, а тот, кто в него душу
они просто не работают. Также интере- покупатели избегают возможных проб- вложил и что-то сделал сам.
сен факт, что большая часть неплохих лем. Но мы-то знаем, что бесплатный А чтобы привлечь читателей к дейс-
специалистов, использующих Linux на сыр бывает в мышеловке. У всех одна твию, я постараюсь описать все те про-
своих настольных системах, ничего не система, не надо переучиваться, на- блемы, с которыми столкнулся, и ре-
знают о настройке Wi-Fi. лицо только польза. А в том‑то и дело, шить их с точки зрения наименьшего
Именно эти факты и сподвигли ме- что господа маркетологи отучают лю- сопротивления. Вполне возможно, что
ня написать статью. В отличие от сво- дей думать. Нет, это не значит, что они у вас будет другая модель или дистри-
их «собратьев-админов», пытающихся плохие, они-то как раз очень хорошо бутив, но общие принципы и подходы
сидеть на двух стульях, то есть исполь- справляются со своей работой, думая могут оказаться полезными и вам.
зовать две операционные системы вы- за других. Благодаря их работе в обще- У каждого на примете будет своя
шеописанным образом, я решил уйти стве поощряется другая система цен- модель, мне же подходящую выбирать
от этой порочной практики. ностей, что, на мой взгляд, неправиль- долго не пришлось. Число продающих-
Ноутбук был у меня и ранее, но, ког- но. «Думать по жизни» становится уде- ся моделей без операционной системы
да в начале лета я не смог настроить лом немногих и не модно. На что толь- Windows и одновременно имеющихся
нужную мне программу, так как готово- ко не идёт капитализм ради получения в наличии было не так велико, поэто-
го пакета не было, а исходники не хоте- сверхприбыли! По законам РФ, как и му мой выбор пал на Asus X51RL с про-
ли компилироваться, в голове прозву- с точки зрения здравой логики запре- цессором M540 1,86 ГГц, 2048 Мб па-
чала фраза моей знакомой «Нет шага тить их работу нельзя, как и нельзя ос- мяти, жёстким диском 160 Гб, видео-
вперёд, значит, есть шаг назад». От- тановить прогресс в целом. Деятель- картой ATI Radeon Xpress 1100, при-
ступать я не привык, поэтому, оценив ность фирмы, предлагающей купить водом DVD-SuperMulti DL, Wi-Fi-адап-
свои усилия и пожелания, я решил, что что-то (например, тот же ноутбук), ни- тером (Atheros ARBXB63 (AR5BXB63,
30
администрирование
AR5007EG), встроенным считывате- Что интересно, подоб-
лем SD-карт и установленной систе- ное решение помогает и не-
мой FreeDOS. которым настольным систе-
мам, где используются жёс-
Выбор дистрибутива ткие диски SATA.
Мною был выбран дистрибутив Linux В дальнейшем установ-
Fedora 8, как давно уже использую- ка прошла без проблем. Ав-
щийся и проверенный временем, об- томатически была обнару-
Рисунок 1. Зависание на этапе загрузки, после
новления к нему ещё выходят и бу- жена сетевая карта, звуко- надписи «Ready.»
дут выходить, так что недавний выход вая и даже считыватель карт
Fedora 9 меня не вдохновил. SD HC заработал. Единственное, что и на большой микросхеме прочитал
не заработало, – это поддержка Wi-Fi. Atheros AR2425 (см. рис. 7).
Проблема загрузки Примечание. Если вы не не ра-
Первая проблема, с которой я столк- Проблемы с Wi-Fi диолюбитель, не очень аккуратны
нулся: вставил диск c Fedora 8, начи- На подключение Wi-Fi ушло недели две и не уверены в себе, то лучше не раз-
наю установку, запускается меню, пос- экспериментов по вечерам, но для чи- бирать ноутбук, а обойтись коман-
ле грузится ядро, подключается образ тателей этот путь будет пройден гораз- дой lspci и базой кодов оборудования,
виртуального диска, пишет «Ready.» до быстрее. Первым делом я решил уз- так как разборка может не только ли-
и виснет (см. рис. 1). нать, какой у меня стоит Wi-Fi-чипсет. шить вас гарантии, но и привести но-
Осознавая, что наступает век 64- Так как программы могут ошибаться, утбук в нерабочее состояние. Не забы-
битных процессоров с обратной сов- я решил узнать это физически, для че- вайте про статическое электричество,
местимостью, у меня закралось подоз- го перевернул ноутбук и осмотрел его заземляйтесь!
рение, что по закону подлости её как на предмет гарантийных наклеек. На- После на сайте www.atheros.com
раз и нет. Скачав и записав на диск клеек обнаружено не было, а наклей- я выяснил, что это адаптер AR5007EG
Fedora 8 (64-битная версия), я столк- ка, указывающая тип Atheros ARBXB63 [8] и фотография в описании очень
нулся с той же самой проблемой – за- (см. рис. 3), мне не помогла ничем, по- похожа на ту, что у меня. После че-
висание процесса установки на этапе этому, вооружившись отвёрткой, я ак- го я отправился по адресу проекта
распаковки ядра. Казалось бы, дело куратно отвинтил 7 винтов (см. рис. 4) MadWifi [2], так как это неплохой про-
зашло в тупик. Возвращать ноутбук и снял крышку. Под крышкой я увидел ект по поддержке беспроводных сете-
на фирму не хотелось, да и в собствен- процессор, модули памяти и модуль вых адаптеров Wi-Fi под Linux на базе
ных глазах это выглядело бы непра- Wi‑Fi (см. рис. 5). чипсетов Atheros. К сожалению, уста-
вильно. Прийти ремонтировать «же- Так как надписи на модули не смог- новка через:
лезо» по гарантии – вдруг там ошиб- ли прояснить ситуацию, я вытащил
ка, надо знать на что пожаловаться. модуль из разъёма. Обратная сто- # yum install madwifi
Желая протестировать подозритель- рона оказалась более информатив-
ное железо, порывшись у себя на сто- ной – это был AzureWave адаптер AW- не прошла, так как для madwifi нужна
ле, я обнаружил какой-то древний GE780 (см. рис. 6), но для меня этой была новая версия ядра 2.6.25.6‑27.fc8,
дистрибутив Knoppix, который возьми информации оказалось мало, поэтому а в репозитариях livna и других оно ещё
и заработай. Заодно с него проверил я снял экранирующую крышку с платы не присутствовало. Позже вышла но-
память с помощью memtest86 – сбоев
нет. Данная ситуация меня вдохнови-
ла, после чего я быстро раздобыл дист-
рибутив «Fedora 9 beta 64 bit», который
на волне удач тоже заработал и начал
ставиться, не зависая на этапе распа-
ковки ядра.
Перебирая в голове способы на-
иболее простого объединения двух ус-
тановочных дисков в один – загрузчика
и ядра с одной и всей системы с дру-
гой – и не найдя простого решения,
я и моя лень стали искать в Интернете
подобные случаи. И, надо сказать, пра-
вильно сделали – нашли выход.
Оказалось, что на сайте Red Hat
есть Bug №239585 [1], из которого ста-
ло ясно, что во время загрузки ядру на-
до передать параметр «edd=skipmbr»
(см. рис. 2). Рисунок 2. Передача параметров ядру во время загрузки
32
администрирование
где в разных местах обсуждались про- ной цели мне удалось узнать несколь-
блемы подключения Atheros серий ко интересных вещей, а именно...
AR5005, AR5006, AR5007.
Было найдено несколько решений Интересное
по поддержке работы адаптера: В моём ноутбуке есть индикатор Wi‑Fi,
n использовать специальную сборку который, как выяснилось, работает ав-
madwifi; тономно. Свечение индикатора мож-
n наложить patch на ядро и исполь- но включать (если при загрузке ядра
зовать драйвер ath5k; есть поддержка asus-laptop, см. вывод
n использовать NDISwrappers. dmesg) командой:
Михаил Кондрин
Рассмотрим конфигурирование, архитектуру и первоначальную настройку jabberd2.
История и предыстория кальных университетских (в том же Сам протокол Jabber начал разра-
Проект Athena, запущенный в Масса- MIT, например) сетях продолжается батываться в конце 90-х годов Джере-
чусетском технологическом институте вплоть до настоящего времени. Глав- ми Миллером (Jeremie Miller), в качест-
в середине 80-х годов, имевший сво- ным фактором, работающим в поль- ве альтернативы закрытого протокола
ей целью создание распределенно- зу Zephyr, была его тесная интегра- ICQ. В отличие от централизованного
го вычислительного окружения, ока- ция с другой разработкой, возникшей сервиса ICQ Jabber представляет со-
зал сильное воздействие на развитие в рамках проекта Athena, – системой бой распределенную систему, чем-то
компьютерных технологий того вре- удаленной аутентификации пользова- напоминающую электронную почту.
мени. Фактически, в эпоху мэйнфрей- телей Kerberos. Поскольку Zephyr рабо- То есть на сервере предприятия мож-
мов и терминалов, это был первый при- тает в закрытом окружении (универси- но установить свой собственный сер-
мер «сетевого окружения» в том виде, тете или предприятии), с определен- вер JABBER, так что локальные поль-
как его представляют сейчас. Среди ным кругом пользователей (сотрудни- зователи, подключаясь к нему, могут
прочего авторам проекта в процессе ки и/или студенты), особенно в том слу- обмениваться сообщениями как внут-
работы пришлось решить и такую за- чае, когда их учетные записи и так уже ри предприятия, так и с внешним ми-
дачу, как замены утилиты talk, которая хранятся в базе данных Kerberos, то та- ром, в смысле – другими серверами
позволяла передавать короткие сооб- кая система предоставляет, с одной JABBER. Отличительной особеннос-
щения между терминалами, подклю- стороны, большее удобство исполь- тью протокола является его расширя-
ченными к рабочей станции. По мере зования сервиса, за счёт развертыва- емость и использование XML-форма-
разработки этой проблемы возникла ния single-sign-on, а с другой, позволя- та для передачи данных. Поскольку
идея создания протокола Zephyr, кото- ет однозначно устанавливать идентич- протокол возник сравнительно позд-
рый одновременно решал бы две за- ность пользователей. но, то в нём, по крайней мере во вто-
дачи – обмен сообщениями и инфор- Поскольку протокол Zephyr оста- рой редакции 2003 года, предусмотре-
мирование о наличии нужного пользо- вался практически замороженным на поддержка прослойки SASL (Simple
вателя за компьютером. Таким обра- довольно долгое время, то в нем по- Authentication Security Layer), средс-
зом, этот протокол оказался не толь- прежнему использовался старый ва- твами которой к нему можно подклю-
ко одним из первых (вместе с IRC – риант протокола Kerberos4, от кото- чать различные модули аутентифи-
Internet Relay Chat) протоколов мгно- рого в последнее время начали отка- кации, в том числе и Kerberos. Специ-
венного обмена сообщениями (Instant зываться, что заставляет пользовате- фикации протокола состоят из двух
Messaging/IM), но и во многом воспро- лей и администраторов искать альтер- RFC 3920-3921, которые описыва-
изводил архитектуру, впоследствии нативные системы обмена сообщени- ют ядро протокола (Core), и доволь-
использованную в протоколе Jabber ями. (Хотя, по слухам, в Университе- но обширного числа так называемых
(XMPP – eXtensible Message Passing те штата Айова используется вариант XEP (XMPP Extension Protocols), кото-
and Presence Protocol). Zephyr с поддержкой Kerberos5, но ис- рые определяют расширения базово-
Хотя Zephyr было далеко до попу- ходный код этой системы в свободном го протокола. В настоящее время су-
лярности, сравнимой с популярностью доступе я найти так и не смог.) Наибо- ществует несколько реализаций сер-
появившегося гораздо позже прото- лее подходящим, в смысле возможнос- веров Jabber, однако пока что ни один
кола ICQ, но сам по себе он оказался ти его конфигурирования, таким обра- из них не поддерживает весь набор
довольно удачным, и его использова- зом, чтобы максимально напоминать XEP. Во-первых, это ejabber, напи-
ние в немодифицированном виде в ло- Zephyr, явлется Jabber/XMPP. санный на языке erlang и популярный
34
администрирование
в России из-за своей русской коман-
ды разработчиков, во‑вторых, напи- Небольшое отступление тимости с этим механизмом, на самом деле,
санный на Java и рассчитанный на ис- По умолчанию jabberd2 использует GNU- это решение было вызвано непониманием
пользование в корпоративных сетях версию библиотеки SASL – gsasl[5]. Это ре- работы SASL с так называемым security
OpenFire, а также два jabberd – 1.4.x шение было принято основным руководи- layers. Грубо говоря, security layer позволя-
и 2.x, оба написанных на С. Несмот- телем проекта Томашем Стерной (Tomasz ют шифровать траффик между клиентом
ря на сходство названий, jabberd 1.4.x Sterna) примерно год назад. На мой взгляд, и сервером, если они поддерживают опре-
и jabberd2 – это два независимых про- это было серьезной ошибкой. Помимо то- деленные механизмы SASL. В настоящее
екта, которые развивались парал- го, что оно спровоцировало уход из проек- время gsasl, в отличие от cyrus-sasl, не име-
лельно первоначальной справочной та Саймона Уилкинсона (Simon Wilkinson), ет такой функциональности, так что в дан-
реализации (reference implementation) который достоин отдельного упомина- ном случае мы видим просто один из при-
сервера jabberd, выполненной самим ния за включение в jabberd2 поддержки меров лечения головной боли радикаль-
Джереми Миллером. GSSAPI, а также тестирование и усовер- ными средствами.
Хотя каждый из этих серверов шенствование jabber-клиентов для совмес-
имеет свои достоинства, но в данной
статье будет рассмотрен именно jabberd2, по причине сво- комендуется использовать последние версии Heimdal, на-
ей нетребовательности к ресурсам, относительной про- пример 1.1, поскольку в более ранних версиях была допу-
стоты настройки, полной поддержки SASL, а также воз- щена досадная ошибка взаимодействия с SASL, которая
можности использования его без необходимости установ- делала аутентификацию в jabber невозможной.
ки специализированных серверов баз данных, что также После развертывания пакета с исходными текстами
в значительной степени упрощает его администрирова- jabberd2 его нужно сконфигурировать, запустив в его до-
ние. В истории самого проекта было несколько сложных машнем каталоге команду:
моментов, когда, например, в начале 2005 года был пол-
ностью утрачен репозиторий исходных кодов, которые за- ./configure --prefix=/usr --sysconfdir=/etc/jabberd ↵
--enable-db --with-sasl=cyrus --enable-debug
тем пришлось восстанавливать с нуля. В конце того же го-
да он претерпел полное обновление команды разработчи- В этом случае активируется использование хранили-
ков. Однако в настоящий момент проект динамично разви- ща баз данных BerkeleyDB, включается поддержка cyrus-
вается, и к самому серьезному его недостатку можно от- sasl и предусматривается вывод отладочной информации.
нести практически полное отсутствие документации, а от- Однако перед тем как выполнить уже привычные команды
дельные руководства, встречающиеся в сети, уже устаре- make и maker install, необходимо совершить еще одно дейст-
ли и иногда даже противоречат тому, что имеется в насто- вие, чтобы активировать поддержку cyrus-sasl, а именно за-
ящее время. Частично данная статья и имеет своей целью комментировать одну строку с указаниями компилятору:
восполнить этот пробел.
Собственно, после этого довольно долгого вступления sed -ir 's/^#define fnmatch/\/\/#define fnmatch/' config.h
sed -ir 's/^#error Cyrus SASL/\/\/#error Cyrus SASL/' ↵
можно сформулировать наше техническое задание к сер- sx/cyrus_sasl.c
веру Jabber, реализация которого и будет описана в дан-
ной статье. В первую очередь мы потребуем использование После чего сборка и установка программного пакета долж-
учетных записей пользователей, хранящихся в базе дан- ны пройти без помех.
ных Kerberos, и наличия как обычного текстового парольно- Как уже говорилось, функциональность, связанная
го входа, так и с помощью сертификатов Kerberos, а также с поддержкой в jabberd2 многопользовательских конферен-
хранение всех авторизационных и дополнительных данных, ций (Multi User/MU-confernce), вынесена в отдельный проект.
необходимых для работы сервера, в локальных дисковых Исходный код этого компонента можно получить со стра-
базах данных (для управления которыми будет использо- ницы [6], распаковать, скомпилировать командой make
вана библиотека BerkeleyDB). Также дополнительным тре- и для единообразия переместить полученный в итоге ис-
бованием будет поддержка сервером многопользователь- полняемый файл mu-conference в директорию, где лежат ос-
ских конференций, которая для jabberd2 реализована в ви- тальные компоненты jabberd2 (в нашем случае /usr/bin). Воп-
де отдельного проекта. реки сведениям различных руководств, которые можно най-
ти в Интернете, специально компилировать так называемую
Кoмпиляция и сборка JCR, среду запуска компонентов jabberd2 не нужно, для пос-
Перед сборкой jabberd2, который можно скачать с их офи- ледней версии mu-conference (0.7) она не требуется.
циальной страницы [1], следует убедиться, что у вас в систе- Собственно говоря, после этого можно приступать
ме установлены библиотеки cyrus-sasl [2] и настроен сектор к конфигурированию jabberd2, но вначале стоит взглянуть
Kerberos, например, с помощью Heimdal Kerberos [3]. Если на то, что же мы в итоге получили, и на внутреннее уст-
нет, то вам лучше начать с их настройки, которая описана ройство jabberd2.
в статьях [4], поскольку дальнейшие действия будут сильно
зависеть от работоспособности этих двух библиотек. Также Конфигурирование и архитектура
новые версии jabberd2 требуют наличия системной библио- jabberd2
теки glibc версии не ниже 2.3.6, из-за неправильной реали- При создании jabberd2 авторы стремились сделать его мак-
зации функции fnmatch в более ранних версиях. Также ре- симально модульным и расширяемым, с тем чтобы заяв-
<router> <resolver>
<id>router</id> <id>resolver</id>
<pidfile>/var/jabberd/pid/router.pid</pidfile> <pidfile>/var/jabberd/pid/resolver.pid</pidfile>
<log type='syslog'> <log type='syslog'>
<ident>jabberd/router</ident> <ident>jabberd/resolver</ident>
<facility>local3</facility> <facility>local3</facility>
</log> </log>
<local> <router>
<ip>127.0.0.1</ip> <ip>127.0.0.1</ip>
<port>5347</port> <port>5347</port>
<user> <user>jabberd</user>
<name>jabberd</name> <pass>change-me</pass>
<secret>change-me</secret> </router>
</user> <lookup>
<secret>change-me-too</secret> <srv>_xmpp-server._tcp</srv>
36
администрирование
<srv>_jabber._tcp</srv> <path>/usr/lib/jabberd</path>
</lookup> <module>db</module>
</resolver> <db>
<path>/var/jabberd/db</path>
</db>
Блок router указывает адрес и порт, который прослуши- <mechanisms>
вает router, а также имя пользователя и пароль, необходи- <traditional/>
<sasl>
мые для подключения к нему (те же самые, что и в секции <plain/>
local файла router.xml). <gssapi/>
</sasl>
Вообще-то говоря, протокол XMPP состоит из двух пото- </mechanisms>
ков данных, привязанных к разным сетевым портам: один </authreg>
</c2s>
между клиентом и сервером, а второй между двумя серве-
рами. Как раз за обработку второго потока данных отвеча-
ет компонент s2s. Настройка его достаточно проста: Обратите внимание на тег id в блоке local. В качестве его
значения необходимо указывать не имя вашего jabber-сер-
<s2s> вера, а доменное имя, иначе у вас гарантированно возник-
<id>s2s</id>
<pidfile>/var/jabberd/pid/s2s.pid</pidfile> нут проблемы с аутентификацией пользователей. Факти-
<log type='syslog'> чески то же самое имя, набранное большими буквами, мож-
<ident>jabberd/s2s</ident>
<facility>local3</facility> но указать в атрибуте realm, оставленного для тех редких
</log> случаев, когда имя домена и сектора (SASL или Kerberos)
<router>
<ip>127.0.0.1</ip> не совпадают. Заметьте также, что атрибут register-enable,
<port>5347</port> обычно рекомендуемый в руководствах, отсутствует. Собст-
<user>jabberd</user>
<pass>change-me</pass> венно говоря, это и понятно, мы не собираемся делать об-
</router> щедоступный jabber-сервер, а напротив, собираемся раз-
<local>
<ip>0.0.0.0</ip> решить к нему доступ только тем, кто уже зарегистрирован
<port>5269</port> в базе данных Kerberos. Однако это условие будет необхо-
<resolver>resolver</resolver>
</local> димым, но ещё не достаточным для подключения к серве-
</s2s> ру jabberd2. Дополнительным условием будет присутствие
соответствующей записи для пользователя в собственной
Блок local, также как и в случае router, определяет при- базе данных сервера jabberd2 – authreg. Собственно гово-
вязку к сетевому интерфейсу и порту. В данном случае ря, в данном случае происходит дублирование имен поль-
от компонента требуется, чтобы доступ к нему был открыт зователей из Kerberos, но внутреннее устройство серве-
извне, поэтому ip (0.0.0.0) указывает, что компонент исполь- ра jabberd2 не позволяет избежать этого. Как уже говори-
зует все доступные интерфейсы и привязян к стандартно- лось, чтобы не поднимать дополнительный сервер баз дан-
му порту 5269 (jabber-server). Также в этой секции указан ных, хранение всех данных jabberd2 будет производиться
идентификатор компонента resolver. в файловых базах BerkeleyDB (тэг module). В блоке db ука-
Пока что вся настройка не требует существенной прав- зан путь, где будут располагаться эти базы данных. Спи-
ки конфигурационных файлов, практически в каждом слу- сок поддерживаемых механизмов аутентификации собран
чае можно было бы обойтись минимальной переделкой в блоке mechanisms: там указаны как простые (traditional,
xml.dist из состава jabberd2. Более серьезная правка тре- осуществляемые со старыми спецификациями протокола
буется для двух других файлов, отвечающих стандартным jabber 1998 года, в нашем случае список пуст), так и более
компонентам jabberd2. новые механизмы SASL (sasl). В последнем случае, в соот-
За второй поток данных (между клиентом и сервером), ветствии с техническим заданием, разрешено использовать
а также аутентификацию реальных пользователей отвеча- как открытые текстовые пароли (plain), так и аутентифика-
ет компонент c2s. Так же, как и для компонента s2s, дос- цию средствами инфраструктуры Kerberos (gssapi).
туп к нему должен быть открыт по сети через порт 5222 Данные, которые получены компонентом c2s, поступа-
(jabber-client): ют на обработку модулю sm (Session Manager). Он имеет
наиболее объемный конфигурационный файл, поскольку
<c2s> для каждого из событий необходимо указать последова-
<id>c2s</id>
<pidfile>/var/jabberd/pid/c2s.pid</pidfile> тельность обработки полученных пакетов, в виде цепочки
<log type='syslog'> (chain) подгружаемых модулей. В приведенном ниже лис-
<ident>jabberd/c2s</ident>
<facility>local3</facility> тинге большая часть блока modules опущена, его можно
</log> будет восстановить из примеров, содержащихся в паке-
<router>
<ip>127.0.0.1</ip> те jabberd2.
<port>5347</port>
<user>jabberd</user> <sm>
<pass>change-me</pass> <id>myrealm.ru</id>
</router> <pidfile>/var/jabberd/pid/sm.pid</pidfile>
<local> <router>
<id realm='MYREALM.RU'>myrealm.ru</id> <ip>127.0.0.1</ip>
<ip>0.0.0.0</ip> <port>5347</port>
<port>5222</port> <user>jabberd</user>
</local> <pass>change-me</pass>
<authreg> </router>
Использование подгружаемых модулей является еще Атрибуты name и host лучше выбрать по принципу, ис-
одним дополнительным источником расширения функ- пользованному в данном примере, – "conference"+<имя до-
циональности сервера jabber2. Например, показанный мена> (с помощью настройки DNS это имя должно разре-
на диаграмме модуль mod_iq-vcard позволяет пользова- шаться в адрес jabber-сервера). Тэги ip, port и secret отно-
телям публиковать свои личные данные в виде электрон- сятся к компоненту router, причём в качестве пароля дол-
ных визитных карточек, а модуль mod_published-roster (ко- жен быть указан дополнительный пароль, применимый для
торый, кстати, появился в jabberd2 сравнительно недавно, старых компонентов. Все дискуссионные комнаты сделаны
благодаря усилиям русского разработчика Никиты Смир- постоянными (persistent), но создавать их может только ад-
нова) дает возможность администратору создавать на сер- министратор (roomlock). В качестве владельца/модератора
вере динамический список контактов, доступный всем конференций указан всё тот же root. Конференции журнали-
пользователям этого сервиса (внутри предприятия име- руются, причем данные хранятся в виде xml-файлов, кото-
ет смысл просто занести в этот список всех сотрудников). рые потом могут быть выложены в Интернете. Для их пред-
Показанная в листинге цепочка user-create просто добав- ставления используется стилевой файл style.css, образец
ляет в базу данных необходимые записи (при помощи мо- которого тоже можно найти в пакете mu-conference.
дуля mod_active) при первом подключении пользователя.
Админиcтратору ничего не мешает оптимизировать рабо- Создание списка пользователей
ту сервера, удаляя из цепочек «лишние» по его мнению и запуск
модули, как, например, в данном случае убран из цепочки Собственно, после создания конфигурационных файлов
user-create модуль mod_roster-template (во многом дубли- требуется решить ещё несколько административных задач –
рующий функциональность mod_published‑roster) или, на- создать системного пользователя, под которым будет ра-
пример, mod_disco-publish, аналогичный по функциональ- ботать сервер jabberd2, создать каталоги для хранения баз
ности mod_iq-vcard. При редактировании этого файла нуж- данных, настроить DNS и систему аутентификации. А также
но обратить внимание на тэг id – там должен быть указан написать скрипт, который будет запускать сервер jabberd2.
тот же домен, что и в настройках с2s. В качестве хранили- Первые две задачи решаются простым скриптом:
ща данных выбрана библиотека BerkeleyDB (блок storage),
в качестве администратора сервиса указан пользователь useradd -d /var/jabber -s null jabber
mkdir /var/jabber/db
root с передачей ему всех прав по управлению сервисом chown -R jabber /var/jabber/db
(блок aci). Кроме того (блок user), разрешена активация
учетных записей пользователей, которые уже содержатся Настройка DNS состоит в добавлении SRV-записей и со-
в базе данных authreg, а в качестве шаблона списка кон- здании нескольких псевдонимов для jabber-сервера.
тактов для вновь созданных пользователей будет исполь-
зован published-roster. $ORIGIN myrealm.ru.
jabber A 192.168.1.252
Последний конфигурационный файл используется myrealm.ru. A 192.168.1.252
для настройки компонента mu-conference. В качестве при- conference CNAME jabber
мера лучше всего использовать входящий в состав пакета _jabber._tcp SRV 5 0 5269 jabber
файл muc-example.xml. Например, возможна такая редак- _xmpp-server._tcp SRV 5 0 5269 jabber
_xmpp-client._tcp SRV 5 0 5222 jabber
ция файла mu-conference.xml:
38
администрирование
Как уже упоминалось выше, смысл этих SRV-записей После выпол-
аналогичен MX-записи для электронной почты. В данном нения всех этих
примере для сервера с адресом 192.168.1.252 выбрано имя шагов и тестиро-
jabber.myrealm.ru, и все три записи указывают на него. Пер- в ания работо с -
вые две – для порта, обслуживающего подключения сервер- пособности SASL
сервер (первая из них – это просто более старый вариант), с помощью у ти-
а последняя – для порта клиент-сервер. Тут стоит подчерк- литы sasltest [8]
нуть, что если вы хотите, чтобы ваш сервер был доступен можно прис т у-
извне, т.е. чтобы пользователи других jabber-серверов мог- пить к заполне -
ли обмениваться сообщениями с вашими пользователями, нию базы данных
то, по крайней мере, первая пара SRV-записей должна быть authreg. Для про-
видна снаружи, поскольку именно она позволяет удален- стоты мы пока за-
ным jabber-серверам правильно находить сервер, отвеча- несем двух поль-
ющий пользователю с JID username@myrealm.ru. з о в ател е й root
Последняя запись (_xmpp-client._tcp) не столь важна и mike, оба из ко-
в этом смысле, поскольку клиенты jabber обычно позволя- торых должны
ют напрямую указывать адрес сервера, но лучше создать иметь своих при-
и её. Кроме того, некоторые из jabber-клиентов игнорируют нципалов в секто-
Рисунок 2. Настройка
SRV‑записи, и если адрес сервера не указан пользователем ре Kerberos. В ре- GSSAPI-аутентификации в Linux
явно, то просто интерпретируют доменную часть JID, как имя альных условиях
сервера. Для таких «поломанных» клиентов обычно прихо- вам, скорее всего, понадобится скрипт, который считывает
дится создавать дополнительный псевдоним для jabber-сер- данные из базы данных Kerberos (в этом вам поможет ко-
вера, состоящий только из доменной части. Также для нор- манда «kadmin -l dump», например), фильтрует вывод и пе-
мальной работы компонента mu-confertnce необходимо соз- реносит имена пользователей в базу данных authreg.
дать ещё один псевдоним conference.myrealm.ru. Для заполнения базы данных authreg нужно будет напи-
И последнее – это настройка аутентификации пользова- сать текстовый файл passwd.txt такого вида:
телей, что включает в себя настройку Kerberos, SASL и за-
полнение базы данных authreg. Предполагается, что поль- root
root\00MYREALM.RU\00<random passwd>
зователи уже занесены в базы данных Kerberos. В случае mike
jabberd2 дальнейшие действия напоминают настройку элек- mike\00MYREALM.RU\00<random passwd>
тронной почты, как она описана, например, в статьях [8, 9].
Иными словами, нам нужно создать принципала то есть он состоит из парных записей: нечетные строки –
для службы jabberd (xmpp/jabber.myrealm.ru@MYREALM.RU) это ключи, четные – значения. В качестве ключа берется
и выгрузить его ключ в файл /etc/krb5.keytab: имя пользователя, а значение представляет собой список
с разделителем \00, состоящий из трех полей – имени поль-
kadmin зователя, сектора SASL и случайной комбинации симво-
>add xmpp/jabber.myrealm.ru
>ext xmpp/jabber.myrealm.ru лов, которая служит в качестве простого текстового паро-
ля для этого пользователя. Поскольку при настройке серве-
Следуя рекомендациям статьи [9], чтобы этот ключ был ра jabberd2 простые (traditional из файла c2s.xml) механиз-
доступен для сиcтемного пользователя jabber, под кото- мы аутентификации отключены, то последнее поле можно
рым запускается jabberd2, то нужно добавить этого поль- оставить пустым, оно в такой конфигурации не будет ис-
зователя в системную группу kerberos и открыть файл /etc/ пользоваться. Также следует помнить, что ни одно из по-
krb5.keytab на чтение этой группе. лей не должно превышать по длине 255 символов.
Настройка SASL состоит в создании файла /usr/lib/sasl2/ Теперь остается зайти в директорию /var/jabberd/db, пред-
xmpp.conf с практически неизменным содержимым: назначенную для хранения баз данных jabberd2, и с помо-
щью утилиты db_load, входящей в состав пакета BerkeleyDB,
pwcheck: saslauthd создать эту базу данных:
mech_list: gssapi plain
40
Реклама
администрирование
Удаленное управление
компьютером
Сергей Кузнецов
Сегодня удаленное управление играет важную роль в администрировании компьютеров.
Парк компьютеров серьезной организации может достигать нескольких сотен машин, которые
порой располагаются за тысячи километров друг от друга. Поддержание работоспособности
системы является жизненно важной задачей для каждого отдела автоматизации.
В то же время, чем больше количество рабочих станций и чем больше расстояние между ними,
тем больше затраты на системное администрирование. Например, выслать в командировку
специалиста из Москвы во Владивосток обойдется компании недешево и займет немало
времени. Но, как вы уже догадываетесь, если бы было все так плохо, то не было бы и этой
статьи, а я бы ехал в очередную командировку.
В
этой статье я постараюсь рас- так как при подключении к удаленно- к удаленному рабочему столу другого
смотреть наиболее известные му компьютеру текущий интерактив- компьютера. Замечу, что на удален-
программы удаленного адми- ный пользователь этого компьютера ном компьютере в свойствах компью-
нистрирования – программное обес- будет заблокирован. Это огромнейший тера должен быть разрешен удален-
печение, которое позволяет управ- недостаток в тех случаях, когда нужно ный доступ, в XP и Vista эта возмож-
лять компьютером на расстоянии, че- вести удаленную работу в кооперации ность по умолчанию отключена.
рез локальные или глобальные сети, с удаленным пользователем. Поэто- Особенности:
в том числе, конечно же, и Интернет. му сторонние разработчики предла- n Поддержка 32-битного цвета (в до-
Все сравнения носят общий, независи- гают свои программные разработки, полнение к 8, 15, 16 и 24-битного
мый характер. В завершение постара- от бесплатных решений с открытым в предыдущих версиях).
юсь определить, какая программа яв- исходным кодом (VNC) до серьезных n 128-битовое кодирование с ис-
ляется лучшей и при каких условиях. коммерческих продуктов (DameWare, пользованием алгоритма кодиро-
Наверное, не ошибусь, если ска- pcAnywhere, Radmin, Netop, UltraVNC, вания RC4 (значение безопаснос-
жу, что самой известной програм- Remote Office Manager и др.). ти по умолчанию; старые клиен-
мой удаленного управления являет- Итак, давайте же кратко рассмот- ты могут использовать более сла-
ся RDP-клиент (RDP расшифровыва- рим каждую программу по отдельнос- бое кодирование). Но из-за уязви-
ется как Remote Desktop Protocol), ко- ти, а потом сравним их. Сразу огово- мости man‑in‑the‑middle vulnerability
торый поставляется вместе с некото- рюсь, что тестирование проводилось в версиях ранее 6.0 трафик можно
рыми версиями Windows. Стандарт- в рамках семейства операционных перехватить и расшифровать с по-
ный RDP-клиент очень удобен в боль- систем Windows. мощью специальных утилит.
шинстве случаев, когда нужно подклю- n Звук с удалённого ПК переадресо-
читься к одному удаленному компью- RDP вывается и воспроизводится на ло-
теру и управлять им, но в случае ког- В операционной системе Windows кальном компьютере.
да рабочих станций много и на них ус- уже встроено средство для удаленно- n Позволяет подключать удаленные
тановлена, к примеру, Windows XP, ра- го управления компьютером. Вы може- ресурсы к локальной машине (дис-
ботать с помощью RDP очень тяжело, те без особых проблем подключиться ки, принтеры, порты).
42
администрирование
n Можно настроить производитель- ми системами на платформе Windows
ность для сетей с различной про- NT/2000/XP/2003/Vista, позволяющее
пускной способностью. администраторам обойти ограничения
n Есть версия для мобильных уст- Microsoft Management Console (MMC).
ройств. DNTU включает большое количество
n Можно обмениваться информаци- средств администрирования Microsoft
ей через буфер обмена. Windows NT, объединенных под од-
n На медленных каналах связи пока- ним общим централизованным интер-
зывает лучшие характеристики ра- фейсом, и позволяет удаленно управ-
боты, чем другие программы. лять серверами и рабочими станция-
ми Windows.
В Windows Server 2008 и Windows В целом программа больше ориенти-
Vista используется новая версия про- рована на управление Active Directory,
токола, RDP 6. чем на управление рабочим столом и
n Версия 6.0 установлена в Windows интерактивность. RDP
Vista и включает поддержку про- Стоимость лицензии продуктов
грамм удаленного взаимодейст- DameWare рассчитывается исходя n Сложная система лицензирования
вия, приложений Presentation из количества администраторов. и регистрации.
Foundation Windows, поддержку Особенности:
нескольких мониторов и TLS 1.0 n Функциона льнос ть DameWare Сайт: http://dameware.ru.
подключения. по работе с Active Directory не тре-
n Версия 6.1 была выпущена в февра- бует необходимости пользователю pcAnywhere
ле 2007 года и включена в Windows осуществлять вход в домен для ра- Одна из старейших программ удален-
Server 2008 и в пакет обновления боты. ного администрирования от известной
Windows Vista SP1 и Windows XP n Реализована удаленная установ- компании Symantec. Поддерживает не-
SP3. ка. сколько самых известных операцион-
n Несколько способов авторизации ных систем, есть средство для компо-
Недостатки: (AD, пароль). новки дистрибутивов. В целом програм-
n В Windows (за исключением XP n Хорошая документация. ма обладает рядом уникальных функ-
Media Center Edition, Windows Server) ций, которых нет у аналогов, но эти
основным ограничением является Недостатки: функции (например, поддержка уста-
возможность одновременного вхо- n Очень загруженный интерфейс ревшего протокола IPX/SPX) не нужны
да в систему только для одного уда- пользователя. большинству пользователей.
ленного пользователя. n Медленная скорость работы и зна- Особенности:
n В связи с тем что при подключении чительная нагрузка на сеть в режи- n Поддержка нескольких различных
блокируется текущий интерактив- ме управления удаленным экра- протоколов соединения, не только
ный пользователь, RDP плохо под- ном. TCP/IP.
ходит для задач поддержки пользо-
вателей.
n Неудобство управления большим
количеством рабочих станций –
этот недостаток можно устранить
с помощью сторонних утилит, вза-
имодействующих с RDP.
n Внешний IP-адрес должен быть ста-
тический, иначе можно попробо-
вать решить проблему с помощью
бесплатного сервиса No-IP.com.
n На быстрых каналах работает мед-
леннее, чем большинство анало-
гов.
С а й т: ht t p: // w w w.m i c ro s of t .
c o m / w i n d ow sx p /d ow n l o a d s / to o l s /
rdclientdl.mspx.
DameWare
DameWare NT Utilities (DNTU) – это
средство управления корпоративны- DameWare
Недостатки:
n Конфликты с драйверами и обо-
pcAnywhere рудованием, вплоть до появления
BSOD.
n Несколько способов авторизации, в том числе с под- n Цена выросла в два раза по сравнению с предыдущей
держкой учетных записей Windows. версией.
n Версия для мобильных устройств. n Работает значительно медленнее некоторых аналогов
n Можно сконфигурировать для работы в сложной топо- в сетях с низкой пропускной способностью.
логии сети (маршрутизаторы, файрволлы).
Сайт: http://www.radmin.ru.
Недостатки:
n Медленная скорость работы с удаленным экраном. NetOp
n Высокая цена. В свое время это была одна из самых популярных про-
грамм в своём роде. Сразу очевидно, что программа боль-
Сайт: http://www.symantec.com. ше рассчитана на решение задачи поддержки пользова-
телей. Это довольно тяжелый и функциональный продукт,
Radmin 3 многим похожий на pcAnywhere и DameWare.
Очень известный продукт. Обладает аскетичным интерфей- Особенности:
сом, но при этом работает быстрее большинства аналогов. n Кроссплатформенная поддержка.
В ряде случаев это самое быстрое решение. Не так дав- n Множественные сессии Guest.
но продукт обновился до версии 3, до этого на протяже- n Благодаря сторонним утилитам этого же производите-
нии многих лет существенных обновлений не было. Дол- ля есть возможность настроить программу для сложной
топологии сети.
Недостатки:
n Медленная скорость работы в режиме просмотра/уп-
равления удаленным рабочим столом.
n Высокая цена по сравнению с другими продуктами.
Сайт: http://www.netop.ru.
RealVNC
Одно из самых популярных решений в сфере удаленного
администрирования. Благодаря тому, что исходный код это-
го продукта открыт, существует ряд клонов этого продук-
та, которые обладают своими уникальными особенностями.
К слову, последние несколько лет, особенно после выхода
Windows Vista, политика открытости и бесплатности у раз-
работчиков изменилась. Версию программы с поддержкой
Vista теперь предлагают только за деньги. Но, к слову, есть
Radmin 3 пока что полностью бесплатная UltraVNC.
44
администрирование
Особенности:
n На данный момент есть бесплатная
версия.
n Поддержка Windows Vista в плат-
ных версиях.
n Кроссплатформенная поддержка.
Недостатки:
n Недостаточно высокая скорость ра-
боты.
n Неудобный интерфейс.
n По умолчанию данные не шифру-
ются, отсутствует аутентификация
на основе учетных записей пользо-
вателей Windows.
Сайт: http://www.realvnc.com.
трой программой, если не учитывать кой Aero и отключают ее при работе, Заключение
работу на слабых каналах – достой- что, конечно, трудно не заметить поль- Каждый из этих продуктов подойдет
ный продукт. зователю. Программы, использующие и понравится определенной группе
Remote Office Manager – недоро- драйвер захвата, ставят себя в зависи- администраторов, учитывая личные
гая, удобная, быстрая и многофунк- мость от системы, нередки конфликты и профессиональные требования, по-
циональная программа, которая по- с оборудование и ошибки при работе. этому лучшую программу можете оп-
дойдет как небольшим, так и крупным Большинство рассмотренных про- ределить только вы!
организациям. грамм обладают такой полезной функ-
«Больной» вопрос среди программ цией, как удаленная установка. Хо- 1. Ачилов Р. Обзор программ удален-
удаленного администрирование – тя это скорее исключение из правил. ного доступа: выбирайте подходя-
это поддержка Windows Vista, не все Менее популярные продукты, не рас- щую. //Системный администратор, №5,
программы у живаются с оболоч- смотренные в данной статье, не обла- 2007 г. – С. 18-33.
46
bugtraq
Кэшируем
динамический
контент
Виталий Банковский
Продолжая цикл статей, я расскажу, как можно создавать кэширующие сервера
для динамического контента. (Первую статью цикла «Создаем распределенную сеть доставки
контента» см. в №2 за 2008 г.)
48
web
Также нужна библиотека MM, которая доступна на сай- case "$1" in
start)
те [5]. echo -n "Starting: apache"
/usr/local/apache/bin/apachectl start
tar zxf mm-1.2.1.tar.gz echo "."
cd mm-1.2.1 ;;
./configure
make stop)
make install echo -n "Stopping service: apache"
killall httpd
echo "."
Получаем модуль mod_accel и запускаем процесс об- ;;
новления исходных кодов Apache:
restart)
$0 stop
tar -xzvf mod_accel-1.0.34.tar.gz sleep 2
cd ./configure \ $0 start
--with-apache=../apache_1.3.20 \ ;;
--with-eapi=../mode_ssl-2.8.4-1.3.20/pkg.eapi
make # накладывает патчи *)
echo "Usage: /etc/init.d/apache ↵
Далее собираем Apache и устанавливаем: {start|stop|restart}" >&2
exit 1
;;
cd apache_1.3.20 esac
EAPI_MM=../mm-1.2.1 ./configure —enable-rule=EAPI \
--activate-module=src/modules/accel/libaccel.a exit 0
make
make install
Запускаем наш акселератор:
mkdir /home/dcache
chown -R apache.apache /home/dcache
#!/bin/sh
# chkconfig: 2345 55 25
<?php
Схема работы приложения может быть построена сле-
$cache=1;
дующим образом:
# Проверяем, пришел ли к нам запрос из акселератора n В начале программы переменная $cache устанавлива-
# с заголовком If-modified-since. Если такой заголовок
# существует, это означает, что акселератор имеет ется в 1.
# локальную копию этой страницы n Проверяется наличие заголовка if-modified-since и срав-
if ($_SERVER['HTTP_IF_MODIFIED_SINCE']) нивается с датой последнего обновления запрошенной
{ страницы. В зависимости от результата проверки пере-
$txt = "cache";
$len = strlen($txt); менная $cached устанавливается в 0 или 1.
# print 304 code
n Во всех процедурах динамической генерации контента
header("Status: 304",false,304); проверяется значение переменной $cached. Если пе-
header("Content-Type: text/html",false,304); ременная равна 1, то все эти процедуры завершаются,
# Печатаем длину контента, иначе акселератор решит и программа переходит в финальную фазу – генерация
# что контент — динамический и не закэширует страницу контента как показано выше. Если переменная равна 0,
header("Content-Length: $len",false,304);
то программа создает контент с нуля.
# Печатаем дату последней модификации страницы n Во всех процедурах, где создается некэшируемый кон-
header("Last-Modified: Tue, 16 Oct 2007 12:45:26 GMT", ↵
false,304); тент, переменная $cache устанавливается равной 0.
header("Pragma: cache", false,304); n Вызывается процедура печати контента (как показано
header("Cache-Control: cache",false,304);
header("Content-Length: $len", false,304); выше в примере).
50
Реклама
администрирование «1С»
Управляем списками
общих информационных баз
Андрей Луконькин
Что делать, если в организации появляется новая информационная база и нужно добавить
каждому пользователю ярлык запуска к этой базе? В этом случае работу можно облегчить
с помощью специализированного механизма платформы «1С:Предприятие 8» списки общих
информационных баз.
баз, поэтому использование в работе
В
процессе установки платфор- ляет собой небольшой текст с регла- механизма списка общих баз позво-
мы «1С:Предприятие» в опера- ментированной структурой. лит стандартизировать и регламенти-
ционной системе, кроме всего Пример файла: ровать работу пользователей, опера-
прочего, регистрируется и файловое тивно управлять доступными для за-
расширение «v8i». Файл с таким рас- [ЗУП sql рабочая] пуска базами, не тратя много време-
Connect=Srvr="Proliant7";Ref="ZP";
ширением является ярлыком, который ID=c27a142e-5a9c-477c-a69f-12914a12b347 ни для внесения изменений.
содержит ссылки на общие информа- OrderInList=466944
Folder=/Зарплата
ционные базы. OrderInTree=32768
С помощью диалога настройки ок- External=0
на запуска можно указать произволь-
ное количество списков общих инфор- Для облегчения работы по созда-
мационных баз, которые должны об- нию общих списков существует воз-
рабатываться при запуске системы можность сохранения ссылки в файл.
«1С:Предприятие» (см. рис. 1). Для этого нужно вызвать контекстное
Таким образом, содержащиеся меню правой кнопкой мыши на строке
в указанных общих списках информа- информационной базы в окне запус-
ционные базы будут добавлены в ос- ка «1С:Предприятие» и выбрать пос-
новной список информационных баз ледний пункт меню «Сохранить ссыл-
и отображены при запуске системы ку в файл» (см. рис. 3).
(см. рис. 2). Важно, что в файле v8i может быть Рисунок 1. В диалоге настройки
указываются списки общих
Файл с расширением v8i представ- указана не одна, а сразу несколько информационных баз
52
администрирование «1С»
Андрей Луконькин
Платформа «1С:Предприятие» постоянно развивается, выходят новые релизы, появляются
новые возможности, улучшающие и облегчающие жизнь пользователей и программистов.
Одним из таких новшеств явилось закономерное преобразование построителя отчета в более
функциональный инструмент – систему компоновки данных.
П
остроитель отчета – это объект, n указание выражения для полу- гие отчеты в типовых конфигурациях
позволяющий на основе задан- чения представления значения переписываются с использованием
ного текста запроса и настро- поля; СКД. Например, отчеты «Расчетные
ек получить результат и вывести его n указание выражений упорядочива- листки», «Штатная расстановка», «За-
в табличный документ или диаграмму. ния для поля; нятость сотрудников» и многие другие
Основной задачей построителя явля- n указание таблиц для получения ха- в конфигурации «Зарплата и управле-
ется изменение текста запроса на ос- рактеристик; ние персоналом» версии 2.5.9.2.
новании указанных настроек, а также n указание роли поля; Получается, не изучив новые воз-
динамическое формирование выход- n использование вычисляемых по- можности платформы, такие как СКД,
ных данных. лей; просто невозможно шагать в ногу
Си с те м а ко м п о н о в к и д ан н ы х n возможность группировки условий со временем. Развивая платформу,
(СКД) – средство, предназначенное отбора по «И/ИЛИ»; разработчики меняют и типовые реше-
для создания отчетов на основе их n возможность использования усло- ния, с которыми работают пользовате-
декларативного описания, позволяет вий отбора с участием нескольких ли и программисты. Поэтому наш про-
описать отчет как единое целое, предо- полей; фессиональный уровень должен расти,
ставляя как пользователям, так и раз- n поля выбора и поля выражения, за- успевая за всеми новинками, которые
работчикам практически неограничен- даваемые пользователем; преподносят нам разработчики.
ные возможности получения данных. n получение различных срезов ин- Примеры создания отчета с ис-
СКД имеет сложную структуру и мо- формации в одном отчете; пользованием системы компоновки
жет содержать произвольный набор n вывод номера по порядку; данных «1С:Предприятие 8» можно
таблиц и диаграмм. n вывод общих процентов и процен- найти по адресу http://v8.1c.ru/overview/
Новые возможности построения тов в группировке. dcs_sample_report.htm или на диске ин-
отчетов, предоставляемые системой формационно-технологического со-
компоновки данных: Система компоновки данных пов- провождения (ИТС) в разделе «Но-
n использование нескольких наборов семестно приходит на смену построи- вое в версии 8.1 для разработчиков».
данных в одном отчете; телю отчетов. Так, полностью перера- Также можно увидеть СКД в действии
n указание набора данных для пост- ботана всем известная стандартная в бесплатно распространяемой конфи-
роения иерархии; обработка КонсольОтчетов.epf, мно- гурации «Примеры 8.1».
Установка цепочки
серверов сертификации как
часть внедрения PKI в домене
Часть 1
Станислав Шпак
Электронные подписи, шифрование данных, IPSec, вход в систему по смарт-картам, и все
это с использованием цифровых сертификатов – возможно практически в любом домене.
Нужно лишь спланировать и внедрить инфраструктуру открытого ключа. А установка серверов
сертификации – наиболее важная часть этого процесса. От того, как вы проведете ее, зависит
бесперебойность работы всей инфраструктуры PKI в целом.
И
нфраструктура открытого клю- или поздно вы придете к идее развер- Microsoft Windows центром сертифика-
ча (Public Key Infrastructure) нуть ее в масштабах поддерживаемо- ции становится компьютер с серверной
не является жизненно необхо- го вами домена. PKI – это комбинация операционной системой, на котором
димой для работы домена. Вы може- из ряда совместно работающих служб установлены и запущены службы сер-
те годами не внедрять ее на предпри- и компонентов. Одним из ключевых яв- тификации (Certificate Services). В ста-
ятии и не испытывать никаких проблем. ляется центр сертификации (Certificate тье будут рассматриваться СА, работа-
Но когда вы начинаете задумываться Authority – CA) – доверенный субъект ющие на Windows 2003 Server.
о безопасности, о тех возможностях, или служба для выдачи и управления Microsoft рекомендует тщательно
которые дает внедрение PKI, то рано цифровыми сертификатами. В сети спланировать PKI, прежде чем при-
54
безопасность
ступать к действиям по развертыва- и используется, во-первых, для усиле-
нию компонентов. Что касается СА, ния безопасности всей структуры, а во-
то нужно решить, будет ли использо- вторых, в случае, когда на втором уров-
ваться только свой собственный центр не больше чем один СА, для назначе-
сертификации либо же придется при- ния различных операционных политик
бегать к услугам и открытых (пуб- или политик безопасности для CA ниж-
личных) СА, таких как VerySign. Осо- них уровней. В рассматриваемой схе-
бую роль имеет планирование распо- ме введение промежуточного второ-
ложения, количества и типа СА. Су- го уровня не является обязательным
ществует два основных типа СА: СА и используется с целью приведения
предприятия (enterprise CA) и изоли- к «классическому» виду и для возмож-
рованный СА (stand-alone CA). В свою ности маштабируемости в дальней-
очередь они подразделяются на два шем. По рекомендации Microsoft из со-
подтипа: корневой (root) и подчинен- ображений безопасности, СА первых
ный (subordinate). Тип СА определяет, двух уровней должны быть изолиро-
где хранится база сертификатов (ло- ваны от сети, а после установки и пер-
кально или в Active Directory), как из- вичной настройки – храниться в надеж-
даются сертификаты (автоматически ном, защищенном от доступа посто-
по шаблонам или вручную) и т. п. Кро- ронних месте в выключенном состо-
ме того, издающим (issuing) называет- янии. Выполнению этого требования
ся СА, который обрабатывает запросы может помочь применение виртуаль-
конечных пользователей. ных машин – использование VMware Рисунок 1. Структура из трех СА
или Virtual Server идеально подходит
Выбор структуры CA как для обеспечения безопасности n Списки отзыва сертификатов
Необходимо спланировать многоуров- на этапе развертывания инфраструк- и интервал их публикации. В слу-
невую структуру СА. Теоретически воз- туры, так и для последующей физичес- чае если сертификат стал ненуж-
можно использование одного центра кой изоляции серверов. ным или недействительным до ис-
сертификации одновременно в качест- И наконец, подчиненный СА уров- течения срока его жизни, его мож-
ве корневого СА предприятия и издаю- ня предприятия (EntCA) получает сер- но отозвать вручную (пометить
щего одновременно, но такая конфи- тификат от промежуточного СА, нахо- как недействительный). При этом
гурация настоятельно не рекоменду- дится в домене Active Directory и выпус- его номер попадает в список отзы-
ется как из соображений безопаснос- кает сертификаты по запросам конеч- ва (Certificate Revocation List – CRL).
ти, так и из соображений дальнейшей ных пользователей либо в ручном, ли- Этот список должен периодически
масштабируемости. бо в автоматическом режиме по шаб- обновляться и быть всегда доступ-
Microsoft рекомендует использо- лонам (рекомендуется). Для отказо- ным для проверки. Когда приложе-
вать число уровней СА от 2 до 4: ис- устойчивости нужно иметь как мини- ние проверяет действительность
пользование более глубокой структу- мум два выпускающих СА на каждый сертификата, происходит не толь-
ры становится трудным в управлении. промежуточный СА, однако мы будем ко проверка даты и срока дейст-
Можно назвать «классической» рассматривать установку только од- вия сертификата, но и отсутствие
схему из трех уровней СА (см. рис. 1): ного сервера. его номера в списке отзыва. Сер-
n первый уровень: изолированный тификат считается недействитель-
корневой СА; Определение ным, если его номер содержится
n второй уровень: изолированный функциональных в CRL либо CRL недоступен. Спи-
подчиненный СА (еще он называ- параметров для СА сок отзыва кэшируется на сторо-
ется промежуточным, (intermediate), Когда структура СА определена, нуж- не клиента и обновляется в соот-
или policy CA); но учесть еще ряд важных параметров, ветствии с временем жизни CRL,
n третий уровень: подчиненный СА влияющих на работу каждого из СА. поэтому возможны ситуации, ког-
уровня предприятия, он же выпус- К таковым параметрам относятся: да сертификат отозван, опублико-
кающий СА. n Срок жизни сертификатов. Здесь ван в CRL, но какое-то время еще
надо учитывать баланс между со- может считаться действительным.
Развертывание именно такой ображениями безопасности (мень- Это надо учитывать при опреде-
структуры и будет рассматриваться ший срок действия) и соображени- лении интервала публикации CRL.
в этой статье. Что она дает: изолиро- ями легкости обслуживания (боль- Для выпускающего СА интервал
ванный СА первого уровня (RootCA) ший срок действия). Мы выберем оставим по умолчанию в 1 неделю,
выпускает самоподписанный сертифи- для сертификатов корневого СА для промежуточного – 3 месяца,
кат сам себе и используется в качестве срок действия 20 лет, для подчи- для корневого – полгода. Для са-
корня структуры. Изолированный под- ненного СА – 10 лет, выпускающе- моподписанного сертификата кор-
чиненный СА второго уровня (SubCA) го СА – 5 лет и для сертификатов невого СА этот параметр неприме-
получает сертификат от корневого СА пользователей – 1 год. ним.
56
безопасность
Что должно быть в сертификате: обходимость перевыпустить все сер-
n на вкладке General: значения по- тификаты, которые были выпущены
лей Issued by и Issued to должны до того, как этот список изменился.
совпадать и указывать на только Во-вторых, недоступность CRL оз-
что установленный СА (в нашем начает недействительность сертифи-
случае это RootCA). Диапазон вре- ката, поэтому надо предусмотреть как
мени, в течение которого сертифи- минимум два разных места располо-
кат считается действительным, дол- жения CRL.
жен быть верен и соответствовать В-третьих, не рекомендуется остав-
тому, что задавали при установке; лять в списке неиспользуемые точки
n на вкладке Details: в перечне атри- распространения.
бутов сертификата должны отсутс- В-четвертых, порядок просмотра
твовать атрибуты CRL Distribution CDP тоже важен – первыми в списке
Points и Authorit y Information должны быть те точки, которые смо-
Access; гут обслуживать больше всего клиен-
n на вкладке Certification Path: тов и быть доступными как можно ча-
в нижнем поле должна быть над- ще. Хорошим решением считается рас- Рисунок 3. Задание CDP на корневом СА
пись This certificate is OK. положение одной из CDP на корпора-
тивном сайте, с тем чтобы она была до- Delta-CRL относится к новшест-
Посмотреть сертификат можно ступна из Интернета. вам, появившимся в Windows 2003
и другим методом – воспользоваться Если посмотреть на предлагаемые Server (и, кстати, не поддерживающим-
оснасткой Certification Authority, кото- по умолчанию варианты, то без труда ся клиентами ниже Windows XP). Если
рая доступна в разделе Administrative можно сделать вывод, что в качестве вы ожидаете активного использова-
Tools панели управления. CDP может выступать: Active Directory, ния сертификатов и их частых отзы-
После ее запуска должно автома- локальная файловая система, UNC- вов, то вам нужно устанавливать бо-
тически произойти подключение к те- путь и http-путь. Каждый из этих ва- лее частый интервал обновления CRL.
кущему серверу, при этом в дереве риантов имеет свои плюсы и минусы. При этом сам список отзывов будет все
слева он должен быть помечен зеле- Например, как уже было сказано, http более и более увеличиваться в разме-
ной галочкой. Щелкнув на нем пра- удобно использовать когда требует- рах, что может затруднять его загруз-
вой кнопкой мыши и выбрав Properties ся обеспечить доступ к CRL клиентов ку клиентами. В таких случаях мож-
на вкладке General, можно обнаружить снаружи корпоративной сети. Active но использовать delta-CRL для мини-
кнопку View Certificate. Этот метод луч- Directory удобна внутри сети, но нуж- мизации трафика. Клиент загружа-
ше, так как сразу позволяет убедить- но учитывать интервалы репликации ет сам список CRL и до истечения его
ся в том, что службы сертификации ус- AD и публикации CRL – если CRL пуб- срока действия загружает изменения,
пешно запустились, иначе возникла бы ликуется чаще, чем время полной реп- произошедшие в CRL после его пуб-
ошибка подключения к СА. К тому же ликации внутри домена, то использо- ликации.
именно тут мы и продолжим конфигу- вать AD не рекомендуется. Таким образом, можно делать ин-
рирование СА и перейдем к указанию Кроме того, к каждой из CDP можно тервал публикации CRL более длин-
точек распространения CRL и AIA. указать дополнительные опции: ным, а delta-CRL публиковать ча-
Напомню еще раз про важность CRL n Publish CRL in this location – ука- ще. Однако это имеет смысл делать
для проверки действительности серти- зывает на то, что СА будет автома- только на выпускающем СА и толь-
фиката. Задать точки распростране- тически пытаться произвести пуб- ко при вышеназванных условиях, по-
ния CRL (CRL Distribution Points – CDP) ликацию CRL в этой точке. Для изо- этому для данного и последующих СА
можно перейдя на вкладку Extensions лированного СА эту опцию стоит везде отключаем опции, связанные
(Расширения) в окне свойств СА. Вы- устанавливать только для локаль- с delta-CRL.
падающий список в верхней части ок- ной CDP; Вернемся к заданию точек распро-
на содержит всего два параметра: CRL n Include in all CRLs – активно толь- странения CRL. Поскольку наш СА бу-
и AIA. Оставим предложенный по умол- ко для LDAP CDP; дет отключен от сети, то необходимо
чанию CRL и обратимся к следующе- n Include in CRLs – добавляет эту оставить локальную точку распростра-
му полю, где перечислены места рас- CDP к атрибутам CRL, для того что- нения, которая идет в списке первой
положения для CRL. бы клиенты могли находить delta- и по умолчанию указывает в папку C:\
Здесь надо быть очень осторож- CRL (об этом чуть ниже); WINDOWS\system32\CertSrv\CertEnroll\.
ным – во-первых, указанные тут точки n Include in the CDP extension of Обратите внимание, что для этой CDP
распространения CRL могут включать- issued certificates – указывает помечена опция Publish CRL in this
ся во все издаваемые этим СА серти- на необходимость включения этой location. Для обеспечения доступнос-
фикаты. То есть теоретически возмож- CDP в список атрибутов выпуска- ти CRL мы оставим также LDAP-точ-
но изменить или дополнить этот список емых этим СА сертификатов; ку (указав опции Include in all CRLs
и после того, как СА начнет работать, n Publish delta CRLs to this location – и Include in the CDP extension of issued
на практике же это будет означать не- для публикации delta-CRL. certificates) и создадим новую точку,
58
Реклама
безопасность
OpenBSD
Имидж – ничто, безопасность – все!
Максим Гришков
Тот факт, что в мире нет совершенного программного обеспечения, не является большим
секретом. На момент релиза программный код любой операционной системы содержит
ошибки, которые влияют на ее производительность и надежность. Вследствии этого одной
из важных задач системного администратора является поддержание операционной системы
в актуальном, с точки зрения безопасности и надежности, состоянии путем наложения патчей
и обновлений.
Основная часть ка, в этом направлении команде раз- (http://www.openbsd.org/errata.html)
Несмотря на то что целью известного работчиков удалось достигнуть зна- официального сайта проекта, где спис-
проекта OpenBSD является разработ- чительных успехов, через некоторое ки выявленных ошибок сгруппированы
ка операционной системы (ОС), кото- время после выхода очередного ре- согласно релизам, в которых они бы-
рая характеризуется высокими пока- лиза данной ОС появляется инфор- ли выявлены: например, errata43.html –
зателями чистоты кода, безопаснос- мация о выявленных потенциальных ошибки, выявленные после выхода ре-
ти, стандартизации и портируемос- уязвимостях. Эту информацию мож- лиза 4.3. Страничка также содержит
ти и, как свидетельствует статисти- но почерпнуть на страничке «Ошибок» краткое описание, характеристику (бе-
60
безопасность
зопасность или надежность) и ссылку исходных кодов с помощью стабильной 4.3/common/003_xorg.patch
на заплатку (патч), с помощью кото- (патчевой) ветки с последующей пере-
4.3/common/004_bind.patch
рой можно избавиться от уязвимости. сборкой ядра и встроенного програм-
На момент написания статьи странич- много обеспечения (userland) – более 4.3/common/005_pcb.patch
ка релиза 4.3 содержала 5 записей. длительный, но и более автоматизиро-
Согласно терминологии, исполь- ванный (если синхронизацию перело- Как видно из вывода архивато-
зуемой внутри проекта, ваша систе- жить на могучие плечи cron) процесс. ра, в архиве находятся 5 патчей. Все
ма может находиться в одном из 3 воз- Он также позволяет исправить неза- они расположены в каталоге common,
можных состояний: релиз (-release), крытые патчами ошибки. что свидетельствует об их платформо-
стабильное (-stable) или текущее Перед тем как приступить непо- независимости. Назначение патча лег-
(‑current). Разница между этими со- средственно к наложению патчей или ко узнать, используя команду head.
стояниями заключается в том, что ре- синхронизации исходного кода, необ-
лиз – это версия, выпускаемая проек- ходимо его (код) заполучить. Самый $ cd /usr/src/patches/4.3/common
$ head -n 11 001_openssh.patch
том согласно графику релизов каждые простой способ загрузить его по ftp
Apply by doing:
6 месяцев на CD, стабильная система – (ftp://ftp.openbsd.org/pub/OpenBSD/4.3) cd /usr/src
это релиз с наложенными на него пат- или скопировать с CD (обычно это тре- patch -p0 < 001_openssh.patch
чами на текущий момент времени. Пат- тий CD в стандартной поставке). Ис-
чи представляют собой порции исход- ходный код, хранящийся на ftp-серве- And then rebuild and install file:
ного кода, содержащие очень важные ре, разделен на несколько файлов: cd usr.bin/ssh
make obj
исправления, сделанные и опробован- n src.tar.gz – содержит исходный код make cleandir
ные в текущей ветке. Подразумевает- набора встроенного ПО; make depend
ся, что для того, чтобы обладать на- n sys.tar.gz – содержит исходный код make
make install
илучшими показателями стабильнос- ядра;
ти и надежности ОС, OpenBSD долж- n xenocara.tar.gz – содержит исход- Из вывода следует, что патч пред-
на быть приведена к стабильному со- ный код модифицированной сис- назначен для исправления исходно-
стоянию. При этом следует учитывать, темы X-Window X.org или Xenocara, го кода элемента встроенного ПО
что поддержка новых устройств и кар- в интерпретации OpenBSD). (в частности OpenSSH) и потребует
динально новые свойства, реализо- пересборки толького этого элемента.
ванные в текущей ветке не попадают После загрузки необходимо разар- Тут же приведены инструкции по нало-
в стабильную. Текущая ветка в свою хивировать src.tar.gz и sys.tar.gz в ди- жению патча (первый абзац) и после-
очередь предназначена в основном ректорию /usr/src, а xenocara.tar.gz дующей пересборке приложения (вто-
для разработчиков и является поли- в – /usr. рой абзац).
гоном для испытания нововведений.
Ни один здравомыслящий системный $ cd /usr/src $ head 003_xorg.patch
# tar -xvzf /usr/sys.tar.gz
администратор не станет обновлять # tar -xvzf /usr/src.tar.gz Apply by doing:
ОС ответственного сервера до теку- $ cd /usr cd /usr/xenocara
# tar -xvzf /usr/xenocara.tar.gz #Assuming Xenocara is in /usr/xenocara
щего состояния. patch -p0 < 003_xorg.patch
Существуют два способа приве- После извлечения исходников мож-
And then rebuild and install the X server:
дения системы к стабильному состоя- но переходить к делу. Начнем с пат- cd xserver
нию. Первый – это наложение патчей чей. make -f Makefile.bsd-wrapper build
вручную, второй – использование ста-
Index: xserver/Xext/security.c
бильной (патчевой) ветки исходных ко- Накладываем заплатки
дов системы, которая содержит все ис- Патчи можно скачать как в виде отдель- Этот патч предназначен для ис-
правления для обновления системы. ных файлов (001_openssh.patch и т. д.), правления исходного кода Xenocara,
Следует учитывать тот факт, что ис- так и единым архивом (4.3.tar.gz). Сде- он также потребует пересборки толь-
ходный код стабильной ветки кроме лать это можно или с упомянутой выше ко этого элемента.
обновлений, вышедших в виде патчей, странички errata43.html или непосред-
также содержит очевидные и простые ственно по ftp (ftp://ftp.openbsd.org/pub/ $ head 005_pcb.patch
исправления, которые были признаны OpenBSD/4.3). Apply by doing:
недостойными включения в список пат- После скачивания необходимо рас-
cd /usr/src
чей на страничке «Ошибок». Разница паковать архив, содержащий патчи
между способами заключается в том, в какую-нибудь директорию, напри- patch -p0 < 005_pcb.patch
что в случае наложения патчей будут мер /usr/src/patches. Then build and install a new kernel.
закрыты только те ошибки, которые
были признаны критичными, в следс- # mkdir /usr/src/patches Комментарий «Then build and install
$ cd /usr/src/patches
твие этого существенно сокращается # tar -xvzf /usr/4.3.tar.gz a new kernel» указывает на то, что патч
время, затрачиваемое на исправле- 4.3/common/001_openssh.patch
предназначен для исправления исход-
ние ошибок (даже в случае пересбор- ного кода ядра и потребует его даль-
ки ядра). В свою очередь обновление 4.3/common/002_openssh2.patch нейшей пересборки (см. далее).
Следуем стабильной (патчевой) ветке Правда, стоит отметить, что он длится довольно долго:
исходного кода от 30-40 минут на современной технике до суток на рари-
Поскольку разработчики OpenBSD используют для управ- тетном железе (которое частенько используется для уста-
ления исходным кодом систему контроля версий CVS, её новки OpenBSD). После завершения сборки ядра необхо-
можно использовать для получения и обновления локаль- димо перезагрузить компьютер для загрузки нового ядра.
ной копии дерева исходных кодов, находящейся в директо- Если по какой-то причине собранное ядро не может быть
рии /usr/src. Для начала необходимо выбрать один из ано- загружено, процесс загрузки будет остановлен и появится
нимных CVS (AnonCVS) серверов проекта. Это можно сде- приглашение загрузчика: «boot>».
лать на страничке http://www.openbsd.org/anoncvs.html офи- В этом случае необходимо загрузить копию старого ра-
циального сайта. После выбора сервера можно приступать бочего ядра, исправить ошибки в конфигурационном фай-
к обновлению дерева исходных кодов. ле и повторить процедуру.
62
bugtraq
Настраиваем
TLS/SASL-шифрование
и аутентификацию
в MTA Sendmail
Андрей Маркелов
64
безопасность
S
TARTTLS (RFC 2487) является расширением прото- # Директория с сертификатами
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
кола SMTP. STARTTLS в первую очередь предназна-
чен для поддержки TLS-шифрования и аутентифи- # Сертификат CA, выдавшего сертификат нашему серверу.
# Не забудьте его также скопировать в указанную директорию
кации между двумя почтовыми серверами. Но как вы уви- define(`confCACERT', `/etc/pki/CA/cacert.pem')dnl
дите далее, он с успехом может применяться и почтовы-
# Сертификат нашего сервера, используемый во время
ми клиентами. # приема почты
MTA Sendmail в нашей тестовой конфигурации будет define(`confSERVER_CERT', ↵
`/etc/pki/tls/certs/sendmail.crt')dnl
работать на двух серверах Red Hat Enterprise Linux 5.1. Вы-
бор не является принципиальным – вы можете использо- # Приватный ключ нашего сервера
define(`confSERVER_KEY', ↵
вать ваш любимый или вовсе установить Sendmail в дру- `/etc/pki/tls/certs/sendmail.key')dnl
гой операционной системе, например Solaris. Единствен-
ное, с чем вы можете столкнуться, – отличие поставляе- и добавляем две новых строки:
мого по умолчанию в вашем дистрибутиве конфигураци-
онного файла sendmail.mc от использующегося в Red Hat # Сертификат и приватный ключ нашего сервера, используемый
# для отправления почты на другой сервер. Для простоты
Enterprise Linux/Fedora. # используем те же, файлы, что и в первом случае
Также предполагаем, что у нас есть настроенный центр define(`confSERVER_CERT', ↵
`/etc/pki/tls/certs/sendmail.crt')dnl
сертификации. Для простоты будем использовать OpenSSL, define(`confSERVER_KEY', ↵
но, естественно, это непринципиально. Один из наших тес- `/etc/pki/tls/certs/sendmail.key')dnl
товых серверов прекрасно справится с этой ролью. Конечно,
в реальной работе вы не должны разворачивать CA и пуб- Для проверки наших настроек зайдем на 25-й порт сер-
личный почтовый сервер на одной машине. вера при помощи команды telnet:
В качестве «компенсации» засилья Open Source-инстру-
ментов в роли MUA используем штатную в Windows Vista # openssl ca -in sendmail.csr -out sendmail.crt
программу Windows Mail. Trying 192.168.0.17...
Connected to station17.example.com (192.168.0.17).
Escape character is '^]'.
Базовые настройки и взаимодействие 220 station17.example.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 31
двух почтовых серверов Jul 2008 14:21:33 +0400
Начнем с сертификата для MTA. Необходимо отметить,
EHLO station18.example.com
что STARTTLS в данном случае защищает только трафик
между двумя соответствующим образом настроенными 250-station17.example.com Hello station18.example.com
[192.168.0.18], pleased to meet you
почтовыми серверами. Нет никакой гарантии при отправ- 250-ENHANCEDSTATUSCODES
ке письма «во вне», что все релеи, через которые прой- 250-PIPELINING
250-8BITMIME
дет письмо, используют STARTTLS. Никогда не надо за- 250-SIZE
бывать, что отправка письма через Интернет аналогична 250-DSN
отправке почтовой карточки по обыкновенной почте. Текст 250-ETRN
250-STARTTLS
вашего письма может быть прочитан во всех точках, че- 250-DELIVERBY
рез которые пересылается письмо. Для гарантированной 250 HELP
защиты электронной почты между отправителем и полу- STARTTLS
чателем необходимо использовать шифрование при по-
220 2.0.0 Ready to start TLS
мощи S/MIME или GnuPG/PGP.
Генерируем для нашего сервера приватный ключ и со- QUIT
здаем запрос в центр сертификации:
Повторяем те же действия по настройке (включая вы-
# openssl genrsa 1024 > sendmail.key пуск второго сертификата) для второго сервера. В нашей
# openssl req -new -key sendmail.key -out sendmail.csr
ситуации оба сервера используют один и тот же удостове-
После чего необходимо переслать запрос на выда- ряющий центр. Если используются разные CA, то MTA бу-
чу сертификата в центр сертификации. Администратор дут необходимы корневые сертификаты обоих.
центра сертификации выпускает на основе запроса сер- Теперь если мы попробуем на одном из серверов локаль-
тификат: но запустить MUA, например mutt, и отправить сообщение
пользователю второго сервера, то на первом сервере в /var/
# openssl ca -in sendmail.csr -out sendmail.crt log/maillog увидим примерно такие сообщения:
Копируем полученный сертификат на почтовый сер- Jul 31 01:07:21 station18 sendmail[9558]: STARTTLS=client,
relay=station17.example.com., version=TLSv1/SSLv3, verify=OK,
вер и кладем рядом с ключом в директорию /etc/pki/tls/ cipher=DHE-RSA-AES256-SHA, bits=256/256
certs. Права на оба файла должны быть выставлены 600 Jul 31 01:07:21 station18 sendmail[9558]: m6UL7Lpc009556:
или 400. to=<andrey@station17.example.com>, ctladdr=<root@station18.exam-
ple.com> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp,
Далее начинаем править конфигурационный файл /etc/ pri=120467, relay=station17.example.com. [192.168.0.17],
mail/sendmail.mc. Редактируем пути и убираем коммента- dsn=2.0.0, stat=Sent (m6UL7LpK009193 Message accepted for
рии со строк: delivery)
# openssl ca -in andrey.csr -out andrey.crt Если вы увидели подобные сообщения в журнале, зна-
чит наша цель достигнута. Убедиться в том, что соответс-
Далее необходимо «упаковать» ключ и сертификат твующий сеанс защищен, вы можете при помощи утили-
в формат PKCS#12: ты wireshark.
Таким образом, как видите, при всей относительной
# cat andrey.key andrey.crt > andrey.pem сложности настройки MTA Sendmail, механизм STARTTLS
# openssl pkcs12 -export -in andrey.pem ↵
-out testusercert.p12 -name "Andrey's Personal cert" включается достаточно просто.
Удачи.
66
закон есть закон
Какова процедура изъятия компью- действий без адвоката, требовать его
теров на экспертизу? (продолжение, присутствия при проведении обыска,
начало см. в №7 за 2008 г.) а в случае отказа указывать в протоко-
По закону все должно происходить ле на не предъявление вам постанов-
следующим образом. ления о возбуждении уголовного дела
Если проверка проводится в рам- и отсутствие на следственных действи-
ках уголовно-процессуального зако- ях адвоката. Если о возбуждении уго-
нодательства, возможны два вариан- ловного дела было известно, то пред-
та: производство осмотра (может осу- полагается, что у руководства фирмы
ществляться до возбуждения уголов- было время для подготовки и консуль-
ного дела) и проведение обыска (может тации со специалистом.
происходить только после того, как уго- При осуществлении проверки ор-
ловное дело возбуждено). ганами милиции, проверка произво-
Рубрику ведет юрист
В первом случае в компанию при- дится в соответствии с законом «О ми- Юлия Штокало
ходят проверяющие на основании пос- лиции» и Приказом МВД РФ от 2 ав-
тановления о производстве осмотра, густа 2005 г. N 636, которым утверж- нии) УПК РФ; о возбуждении дела об
после чего начинается проверка ком- дена Инструкция о порядке проведе- административном правонарушении
пьютеров. При проведении осмотра ния сотрудниками милиции проверок и рассмотрении материалов в рамках
должен вестись протокол, в который и ревизий финансовой, хозяйствен- производства по делам об админист-
записываются все действия, которые ной, предпринимательской и торго- ративных правонарушениях; о переда-
производились при осмотре, в случае вой деятельности. Согласно п. 4 Инс- че материалов по подведомственнос-
изъятия описывается изымаемое обо- трукции, при наличии данных о влеку- ти, в том числе для решения вопроса
рудование. Изымаемое оборудование щем уголовную ответственность нару- о рассмотрении материалов в рамках
должно быть опечатано, это делается, шении законодательства, регулиру- производства по делам об админист-
чтобы исключить доступ внутрь корпу- ющего финансовую, хозяйственную, ративных правонарушениях; о завер-
са и подключение к нему питания. предпринимательскую и торговую де- шении проверки в связи с неустанов-
Процесс опечатывания фиксиру- ятельность, в целях установления ос- лением нарушения законодательс-
ется в протоколе. Осмотр и изъятие нований для возбуждения уголовно- тва РФ.
должны производиться с участием го дела, начальником органа внутрен- При проведении таких мероприя-
двух понятых. них дел (органа милиции) или его за- тий следует обратить внимание, что-
Что нужно сделать: ознакомиться местителем выносится мотивирован- бы Постановление о проведении про-
с документами проверяющих (чтобы ное постановление о назначении про- верки было подписано начальником
знать, кто к вам пришел с проверкой), верки, ревизии по установленной фор- районного ОВД или его заместителем,
узнать основания проводимой провер- ме. В постановлении указывается сос- т.е. в постановлении должны быть ука-
ки, в случае изъятия техники прове- тав сотрудников милиции, проводящих заны: должность, ФИО и стоять под-
рить, чтобы в протоколе были указа- проверку. Сотрудники милиции также пись. Если постановление не подпи-
ны индивидуальные признаки и осо- вправе производить изъятие, которое сано, либо подписано другим лицом,
бенности изымаемой техники (требо- оформляется в присутствии двух по- вы вправе отказать в проведении про-
вание основано на п. 3 ст. 177 УПК РФ), нятых протоколом и описью. верки, советую также написать жало-
в случае если вы сомневаетесь в под- По результатам проведения про- бу в прокуратуру, управление собс-
линности лицензии на установленное верки сотрудниками милиции состав- твенной безопасности и вышестоя-
программного обеспечения, прежде ляется акт проверки финансовой, хо- щий орган.
чем давать показания посоветуйтесь зяйственной, предпринимательской, В постановлении должны быть ука-
с адвокатом. Если сотрудники фир- торговой деятельности. В акте отража- заны сотрудники, которые могут учас-
мы используют свою технику, то необ- ются все выявленные нарушения зако- твовать в проводимых мероприятиях,
ходимо запастись документами, под- нодательства и иные имеющие значе- и вы можете проверить их соответс-
тверждающими право собственности. ние обстоятельства. Акт составляет- твие; при проведении изъятия компью-
Постановление дается на осмотр кон- ся в трех экземплярах, один из кото- терной техники необходимо проверить
кретной фирмы и ее офиса, при про- рых передается организации, в кото- наличие протокола изъятия и описи,
ведении осмотра обыск сотрудников, рой проводилась проверка. в описи должны быть подробно ука-
закрытых помещений не допускает- По результатам проверки прини- заны изымаемые предметы.
ся, на это необходимо дополнитель- мается одно из решений: о составле- Копии всех составляемых доку-
ное постановление. нии рапорта об обнаружении призна- ментов должны быть предоставлены
Второй случай – производится ков преступления; о направлении ма- организации, в которой проводилась
обыск. При этом уже должно быть воз- териалов проверки для рассмотрения проверка.
буждено уголовное дело. Если к вам в порядке, предусмотренном статья-
пришли с обыском, а информация ми 144 (сообщение о преступлении) и Присылайте Ваши вопросы по адресу
об уголовном деле у вас отсутствует, 145 (принятие решения по результатам sekretar@samag.ru или оставляйте на фо-
советую не предпринимать никаких рассмотрения заявления о преступле- руме журнала www.samag.ru/forum.
Java:
торжественное обращение с jar
и атрибутами MANIFEST.MF
Алексей Саенко
Java-приложения гораздо удобнее собирать в один jar-файл, нежели хранить сложную
структуру нескольких тысяч файлов. Однако плюсы использования jar-файлов этим удобством
не ограничиваются, иногда может возникнуть необходимость передавать параметры
из манифеста.
М
ногие Java-приложения постав- n сокращать объем приложения; работчика. Именно поэтому в данной
ляются в виде одного или не- n упростить процесс создания биб- статье будут описаны несколько спо-
скольких jar-файлов (Java лиотеки; собов применения JAR API для вызо-
ARchive), которые по сути являются n осуществлять контроль версий. ва произвольных методов из jar-фай-
обыкновенными zip-архивами. В них ла, записи и чтения атрибутов мани-
обычно, кроме байт-кода программы, Полноценно работать с техноло- феста. (Манифест – (устар.) торжес-
размещаются дополнительные ресур- гией JAR можно как с помощью ути- твенное письменное обращение вер-
сы и конфигурационные файлы. литы jar, входящей в состав JDK (Java ховной власти к народу в связи с важ-
Такой подход позволяет: Development Kit), так и с использовани- ным политическим событием, торжест-
n подписывать содержимое jar-фай- ем классов JAR API. венной датой и т. д. (Толковый словарь
ла, повышая таким образом уро- Первый способ распространен пов- русского языка).
вень безопасности; семестно, в то время как второй, за-
n сокращать время загрузки аппле- частую незаслуженно, обделен вни- Утилита jar
тов за счет отсутствия необходи- манием и, как показывает практика, Прежде всего следует уделить неко-
мости открытия нового соедине- напрасно – во многих случаях это мо- торое внимание утилите jar (http://java.
ния для каждого файла; жет существенно облегчить жизнь раз- sun.com/javase/6/docs/technotes/tools/
68
программирование
solaris/jar.html). Это консольное при- Таблица 1. Атрибуты главной группы манифеста
ложение, запускаемое с набором па- Атрибут Описание
раметров. Manifest-Version Номер версии файла-манифеста. Определяется спецификацией как регулярное выражение
Примеры вызова утилиты: следующего вида: цифра+{.цифра+}*
Created-By Версия и поставщик платформы Java, с помощью которой был создан манифест.
// Создание нового jar-файла Автоматически генерируется утилитой jar
jar cf file.jar список_файлов
Signature-Version Версия подписи jar-файла. Определяется так же, как и Manifest-Version
// Просмотр содержимого архива Class-Path Относительные указатели ресурсов (URL) для всех используемых дополнительных классов
jar tf file.jar и библиотек
// Извлечение содержимого из jar-файла Main-Class Относительный путь к главному классу приложения, который должен содержать точку входа –
jar xf file.jar метод main(String[] args). Значение атрибута не должно содержать расширение .class. Атрибут
определяется для автономных настольных приложений, которые собраны в выполняемые jar-
файлы, которые могут быть запущены виртуальной машиной Java напрямую командой:
java -jar file.jar
MANIFEST.MF
JAR File Specification (http://java.sun. Таблица 2. Наиболее используемые классы в JAR API
com/javase/6/docs/technotes/guides/jar/ Полное название класса Описание
jar.html), позволяет расположить в ар- java.util.jar.Attributes Таблица соответствий между именем атрибута и его значением
хиве file.jar только один манифест с до- java.util.jar.Attributes.Name Перечисление в виде констант всех имен атрибутов главной группы
полнительной служебной информаци-
java.util.jar.JarEntry Класс описывает элемент jar-файла, например, файл с расширением .class
ей META-INF/MANIFEST.MF, представ-
java.util.jar.JarFile Наследник класса java.util.zip.ZipFile с поддержкой манифеста. Используется
ляющий собой текстовый файл в ко- для чтения содержимого jar-файла
дировке UTF-8. Если он не был задан
java.util.jar.JarInputStream Наследник класса java.util.zip.ZipInputStream с поддержкой манифеста. Используется
при создании jar-файла, используется для чтения содержимого jar-файла из любого входящего потока
манифест, который по умолчанию со- java.util.jar.JarOutputStream Наследник класса java.util.zip.ZipOutputStream с поддержкой записи манифеста.
держит информацию о своей версии Используется для записи содержимого jar-файла в любой исходящий поток
и JDK, в которой был создан конкрет- java.util.jar.Manifest Класс используется для работы с манифестом и его атрибутами
ный jar-файл: java.net.JarURLConnection Соединение с jar-файлом или его элементом с помощью указателя ресурсов вида:
ar:<url_к_jar_файлу >!/{элемент_jar_файла}, например: jar:http://www.site.org/folder/
Manifest-Version: 1.0 file.jar!/org/site/Clazz.class
Created-By: 1.6.0 (Sun Microsystems Inc.) java.net.URLClassLoader Используется для загрузки классов и ресурсов из classpath (может определяться,
к примеру, атрибутом манифеста Class-Path)
Условно содержимое можно раз-
делить на главную группу (содержит определенные стан- public static void main(String[] args) {
System.out.println("main(): запущен");
дартами атрибуты, некоторые из них приведены в табли- }
це 1) и индивидуальную группу (состав которой определя- }
ется произвольно).
Имена произвольных атрибутов могут содержать только MANIFEST.MF архива имеет следующий вид:
цифры, строчные и заглавные буквы латинского алфавита
Manifest-Version: 1.0
и знак «_», а по длине существует ограничение – 70 симво- Created-By: 1.6.0_03-b05 (Sun Microsystems Inc.)
лов. К значению атрибута никаких требований, кроме эле- Main-Class: pkg.Main
ментарной логики, не предъявляется.
Более подробно структуру и состав JAR и META-INF/ Вначале необходимо получить URL по имени файла:
MANIFEST.MF в рамках этого текста мы затрагивать не бу-
дем по той простой причине, что любой желающий может URL fileUrl = new File("file.jar").toURL();
URL url = new URL("jar", "", fileUrl + "!/");
прочесть более подробно cпецификацию JAR.
Сам вызов осуществляется следующим образом:
Использование JAR API
В последней на текущий момент Java 1.6 к JAR API отно- public static final String MAIN_METHOD = "main";
public void runMainMethod(String className) throws ↵
сятся классы пакета java.util.jar, а также классы java.net. Exception {
JarURLConnection и java.net.URLClassLoader. Ограничимся String[] args = new String[1];
Class clazz;
рассмотрением наиболее используемых классов (см. таб- Method mainMethod;
лицу 2). // Создадим ClassLoader
URLClassLoader urlClassLoader =
new URLClassLoader(new URL[] { url });
Запуск методов класса // Загрузка класса класслоадером
clazz = urlClassLoader.loadClass(className);
Прежде всего рассмотрим пример, который будет запус- // Получение main-метода и проверка, является ли он
кать метод public static void main(String[] args) из произволь- // точкой входа
mainMethod = clazz.getMethod(MAIN_METHOD, ↵
ного класса в jar-файле. Предположим, что у нас есть некий args.getClass());
файл file.jar, который содержит класс pkg.Main: mainMethod.setAccessible(true);
int mods = mainMethod.getModifiers();
if (mainMethod.getReturnType() != void.class
package pkg; || !Modifier.isStatic(mods) || ↵
!Modifier.isPublic(mods)) {
public class Main { throw new NoSuchMethodException(MAIN_METHOD);
Теперь попробуем задействовать JAR API для решения Чтение атрибутов из манифеста
несколько усложненной задачи – теперь необходимо запус- Получившийся файл можно использовать в качестве мани-
тить метод main() главного класса jar-файла. Для этого нам феста для jar-архива – это довольно просто, поэтому пред-
надо лишь вызвать уже имеющийся метод runMainMethod() положим, что этот манифест уже лежит в jar-файле и тре-
с именем требуемого класса, которое можно получить буется считать из него все атрибуты или только некоторые.
из манифеста по имени атрибута Main-Class: Эту работу будет выполнять класс JarAttributeReader:
70
bugtraq
Знакомимся с YAML
Сергей Супрунов
Как программисты-разработчики, так и системные администраторы не понаслышке знают,
что такое рутина. Учитывая, что рутинные операции должен выполнять всё-таки компьютер,
посмотрим, чем нам поможет язык YAML в таком деле, как обработка конфигурационных
файлов для разрабатываемого приложения.
Ч
тобы приложение было гибким чего-нибудь небольшого. Согласитесь, «параметр-разделитель-значение»
и настраиваемым, оно снабжается было бы нелепо для скрипта в 50‑100 (чаще всего в качестве разделителя
конфигурационным файлом (а то строк писать аналогичного или даже выступает любое количество пробелов
и несколькими). Очевидно, что формат большего размера «парсер» для разо- и/или символов табуляции, но могут
этого файла должен соответствовать вой (в контексте работы скрипта) зада- быть и другие, скажем, знак равенства
определённым соглашениям, то есть чи анализа конфигурации. или двоеточие; сокращённо будем на-
можно сказать, что он пишется на не- Естественно, как только в процессе зывать этот формат «П-Р-З»):
котором языке разметки. И при выбо- работы возникает подобная проблема,
ре такого языка нужно учитывать осо- то в голову сразу приходит бессмер- node_ip 10.0.0.51
node_user arc
бую роль конфигов – ведь они созда- тная фраза: «Всё украдено до нас». node_password xidughei
ются людьми для программ. С одной В том смысле, что если разработчик email_list arc,hunter,engineer
sms_list hunter12@sms.mob.ru
стороны, такой файл должен легко чи- сталкивается с некоторой типовой за-
таться и редактироваться человеком дачей, то с высокой долей вероятнос- Его достоинства: простота написа-
(не всегда имеющим диплом с отличи- ти можно считать, что данная задача ния и восприятия человеком и прос-
ем по специальности «Программист»), уже кем-то решена. Поэтому и в части той разбор (функцией split по регу-
а с другой – легко «разбираться» про- анализа конфигурационных файлов лярному выражению, которая имеет-
граммой. Причём второе требование проблема обычно сводится к поиску ся практически во всех современных
связано не столько с ресурсоёмкостью наиболее удобного инструмента сре- скриптовых языках). Но есть и недо-
задачи «разбора», сколько с простотой ди уже существующих. статки: «линейность», т.е. невозмож-
разработки соответствующей подпро- ность создавать иерархию параметров,
граммы. Особенно актуально это ста- Краткий обзор и «нетипизированность», т.е. сложнос-
новится для скриптовых языков (Perl, «типичных» форматов ти с передачей параметров, тип кото-
Python, Ruby и т. п.), основное назна- Наиболее простым форматом конфи- рых не укладывается в понятие «про-
чение которых – быстрая разработка гурационного файла можно считать стого» (строка, число).
72
программирование
Для борьбы с первым недостатком
используются различные методы. На- О примере ровать с помощью FTP наличие некоторо-
пример, разделение файла на так на- По ходу статьи часто приводится пример го файла на сервере (node_ip), и в случае
зываемые «секции», когда секция вво- некоторого конфигурационного файла. неудачи отправлять уведомления на элек-
дится специальным синтаксисом (ска- Чтобы придать ему немного конкретики, бу- тронную почту и в виде SMS пользовате-
жем, «[Server]»), и все нижеследующие дем считать, что принадлежит он скрипту, лям согласно заданным спискам.
параметры вплоть до маркера дру- задача которого – периодически контроли-
гой секции рассматриваются как от-
носящиеся к ней (вы тоже вспомнили иерархия, а сами параметры задают- заключить текстовый параметр в апос-
про win.ini?). Второй недостаток вы- ся по схеме «П-Р-З»: трофы) и соответствующим образом
нуждает вводить дополнительные со- такие ситуации обрабатывать.
глашения, и при разборе конфигура- <Node> Теперь настало время перейти
ip 10.0.0.51
ции учитывать их (в примере выше user arc собственно к теме этой статьи – языку
придётся особо оговорить, что спи- password xidighei YAML, набирающему всё большую по-
</Node>
сок параметров, разделённых запя- <Lists> пулярность и стремящемуся оставать-
тыми, является массивом, а при счи- email arc,hunter,engineer ся максимально простым как для чело-
sms hunter12@sms.mob.ru
тывании конфигурационного файла </Lists> века, так и для программы.
потребуется как минимум ещё один
вызов split). В различных вариантах подобный YAML – «ещё один»
Другой подход к описанию конфи- подход можно найти и в конфигурации или «совсем не»?
гурации – XML-подобный синтаксис, других продуктов. Читать и редактиро- Разработанный Кларком Эвансом,
набирающий в последнее время всё вать – удобнее, насчёт удобства про- язык YAML (в версии 1.0 эта аббреви-
большую популярность (сам не видел, граммного анализа не вполне уверен. атура «официально» расшифровыва-
но рассказывают, что в MacOS да- Да и в любом случае это уже похоже лась как «Yet Another Markup Language»,
же настройки операционной системы на «частное» решение. начиная с 1.1 разработчики решили,
в этом формате задаются). Вышепри- Поскольку при разработке скрип- что «YAML Ain’t Markup Language») пер-
ведённая конфигурация на этом языке тов, как правило, хочется чего-то сов- воначально претендовал на роль пол-
могла бы выглядеть как-то так: сем простого, то не последнее место ноценной замены XML, но затем акцент
по популярности занимает «програм- сместился в сторону максимально гиб-
<node> мистский» подход: в качестве файла кого описания данных. Он позволяет
<ip>10.0.0.51</ip>
<user>arc</user> конфигурации используется подклю- наиболее полно отображать основные
<password>xidughei</password> чаемый скрипт на «рабочем» языке, типы данных, используемых современ-
</node>
<list type='email'> сразу при своём выполнении созда- ными языками программирования, со-
<recipient>arc</recipient> ющий нужный набор «конфигураци- храняя при этом максимальную про-
<recipient>hunter</recipient>
<recipient>engineer</recipient> онных переменных» (пример на язы- стоту как для человека, так и для про-
</list> ке Python): граммного анализа. Wikipedia называ-
<list type='sms'>
<recipient>hunter12@sms.mob.ru ↵ ет YAML форматом сериализации дан-
</recipient> node = {'ip': '10.0.0.51', ных (http://ru.wikipedia.org/wiki/YAML),
</list> 'user': 'arc',
'password': 'xidighei'} что очень точно отражает его основную
Здесь налицо возможность стро- email_list = ['arc', 'hunter', ↵ задачу. И действительно, YAML можно
'engineer']
ить иерархию любой сложности. До- sms_list = ['hunter12@sms.mob.ru'] с успехом использовать для марша-
полнительные атрибуты также за- линга (т.е. для представления данных
метно расширяют возможности это- Типичный пример такого подхо- в памяти в формат, пригодный для хра-
го формата. Собственно, было бы да – большинство конфигов *BSD или нения и передачи, см. http://ru.wikipedia.
странно ожидать меньшего от языка, Linux, представляющих собой скрипты org/wiki/Маршалинг) или постоянного
претендующего на роль универсаль- на языке командной оболочки (sh, ре- хранения на диске тех или иных струк-
ного средства обмена информацией. же csh или bash). Очевидно, что здесь тур данных: скажем, в языке Python
Только вот анализ такого файла прос- совершенно не стоят проблемы разбо- для сериализации традиционно ис-
тым никак не назовёшь (хотя для тех, ра конфигурации, структурных ограни- пользуется модуль pickle, в Ruby час-
кто «на ты» с XPath, XSLT и прочи- чений или невозможности задать нуж- то используют модуль Marshal, анало-
ми мудрёными аббревиатурами, мо- ный тип. Но при этом от пользователя гичные решения есть и в других язы-
жет быть, и ничего сложного). Да и ре- уже начинают требоваться хотя бы ба- ках. Но если возникает необходимость
дактировать вручную такого монстра зовые познания в используемом языке организовать обмен данными между
не слишком удобно – в глазах рябит программирования и немалая аккурат- скриптами, написанными на различ-
от тегов разметки. ность и внимательность. Да и разра- ных языках программирования, то уже
Нечто среднее между этими двумя ботчик скрипта, если он стремится соз- требуется какой-нибудь универсаль-
подходами мы видим в конфигурации дать достаточно надёжную программу, ный язык сериализации. YAML может
Apache, ProFTPD и ряде других при- должен в своём коде учитывать воз- использоваться в этой роли почти без
ложений – «тегами» вводится нужная можность опечатки (скажем, забыли ограничений.
Как видите, разработчикам YAML удалось сохранить Само собой, что с обычными строками и числами проб-
лёгкость и «читабельность» простейшего формата с раз- лем тоже не возникает. Параметры, заданные «в виде чис-
делителями, сделав его иерархическим за счёт использо- ла», включая восьмеричное и шестнадцатеричное пред-
вания вложенных параметров. Да и возможности работы ставление, а также научную нотацию, автоматически пре-
с типами данных здесь заметно расширены. Например, то, образуются в числовой формат. Аналогично, автоматичес-
что вы видите выше, это самый настоящий хэш («словарь» кое преобразование предусмотрено для дат. Скажем, стро-
в терминологии Python), один элемент которого представ- ку '2008-01-05' модуль PyYAML языка Python преобразует
ляет собой вложенный хэш, а ещё два – массивы («спис- в выражение «datetime.date(2008, 1, 5)». В качестве приме-
ки» в Python). ра рассмотрим обработку такого файла:
Вот, например, как это «развернётся» в Ruby (вывод
слегка отформатирован, для удобства восприятия): Date1: 2008-01-01
Date2: 01.02.2008
Time: 12:45
$ irb StringDate: "2008-01-01"
irb(main):001:0> require 'yaml'
irb(main):002:0> config = YAML::load(open('config.yml'))
=> {"node"=> Если этот файл называть «config.yml», то работать с ним
{"user"=>"arc",
"ip"=>"10.0.0.51", можно следующим образом:
"password"=>"xidighei"},
"sms_list"=>["hunter12@sms.mob.ru"], $ python
"email_list"=>["arc", "hunter", "engineer"]} >>> import yaml, datetime
irb(main):003:0> puts config['node']['ip'] >>> config = yaml.load(open('config.yml'))
10.0.0.51 >>> config
Как видите, хэш на YAML задаётся парами «ключ: зна- {'Date1': datetime.date(2008, 1, 1), 'Date2': '01.02.2008',
'Time': 765, 'StringDate': '2008-01-01'}
чение», причём ни для ключа, ни для значения практичес-
ки никаких ограничений не существует – они могут содер- >>> config['Date1'].year
жать пробелы, быть многострочными, представлять собой 2008
вложенные элементы... Да-да, ключ хэша может быть слож-
ной структурой данных! В этом случае он начинается с сим- Заметили, что как дата представляется только строка
вола «?». Правда, далеко не все языки программирования в формате ISO (YYYY-MM-DD)? Если говорить точнее, то спе-
допускают подобные вольности. В частности, пример, по- цификация поддерживает два формата даты и времени:
казанный ниже, нормально отрабатывается в Ruby, а, на- n Date1: 2008-08-03t11:00:00
пример, в Python уже вызывает ошибку. n Date2: 2008-08-03 11:00:00
$ cat hash.yml При необходимости можно задать и временную зо-
? - 1
- 2 ну. Однако различные «европейские» форматы (вро-
- 3: three де «01.01.2008») обработчиками YAML именно как даты
:
some digits не распознаются. Также обратите внимание на то, что стро-
$ irb ка «Time: 12:45» была преобразована в «'Time': 765». Де-
irb(main):001:0> require 'yaml'
irb(main):002:0> config = YAML::load(open('slohash.yml')) ло в том, что YAML значения вида «XX:YY:ZZ» распознаёт
=> {[1, 2, {3=>"three"}]=>"some digits"} как шестидесятеричные числа. То есть запись «12:45» бы-
irb(main):003:0> config.keys[0]
=> [1, 2, {3=>"three"}] ла рассчитана как 12*60 + 45. Фактически, подразумевая
irb(main):004:0> config[c.keys[0]] под этой записью «12 часов 45 минут», мы получили число
=> "some digits"
минут с начала дня.
Ещё одна возможность – использовать в качестве клю- Также следует учесть возможности YAML по явному и не-
ча хэша различные символы (если ваш язык программиро- явному преобразованию типов данных: если вам нужно пе-
вания от этого не впадёт в ступор): редать значение параметра именно как строку, просто за-
74
программирование
ключите его в апострофы или кавычки (в кавычках будет simple:
one
выполняться замена escape-последовательностей, строка two
в апострофах используется без каких-либо преобразова- three
ний). Есть и более строгий способ указать тип данных: continued: >
one
PortAsString: !!str 80 two
three
pre: |
Ещё одна возможность, особенно полезная для кон- one
фигурационных файлов, – поддержка своего рода «указа- two
three
телей», когда вы можете присвоить некоторому значению
имя (вводится символом «&»), а затем «разыменовывать»
его (символом «*») в других местах файла: Результат:
Теперь можно делать с этим изображением всё, что тре- Здесь many.yml – файл с двумя документами. Симво-
буется (в примере ниже я сохраняю его в файл): лом «#» начинаются комментарии.
>>> c = yaml.load(open('r.yml'))
>>> open('r.png', 'w').write(c['png'])
Трудности перевода
Есть у YAML и недостатки. Один из самых существенных –
Кроме рассмотренных выше, язык YAML умеет работать проблемы с кодировками, отличными от Unicode. Специфи-
и с логическими типами данных («true» и «yes» распознают- кация предусматривает поддержку лишь UTF-8, UTF‑16 LE
ся как «истина», «false» и «no» – как «ложь»), поддержива- и UTF-16 BE. Как результат – работа с другими кодировками
ются специальные значения: «null» и «~» как «None», «.NaN» полностью зависит от используемого модуля. Так, модуль
в значении «nan» (не число); «.inf» и «-.inf» – соответственно PyYAML и во FreeBSD, где используется KOI8‑R, и в Windows
«плюс бесконечность» и «минус бесконечность». XP (CP1251) упорно не желал обрабатывать файлы, содер-
Ещё следует знать о последовательности «---» – она яв- жащие хотя бы один кириллический символ независимо
ляется разделителем документов в потоке. Не все модули, от его месторасположения. С модулем 'yaml' в Ruby нигде
работающие с YAML, способны считывать несколько до- проблем не возникло. В Ubuntu, где по умолчанию исполь-
кументов из одного файла. Скажем, в Python метод load() зуется UTF8, все протестированные модули показали без-
модуля PyYAML считывает только первый (для работы со упречную работу с кириллицей.
всеми документами следует использовать метод load_all(), Таким образом, появился ещё один повод всюду,
возвращающий генератор, из которого можно последова- где только можно, переходить на Unicode.
тельно, методом next(), выбрать все документы потока). Мо-
дуль 'yaml' в Ruby действует аналогично, за тем исключе- Заключение
нием, что если символами «---» разделять простые строки, Как видите, YAML – довольно простой в освоении язык се-
то модуль включает их в состав строки, считая всё одним риализации. Наличие готовых модулей для многих языков
документом. Модуль Perl – YAML::Tiny – успешно работает программирования позволяет использовать его «прямо сей-
с несколькими документами: час», да и разработка собственного парсера вряд ли будет
слишком сложной задачей. Читается
YAML и языки программирования Python: конфигурация на YAML очень легко,
Для работы с YAML практически каждый import yaml и в то же время вы можете не ограни-
язык программирования имеет готовый мо- config = yaml.load(open('config.yml')) чивать себя только строковыми значе-
host = config['host']
дуль. Возможности YAML как языка сериа- ниями параметров, используя и масси-
лизации достаточно обширны, но если го- Ruby: вы, и хэши, и логические значения...
ворить о таком узком применении, как кон- require 'yaml' Если вы заинтересовались данным
фигурационные файлы, то в большинст- config = YAML::load(open('config.yml')) языком – обязательно просмотрите
host = config['host']
ве случаев использование YAML сводит- его полную спецификацию. Наверня-
ся к вызову одного метода (обычно load()). В последних строках показаны приме- ка вы найдёте ещё много интересного,
Ниже рассмотрены типовые примеры ис- ры использования одного из параметров, что осталось за рамками статьи.
пользования для различных языков про- в предположении, что он задан как эле-
граммирования (предполагается, что по- мент хэша (словаря). 1. Официальный сайт языка – http://
ток содержит один документ). Разрабатываются также модули/библи- yaml.org.
Perl: отеки для других языков программирова- 2. Спецификация YAML 1.2 – http://yaml.org/
use YAML::Tiny; ния: C, PHP, Java, JavaScript, Haskell. Ссыл- spec/1.2.
$config = YAML::Tiny-> ↵ ки можно найти на главной странице сайта 3. YAML Cookbook – http://yaml4r.sourceforge.
read('config.yml')->[0];
$host = $config->{'host'}; проекта: http://yaml.org. net/cookbook.
76
bugtraq
Дмитрий Васильев
Думаю, никто не будет возражать против того, что наиболее используемым инструментом
администратора систем UNIX является текстовая консоль. Консоль позволяет выполнять
практически все административные задачи, и тем более без нее нельзя обойтись
при управлении серверами, находящимися в другом районе города, или даже в другом городе,
или в другой стране. Большинство администраторов могут достаточно лихо пользоваться
консольными командами, но они могут с удивлением заметить, что более опытные коллеги
каким-то невообразимым образом успевают делать еще больше. В этой статье я рассмотрю
один из ключей к эффективному использованию текстовой консоли – менеджер текстовых
окон GNU Screen (далее просто Screen).
Возможности Screen ми, в которых может и не быть посто- чае Screen может быть установлен
Одна из основных возможностей янной необходимости, но которые мо- стандартными средствами поддержки
Screen – создание и управление гут помочь в выполнении админист- пакетов вашей операционной систе-
несколькими консольными окнами ративной работы в отдельные момен- мы или скачан с официального сайта
или текстовыми приложениями в од- ты времени. http://www.gnu.org/software/screen.
ном-единственном окне терминала. На рис. 1 изображен Screen с тре- Теперь мы можем запускать Screen,
В один момент времени на экране тер- мя именованными окнами (Work, для чего просто набираем:
минала может находиться только од- Configuration, Logs) и открытым в нем
но из окон (несколько их может быть текстовым редактором Vim с примером $ screen
только в случае, если они делят экран файла конфигурации Screen.
терминала на части). Screen позволя- После запуска на экран может поя-
ет быстро переключаться между окна- Первый запуск виться информация о версии и лицен-
ми, сохранять и позднее возвращать- Screen может быть запущен с помощью зии (при рассмотрении конфигурации
ся к текстовой сессии и открывать дос- консольной команды screen, но прежде мы рассмотрим, как можно отменить
туп к ней другим пользователям. Плюс всего проверим, установлен ли Screen вывод данного сообщения), и в этом
к этому Screen позволяет давать ок- в вашей системе, с помощью следую- случае необходимо нажать клавишу
нам заголовки, отслеживать актив- щей команды: «Пробел» или «Ввод», после чего мы
ность в каждом окне и обмениваться попадаем на первый взгляд в обыч-
содержимым окон с помощью копиро- $ which screen ную текстовую оболочку.
вания и вставки. И вдобавок Screen /usr/bin/screen Надо заметить, что в командной
позволяет переназначать клавиши, уп- строке сразу можно указать коман-
равлять настройкой эмуляции терми- Если команда вернула путь, как ду для запуска определенного прило-
нала и решать еще много небольших в примере выше, можно сразу начи- жения, например, для запуска top на-
задач, связанных с текстовыми окна- нать пользоваться, в противном слу- до набрать:
78
программирование
$ screen top
В данном случае мы должны выполнить две клавиатур- При этом Screen создаст новое окно и присвоит ему сле-
ные комбинации, сначала нажав <Ctrl> + <a>, а затем кла- дующий по порядку номер. В нашем случае новым окном
вишу двоеточия. При этом Screen выведет в нижней час- будет окно с номером 1.
ти экрана приглашение для ввода команды в виде двоето- Теперь у нас есть уже два текстовых окна, из которых
чия. Ту же самую команду, которую мы только что выполни- текущим является только что созданное окно с номером 1,
ли с помощью клавишной комбинации, можно выполнить а окно с номером 0 находится в фоновом режиме. Но на-
через конфигурационный файл с помощью текстовой ко- до заметить, что даже если окно находится в фоновом ре-
манды colon, что может, например, понадобиться для вы- жиме, оно может воспринимать вывод запущенного в нем
вода приглашения о вводе команд при старте или перена- приложения, как если бы оно было текущим. Например,
значении комбинации клавиш, вызывающих это приглаше- мы могли бы запустить в окне 0 процесс, который выводит
ние. Далее, как и в примере выше, для каждой клавишной дополнительную информацию через определенные про-
комбинации я буду писать соответствующие ей ключевые межутки времени (для примера, это может быть команда
слова, которые можно использовать в файлах конфигура- «tail -f»), и затем переключиться в окно 1 для работы в тек-
ции или вводить с помощью <Ctrl> + <a> и <:>. стовом редакторе.
Здесь может возникнуть закономерный вопрос – а что Через какое-то время, если мы захотим посмотреть,
если приложению нужно непосредственно передать ком- что происходит в окне 0, мы можем переключиться в это
бинацию клавиш <Ctrl> + <a>, которая уже используется окно и увидеть весь вывод работающего там процесса.
в Screen как служебная? Например, та-
Таблица 1. Наиболее часто используемые команды для управления окнами
кая же комбинация используется биб-
лиотекой редактирования командной Клавишная комбинация Текстовая команда Описание
строки readline для выполнения пере- Ctrl + a w windows Выводит список номеров и заголовков всех окон в нижней
строчке экрана
хода в начало строки. Для этого слу-
Ctrl + a " windowlist Выводит интерактивный список номеров и заголовков всех
чая в Screen предусмотрена следую- окон, из которого можно выбрать окошко для переключения
щая команда:
Ctrl + a Номер select Выбор окна по номеру. Например, команда <Ctrl> + <a> и 0
n Клавишная комбинация: <Ctrl> + окна делает текущим окно с номером 0
<a> + <a>. Ctlr + a n next Переключиться на следующее по порядку окно или на первое
n Текстовая команда: meta. окно, если мы находились в последнем окне
n Описание: передать текущему Ctrl + a p prev Переключиться на предыдущее по порядку окно
или на последнее окно, если мы находились в первом окне
предложению клавишную комби-
нацию <Ctrl> + <a>. Ctrl + a ' select Вывести приглашение ввода номера окна для переключения
Ctrl + a Ctrl + a other Переключиться на последнее используемое окно
Управление окнами Ctrl + a N number Показать номер и заголовок текущего окна
Пришло время разобраться с коман- Ctrl + a A title Установить заголовок текущего окна
дами для управления окнами. При за- Ctrl + a k kill Принудительное закрытие окна, например, в случае если
пуске Screen создает одно окно (если приложение не удается закрыть обычным способом
80
программирование
него каталога пользователя. Многие команды, которые
можно использовать в файлах конфигурации, были рас-
смотрены в таблицах выше в поле «Текстовая команда».
Ниже представлен пример конфигурации Screen из фай-
ла .screenrc:
# Открыть оболочку для просмотра логов Рисунок 2. Screen с тремя именованными окнами (Work,
chdir /var/log Configuration, Logs) и разделенным на два региона экраном
screen -t Logs
Если кому-то не нравится относительная «старость»
# Выбрать первое окошко после старта
select 0 Screen или не нужно такое большое количество возмож-
ностей, то можно обратиться к одной из следующих про-
Этот достаточно простой файл конфигурации открывает грамм:
три окна с именами Work, Configuration, Logs соответственно n dtach (http://dtach.sourceforge.net) – основной акцент
в личном каталоге пользователя, в каталоге /etc и каталоге при разработке этой программы сделан на компакт-
/var/log. После запуска на экране будет находиться первое ность. По аналогии со Screen она поддерживает воз-
окно с именем Work. На рис. 1 представлен пример рабо- можность работы с консольными сессиями, но не име-
ты Screen с этим файлом конфигурации. ет других возможностей Screen.
n SplitVT (http://www.devolution.com/~slouken/projects/
Что дальше? splitvt) – позволяет разделить экран терминала на две
Screen имеет огромное количество различных возмож- половинки и работать сразу с двумя программными обо-
ностей, и практически невозможно описать их все в одной лочками.
статье, поэтому некоторая часть функциональности оста- n Tmux (http://sourceforge.net/projects/tmux) – для работы
лась «за кадром». с консольными сессиями Tmux использует модель «кли-
Вот некоторые возможности/настройки Screen, кото- ент-сервер».
рые не были рассмотрены выше и остаются для самосто- n Twin (http://linuz.sns.it/~max/twin) – попытка создать тек-
ятельного изучения: стовый оконный интерфейс, аналогичный графическим
n Команды настройки эмуляции терминала. собратьям.
n Многопользовательские консольные сессии.
n Назначение или переназначение командам клавишных Итак, в этой статье мы рассмотрели возможности и боль-
комбинаций. шинство команд менеджера текстовых окон Screen. Я счи-
n Вспомогательные опции текстовых команд. Например, таю, что изучение Screen или одной из похожих программ
опция -t команды screen, которая используется в приме- может вывести производительность и соответственно про-
ре файла конфигурации. фессионализм системного администратора или програм-
n Редко используемые команды, например команды, ко- миста на качественно новый уровень. В любом случае это
торые можно использовать при настройке запуска не будет пустой тратой времени.
Screen, – echo и sleep.
n Переменные среды, которые мо- Таблица 4. Команды отсоединения консольной сессии от терминала
гут быть полезны при настройке Клавишная комбинация Текстовая команда Описание
Дмитрий Мороз
Рубеж последнего десятилетия ушедшего века стал переломным моментом в становлении
графического интерфейса в качестве неотъемлемой части операционной системы.
Практически все популярные ОС обзавелись собственным GUI, а командная строка
окончательно перешла в разряд «для фанатов» и пользователей UNIX.
С
момента подписания между кор- Первая версия операционной сис- из Windows 3.0 с той лишь разницей,
порациями IBM и Microsoft до- темы не имела графического интер- что группы программ открывались
говора о сотрудничестве в об- фейса и, как и DOS, управлялась из ко- в новом окне, а не внутри предыду-
ласти разработки операционных сис- мандной строки. Примитивная фор- щего. На экране Presentation Manager
тем в августе 1985 года и до появле- ма GUI под названием Presentation постоянно присутствовали две икон-
ния в продаже первого продукта про- Manager (Менеджер презентаций) по- ки – DOS и Print Manager. При нажа-
шло почти два года. Лишь в апреле явилась лишь с выходом версии 1.1 тии на первую ОС активировала сес-
1987 года миру была представлена но- в ноябре 1988 года и была усовер- сию DOS, в которой запускались про-
вая ОС под названием OS/2 (Operating шенствована в OS/2 1.2 и 1.3. Данный граммы MS-DOS. Вторая же, как сле-
System/2), продажи которой стартова- графический интерфейс практически дует из названия, запускала менед-
ли спустя ещё восемь месяцев. полностью повторял Program Manager жер печати.
82
ретроспектива
Сотрудничество двух корпораций
просуществовало недолго. Microsoft Экспериментальный пёс по своему усмотрению. Они представляли
понимала, что совершенствование Microsoft собой как ярлыки для запуска программ,
и продажа своей операционной сис- В начале 1995 года Microsoft выпустила так и различные файлы. При помощи гида
темы в лице Windows принесёт ей го- программу Bob, разработанную в качест- можно было легко добавить, изменить либо
раздо больше прибыли. В то же время, ве замены для интерфейсов Windows 3.x же удалить объект из комнаты. Кроме того,
принимая участие в разработке OS/2, и 95 и ориентированную на новичков, толь- пользователь мог полностью изменить вне-
корпорация собственноручно ставила ко приступающих к своему знакомству шний вид GUI, выбрав один из нескольких
палки себе же в колёса. В результате с компьютером. стилей. В арсенале Bob имелось несколько
в 1991 году партнёрское соглашение Срезу после запуска Bob пользователь собственных программ, таких как: тексто-
между IBM и Microsoft было расторг- попадал в так называемую «Общую ком- вый редактор, программа для ведения до-
нуто, и отныне компании шли каждая нату», в углу которой его ждал «гид» – пёс машней бухгалтерии, адресная книга, ка-
своим путём. по кличке Ровер (Rover). При желании мож- лендарь, чековая книжка, а также специ-
В марте 1992 года появилась сле- но было выбрать себе другого гида, каж- альный «менеджер для ухода за домом»,
дующая версия операционной систе- дый из которых обладал своим собствен- содержавший предустановленные катего-
мы IBM – OS/2 2.0. Данная операци- ным поведением, словарём из подсказок рии с различной текстовой информацией
онная система стала первой 32-раз- и случайных фраз, анимацией и звуковы- и списками дел.
рядной ОС для IBM PC-совместимых ми эффектами (позже часть этих гидов Все активные объекты GUI были на-
компьютеров. стала «помощниками» справочного раз- рисованы при помощи векторной графи-
Главным новшеством в OS/2 2.0 дела офисного пакета Microsoft Office 97). ки, в результате чего пользователь мог са-
стал графический интерфейс Workplace Однако даже в этом случае Ровер перио- мостоятельно изменять размеры любого
Shell. Он был создан на основе стан- дически заглядывал «в гости» с каким-ни- из них. Однако это особенность обладала
дарта CUA’91 (Common User Access – будь полезным советом. и существенным недостатком: в угоду про-
Общий пользовательский доступ), яв- Интерфейс операционной системы изводительности цветовая палитра в Bob
лявшегося частью семейства стандар- представлял собой комнату жилого дома, была ограничена 256 цветами.
тов, разработанных IBM для облегче- с расположенными на столиках адресной Из-за высокой стоимости и системных
ния разработки унифицированных гра- книгой, блокнотом, корзинами для входя- требований новый Bob не получил широ-
фических интерфейсов приложений щих и исходящих сообщений, календарём кого распространения, в результате чего
для различных платформ и операци- на стене и т. д. Каждый элемент на экране Microsoft прекратила его дальнейшее раз-
онных систем. активен, то есть, например, чтобы прове- витие. Впоследствии пёс Ровер появился
Workplace Shell был полностью объ- рить почту, пользователю было достаточ- в операционной системе Windows XP, од-
ектно-ориентированным GUI, благода- но кликнуть по корзине со входящими со- нако на этот раз лишь в качестве анима-
ря чему пользователь мог управлять общениями. ционного персонажа, сопровождающе-
программами, файлами, устройства- Комната, являвшаяся основой GUI, со- го пользователя во время активации диа-
ми и папками, манипулируя объекта- держала множество активных объектов, лога поиска.
ми на экране, в качестве которых вы- которые пользователь был волен изменять
ступали иконки. Присутствовал в ОС
и специальный редактор, благодаря чение компьютера осуществлялось мостоятельно добавлять либо удалять
которому пользователь при желании выбором соответствующего пункта ящики, а также содержащиеся в них
мог изменять вид штатных иконок. из всплывающего меню. объекты. Механизм работы Измельчи-
Наиболее интересной особен- Минимизированное окно програм- теля не изменился, однако теперь он
ностью графического интерфейса мы не оставалось на рабочем сто- также находился на LaunchPad. Сама
OS/2 2.0 стала возможность измене- ле, а перемещалось в специально от- панель могла быть размещена пользо-
ния в любой папке цвета фона. Кро- ведённую для этого папку. Вместо вателем в любой части экрана.
ме того, пользователь мог установить «Корзины» в OS/2 2.0 использовал-
в качестве него любое графическое ся «Шреддер» (от англ. Shredder – из- Империя наносит
изображение. мельчитель). Перемещённый на него ответный удар
В отличие от «к лассической» файл не сохранялся во временной пап- В то время как «Голубой гигант» про-
MacOS, о которой я рассказывал в про- ке, а сразу же удалялся. должал совершенствовать свою OS/2,
шлой статье цикла, в OS/2 2.0 для вы- В октябре 1994 года IBM предста- компания Гейтса не собиралась до-
полнения различных операций исполь- вила общественности новую версию жидаться своего бывшего партнёра
зовались обе кнопки мыши, а также OS/2 Warp 3. Главным нововведени- и готовила миру новую операцион-
повсеместно применялись всплываю- ем в графическом интерфейсе треть- ную систему, выход которой был на-
щие меню. Стоит отметить появление ей версии ОС стало появление панели мечен на 1994 год. Очередная версия
в них команды «Создать ещё один» LaunchPad. Она содержала специаль- Windows, ещё более похожая внешне
(Create another), дублирующей объект, ные «ящики», в которых хранились раз- на MacOS, должна была уравнять поль-
а также «Создать тень» (Create shadow), личные объекты. При нажатии на пик- зователей IBM PC-совместимых ком-
формировавшей ссылку на оригиналь- тограмму секции всплывал список её пьютеров со счастливыми владельца-
ный объект («ярлык»). Даже выклю- содержимого. Пользователь мог са- ми Macintosh.
84
ретроспектива
функциональных веб-страниц, с анимированной графикой
и функционирующими ссылками.
Радикальных изменений в графическом интерфейсе
Windows 98 сделано не было. Можно сказать, что Microsoft
просто провела «работу над ошибками» своей предыду-
щей ОС.
Последний из могикан
Покинувший в 1990 году компанию Apple Жан-Луи Гассе
(Jean-Louis Gassee), ранее возглавлявший её исследова-
тельские и производственные подразделения, решил соз-
дать с нуля новый компьютер, для чего основал компанию
Be Inc. Компьютер BeBox с операционной системой BeOS,
появившийся в 1995 году, стал последней платформой
с собственным аппаратным и программным обеспечени-
ем. В дальнейшем операционная система была перенесе- Microsoft Bob
на на компьютеры Macintosh и платформу x86.
Наиболее интересной особенностью графического ин- интерфейс MacOS вплоть до версии 9.х включительно ос-
терфейса BeOS стали так называемые «скользящие заго- тавался всё тем же классическим GUI, который в 1984 году
ловки» (sliding tabs), позаимствованные у среды Smalltalk: увидели пользователи компьютеров Macintosh.
строка заголовка занимала лишь необходимую для отоб- В компании понимали, что улучшение операционной
ражения названия часть длины окна. Однако разработчи- системы, основа которой была написана ещё в начале
ки Be Inc. усовершенствовали эту идею, в результате чего 80‑х годов прошлого века, в конце концов заведёт в тупик.
пользователь мог двигать строку заголовка по всей дли- В результате в конце 1996 года Apple приобрела компанию
не окна, подстраивая её под конкретные нужды. Благода- NeXT Inc., тем самым прибрав к своим рукам операционную
ря этому при открытии нескольких окон путём использова- систему NeXTSTEP. Разработка новой ОС для компьютеров
ния «скользящих заголовков» можно было ускорить пере- Macintosh продолжалась на протяжении пяти лет, и лишь
ключение между ними. в марте 2001 года появилась десятая версия операцион-
BeOS поддерживала до 32 виртуальных рабочих сто- ной системы MacOS, получившей приставку «X».
лов, каждому из которых можно было присвоить своё раз- Одним из основных нововведений MacOS X стал новый
решение, а также цветовую палитру. В операционной сис- графический интерфейс под кодовым названием Aqua, по-
теме было реализовано удобное перемещение окна с од- лучивший в своё распоряжение масштабируемые полно-
ного рабочего стола на другой путём его удерживания кур- цветные иконки, тени, отбрасываемые различными объек-
сором мыши. тами, прозрачные заголовки окон и т. д. Благодаря стара-
Ещё одна полезная особенность интерфейса BeOS за- ниям инженеров Apple одна из главных особенностей ин-
ключалась в возможности выполнения операций с файла- терфейса NeXTSTEP, панель Dock, «перебралась» и в но-
ми посредством одного нажатия мы-
ши. Например, если пользователю
необходимо было скопировать объект
из рабочего стола в выбранную папку,
он при помощи правой кнопки мыши
вызывал выпадающее меню, и, не от-
пуская её, последовательно открывал
весь путь вплоть до нужной папки. Пос-
ле отпускания кнопки мыши происхо-
дило копирование файла.
Напоследок стоит упомянуть об од-
ном «пасхальном яйце»: после нажа-
тия комбинации клавиш <Ctrl>, <Alt>
и <Shift> и одновременно щелчка мы-
шью по кнопке Start в меню появляет-
ся новая опция Windows Decor, кото-
рая позволяет изменить стандартное
оформление окон на MacOS, Windows
или же AmigaOS-подобное.
«Десятка»: перерождение
Несмотря на различные нововведения
и усовершенствования, графический Windows 95
86
ретроспектива
несенная на Dock, демонстрирует своё
содержимое в виде «вылетающего»
вверх списка с превью содержащихся
в ней файлов.
Новое представление данных под
названием CoverFlow позволяет Finder
отображать большие превью каждого
файла, которые «летают» по рабоче-
му столу в трёхмерном пространстве.
При этом пользователь может исполь-
зовать эти превью в качестве обычных
иконок, совершая над ними различные
манипуляции.
Собственная реализация Apple
идеи виртуальных рабочих столов
в MacOS X представлена технологи-
ей Spaces. Она позволяет одновре-
менно просмотреть все активные ра-
бочие столы, переключаться между
ними и переносить запущенные про-
граммы и открытые окна с одного сто-
ла на другой. MacOS X v10.0
Ещё одной интересной техноло-
гией, о которой стоит упомянуть, яв-
ляется утилита автоматизированного
резервирования данных Time Machine,
предоставляющая пользователю воз-
можность восстановить файлы, кото-
рые были удалены либо же заменены
файлами более новой версии.
Ну и, конечно же, нельзя не упомя-
нуть о Front Row – специальной оболоч-
ке для работы с хранящейся на ком-
пьютере и подключённых к нему муль-
тимедийных устройствах информаци-
ей. Теперь просмотр фотографий и ви-
деороликов, а также прослушивание
музыки осуществляется при помощи
небольшого и удобного пульта дистан-
ционного управления, идущего в ком-
плекте с компьютером.
На данный момент Apple вовсю ра-
ботает над следующей версией своей
операционной системы, которую она
намеревается представить миру уже MacOS X v10.3
в следующем году. По словам пред-
ставителей компании, новая MacOS X тем Windows Me и 2000, таким же «се- Переработке подверглась панель
практически не будет содержать боль- рым и унылым», как и его предшест- управления, элементы которой объ-
ших нововведений. Однако уже су- венники. единены в общие группы. Сама па-
ществующие будут «отточены до со- Ситуация изменилась с выходом нель теперь представлена в виде веб-
вершенства». в октябре 2001 года новой ОС под наз- странички. Иконки, находящиеся в сис-
ванием Windows XP. Улучшенный гра- темной области возле часов, получи-
Разукрашенные «Окна» фический интерфейс новой операци- ли способность привлекать внимание
В то время как пользователи компью- онной системы обзавёлся поддерж- пользователя при помощи всплываю-
теров Macintosh не могли нарадовать- кой тем оформления, тенями, отбра- щих сообщений.
ся красоте и продуманности интер- сываемыми значками на рабочем сто- Нововведения «постучались в две-
фейса MacOS X, подавляющему боль- ле и меню, а также новомодными эф- ри» и к «Панели задач» вместе с ме-
шинству пользователей приходилось фектами типа прозрачности, затуха- ню Start. Отныне появилась возмож-
иметь дело с GUI операционных сис- ния и скольжения. ность группировать открытые окна од-
88
ретроспектива
ватить всё разнообразие графических
оконных интерфейсов Linux, поэтому я
расскажу лишь о наиболее известных –
KDE и GNOME.
В то время, когда стартовали оба
проекта, в мире существовало уже
достаточное количество разнообраз-
ных графических интерфейсов, по-
этому «изобретать велосипед» созда-
телям KDE и GNOME не пришлось. Ос-
новную часть идей разработчики поза-
имствовали из операционных систем
Windows, попутно «приправив» их на-
иболее интересными возможностями
GUI других ОС.
И KDE, и GNOME имеют как свои
сильные стороны, так и слабые. На-
чать стоит с того, что основаны они
на базе различных кроссплатформен-
ных библиотек. GNOME, созданный
на базе библиотеки GTK/GTK+, име-
ет строгий «классический» вид, одна- Windows XP
ко более удобную организацию меню,
да и остального интерфейса в целом.
В отличие от него, KDE, основанный
на Qt, более «красив», однако в по-
гоне за разнообразием и количест-
вом функций он становится сложнее
в использовании для обычных поль-
зователей.
А теперь поговорим о каждом
из оконных интерфейсов более под-
робно.
За время своего существования
KDE (начало проекту было положено
в 1996 году, выпуск первой версии –
в июле 1998 года) успел пережить мно-
жество версий и на данный момент ос-
тановился на 4.х.
И KDE, и GNOME внешне старают-
ся быть похожими на графический ин-
терфейс Windows, попутно заимствуя
лучшие особенности GUI других опе-
рационных систем. Панель под наз-
ванием KDE Desktop Panel, находя- Windows Vista
щаяся в нижней части экрана интер-
фейса оконного менеджера, является ный интерфейс способен демонстри- следующим образом: в списке откры-
аналогом панели задач в ОС Microsoft. ровать содержимое свёрнутого ок- тых окон на панели задач появляется
Точно так же она «несёт в себе» меню на в виде небольшого изображения, пункт нового ПО, в котором отобра-
«Start» (в KDE 4.0 получившее назва- в режиме реального времени отобра- жается индикатор процесса загрузки
ние «KickOff»), иконки часто исполь- жающего всё, что происходит с объ- программы.
зуемых программ, список открытых ектом. Для этого достаточно навес- Интересной особенностью ме-
окон и часы. ти курсором мыши на имя окна на па- ню «Start» является группировка про-
Единственное видимое различие нели задач. грамм по задачам (впрочем, данное
между двумя панелями заключается Многое программное обеспече- свойство относится ко всем оконным
в наличии на KDE Desktop Panel об- ние для Linux грузится достаточно менеджерам для Linux). Например, всё
ласти, в которой находятся четыре (по долго, не демонстрируя при этом ни- программное обеспечение для рабо-
умолчанию) виртуальных рабочих сто- какой видимой активности на экра- ты с графикой хранится в отдельной
ла. Начиная с четвёртой версии окон- не. В KDE данная проблема решена категории.
90
ретроспектива
KDE 4.0
ке Java с использованием API Java 3D ся текст заголовка, облегчающий по- ные графические интерфейсы, следу-
для достижения платформенной не- иск нужного приложения. ющие принципам, заложенным десят-
зависимости. Каждое окно имеет возможность ки лет назад. И ведь если немного за-
Внешне Looking Glass представ- разворота тыльной стороной, на кото- думаться: зачем «ломать» то, что де-
ляет собой трёхмерное рабочее про- рой пользователь может делать текс- сятки лет работает так же исправно,
странство с объёмными фоновы- товые заметки. Кроме того, она служит как и швейцарские часы?
ми изображениями и трёхмерной па- для вывода дополнительных меню на-
нелью задач, напоминающей Dock строек, не загромождающих основную 1. http://www.wikipedia.org.
из MacOS X v10.5. Трёхмерные иконки рабочую область. Наконец, для каждо- 2. http://www.arstechnica.com.
окон на ней в режиме реального вре- го окна существует опция настройки 3. http://www.sitepoint.com.
мени отображают своё содержимое, определённой степени прозрачности. 4. http://toastytech.com.
которое можно увидеть, просто наве- 5. http://www.mprove.de.
дя курсор на пиктограмму. С компьютером на «ты» 6. http://www.guidebookgallery.org.
Одной из наиболее примечатель- Что же ждёт нас в будущем? Давайте 7. http://www.kde.org.
ных особенностей Looking Glass яв- пофантазируем: повсеместное рас- 8. http://www.gnome.org.
ляются объёмные окна, которые мож- пространение трёхмерных графичес- 9. Мороз Д. Окно в электронный мир: ис-
но не только перемещать традицион- ких интерфейсов? Управление ком- тория развития графического поль-
ным для «двухмерных» GUI способом, пьютером при помощи голоса, жести- зовательского интерфейса. Часть 1.
но и вращать относительно вертикаль- куляции или даже глаз? А может, через //Системный администратор, №11,
ной оси. В результате не используемое несколько лет нам предложат абсолют- 2007 г. – C. 86-91.
в данный момент окно пользователь но новую концепцию GUI, основанного 10. Мороз Д. Окно в электронный мир: ис-
волен повернуть торцом к плоскости на концепции «виртуальной реальнос- тория развития графического поль-
экрана, дабы оно не занимало лишнее ти»? Будущее покажет. Ну а пока пот- зовательского интерфейса. Часть 2.
место на рабочем пространстве. В до- ребности большинства пользователей //Системный администратор, №12,
полнение к этому на торце размещает- продолжают удовлетворять двухмер- 2007 г. – C. 82-89.
Поддержка корпоративных
пользователей Windows Vista
Тони Нортроп, Дж. К. Макин
Но даже если вы и не планируете вой политики; решение проблем, свя-
сдавать данный тест, а являетесь сис- занных с настройками системы безо-
темным администратором или специ- пасности и установка обновлений; нас-
алистом по поддержке пользователей тройка аутентификации, авторизации
на предприятии, где по тем или иным и шифрования; работа с событиями
причинам используется Windows Vista, и решение проблем настройки произ-
данная книга будет весьма полезна. водительности; настройка сети и ре-
Большинство вышедших изданий, пос- шение возникающих проблем, подклю-
вященных Windows Vista, рассматри- чение клиентских компьютеров и уда-
вают данную операционную систему ленный доступ к операционной систе-
как работающую на отдельно стоящем ме. К учебнику прилагается CD-диск
компьютере, подключенному к Интер- с демонстрационной версией экзаме-
нету, или максимум взаимодействую- национного теста, дополнительными
щую с другими хостами домашней се- упражнениями и PDF-версией данной
Еще один учебный курс по Windows ти. В данном же учебнике рассматри- книги на английском языке.
Vista позволит подготовиться к сер- ваются темы, без знания которых вам
тификационному тесту на получение не обойтись, если вы вынуждены об- n Издательство: «Русская Редакция»
звания Microsoft Certified IT Professional служивать десятки или сотни инстал- n Год издания: 2008
(MCITP): Enterprise Support Technician. ляций данной операционной системы. n Количество страниц: 560
Кстати, как и сама книга, данный экза- Изучив это пособие для самоподго- n ISBN: 978-5-7502-0363-5
мен доступен на русском языке, что уп- товки, вы познакомитесь с такими те- n Цена: ≈ 577 руб.
рощает «вход» в армию сертифициро- мами, как установка и развертывание Книга предоставлена интернет-магазином
ванных специалистов Microsoft. ОС на предприятии; настройка группо- Books.Ru.
92
книжная полка
Отпраздновали
Был такой случай. Звонят мне из бухгалтерии, говорят, что ниче-
го не работает, не могут работать с «1С», в общем, беда. Я беру
на всякий случай свитч и бегу туда. Открываю дверь и вхожу. Кар- Знакомство с мышью
тина маслом: сонное царство на привале, одна из бухгалтерш во- Работаю сисадмином в учреждении здравоохранения. Всяких на-
обще спит на стуле и подает мало признаков трудового дня. Мед- видался юзверей, но недавно встретил просто уникума, короче
ленно ползу к свитчу, смотрю на лампочки и поражаюсь его состо- говоря, у тетки реальный трабл по жизни. Мышь она почувство-
янию (мигает всем, чем можно), думаю: «Сдох, бобик». вала в руках впервые, как я поставил им всем новое специали-
Запустил пинг и начал дергать порты, подумав, что вчераш- зированное ПО. До этого момента все они кувыркались в сине-
няя гроза могла какой-то порт вышибить. На 10-м порту пинги ющем DOSе и FOX Pro 4.0, короче, зрелище удручающее!!! Пы-
пошли, и все стало хорошо. Начал искать, откуда ноги растут, таюсь объяснить человеку, как пользоваться мышью. Это вы все
воткнул и начал дергать шнурки на системниках – ничего. Решил думаете, что фигня полная – две клавиши, скролл и тягай куда
пройтись по проводу и... эти нехорошие женщины закольцевали попало. СЕЙЧАС! Только не для нее! После объяснения, нагляд-
свитч!!! Я был вне себя! Оказалось, что у какой-то бухгалтерши ных инструктажей тетка хватает мышь, поднимает ее над голо-
был день рождения, и все остальные были просто не в состоянии вой и начинает кликать, как автомат Калашникова, без останов-
работать. И вот таким нахальным, но глупым образом они реши- ки. Любой геймер мог бы позавидовать скорости кликов за ми-
ли отлынивать. Все это, естественно, списывали на неработоспо- нуту, да я и сам малость офигел. Пытаюсь не отвлекать ее осо-
собность сети, за что получили по мозгам от высшего начальства. бо от процесса, осторожно интересуюсь: «А что Вы сейчас пыта-
Надеюсь, что такого больше не повторится. етесь сделать?» – та, не останавливаясь ни на секунду и продол-
_hunter@mail.ru жая молотить по клавише, отвечает: «Да вот, пытаюсь вот на эту
кнопку ткнуть!!!»
Короче, я полностью ушел в осадок, осознавая тот факт, что
Излучал 10 минут обучения работы с «наикрутейшим манипулятором, осо-
Ремонт. Сервер стоит в зале с операторами. Смотрю – пропал, бо офигенной сложности» были для нее, как основы термодина-
нет сервера. Прихожу проверить – его нет на месте вообще (!?), мики и квантовой физики вместе взятые...
пропал, одни провода остались. slider2000@inbox.ru
Немая сцена – ГДЕ??? Смотрю – в углу стоит мой сервак...
Спрашиваю тетку: «ЗАЧЕМ ВЫ ЭТО СДЕЛАЛИ!?»
Она на меня смотрит чистыми глазами и говорит: «Он на ме-
ня излучал...».
Vera Novikova По материалам сайта «Сисадмин тоже человек» –
http://sysadmin.mail.ru
94
подписка на 2009 год
Российская Федерация печати «Гасид» (370102, г. Баку, ул. Джавадхана, 21)
n
Подписной индекс: годовой – 20780, полугодовой – 81655 n
Казахстан – по каталогу «Российская Пресса» через
Каталог агентства «Роспечать» ОАО «Казпочта» и ЗАО «Евразия пресс»
n Подписной индекс: годовой – 88099, полугодовой – 87836 n
Беларусь – по каталогу изданий стран СНГ через РГО
Объединенный каталог «Пресса России» «Белпочта» (220050, г. Минск, пр-т Ф. Скорины, 10)
Адресный каталог «Подписка за рабочим столом» n
Узбекистан – по каталогу «Davriy nashrlar» российс-
Адресный каталог «Библиотечный каталог» кие издания через агентство по распространению пе-
n Альтернативные подписные агентства: чати «Davriy nashrlar» (7000029, г. Ташкент, пл. Муста-
Агентство «Интер-Почта» (495) 500-00-60, курьерская киллик, 5/3, офис 33)
доставка по Москве n Армения – по списку номенклатуры «АРЗИ» через
Агентство «Вся Пресса» (495) 787-34-47 ГЗАО «Армпечать» (375005, г. Ереван, пл. Сасунци Да-
Агентство «Курьер-Прессервис» вида, д. 2) и ЗАО «Контакт-Мамул» (375002, г. Ереван,
Агентство «ООО Урал-Пресс» (343) 375-62-74 ул. Сарьяна, 22)
ЛинуксЦентр www.linuxcenter.ru n Грузия – по списку номенклатуры «АРЗИ» через АО
n Подписка On-line «Сакпресса» ( 380019, г. Тбилиси, ул. Хошараульская, 29)
http://www.arzi.ru и АО «Мацне» (380060, г. Тбилиси, пр-т Гамсахурдия, 42)
http://www.gazety.ru n Молдавия – по каталогу через ГП «Пошта Молдовей»
http://www.presscafe.ru (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
по списку через ГУП «Почта Приднестровья» (МD-3300,
СНГ г. Тирасполь, ул. Ленина, 17)
В странах СНГ подписка принимается в почтовых отделе- по прайс-листу через ООО Агентство «Editil Periodice»
ниях по национальным каталогам или по списку номенк- (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
латуры «АРЗИ»: n Подписка для Украины:
n Азербайджан – по объединенному каталогу россий- Киевский главпочтамт
ских изданий через предприятие по распространению Подписное агентство «KSS», тел./факс (044)464-0220
Подписные
индексы:
20780 *
+ диск с архивом
статей 2008 года
81655 **
без диска
по каталогу агентства
«Роспечать»
88099 *
+ диск с архивом
статей 2008 года
87836
без диска
**
по каталогу агентства
«Пресса России»
*
Годовой
**
Полугодовой
***
Диск вкладывается
в февральский
номер журнала,
распространяется
только на территории
России
УЧРЕДИТЕЛИ
Частные лица
Вышел DVD-диск с архивом
РЕДАКЦИЯ
Генеральный директор
номеров журнала за 2007 год
Владимир Положевец
Ответственный секретарь Что на диске? NeTAMS 3.4.1rc1;
Наталья Хвостова n Архив 12-ти номеров журнала «Системный ад- IPStat 0.9.7.2;
sekretar@samag.ru министратор» за 2007 год. Linux kernel 2.6.24.1;
Технический редактор n Архив всех выпусков электронного приложе- BIND 9.4.2 (+ win32);
Владимир Лукин
ния «Open Source» за 2007 год. OpenSSL 0.9.8g;
Главный редактор n Программные продукты от партнеров журна- OpenSSH 4.7p1;
электронного приложения ла (триальные версии): Samba 3.0.28;
«Open Source» Kerio MailServer 6.5; Squid Web Proxy Cache 2.6.STABLE18;
Дмитрий Шурупов Kaspersky® Internet Security 7.0; CUPS 1.3.6;
Антивирус Касперского ® 7.0; Clam AntiVirus 0.92.1 (+ Clamwin 0.92);
Внештатные редакторы Система контроля доступа Zlock 2.0; Webmin 1.400;
Алексей Барабанов
Валентин Синицын Прокси-сервер UserGate 4.2; Bacula 2.2.8;
Рашид Ачилов Handy Backup 5.8; Amanda 2.5.2p1;
Влад Глагольев Paragon Drive Backup 8.51 Enterprise Server n Пользовательское ПО:
Андрей Уваров Edition; OpenOffice.org 2.3.1 (LinuxIntel, Win32Intel);
Олег Щербаков Network Inventory 1.6.0; Mozilla Firefox 2.0.0.12 (Linux, win32);
Андрей Бирюков FastReport Server 1.0.10 demo; Mozilla Thunderbird 2.0.0.12 (Linux, win32);
Андрей Шетухин ABBYY Lingvo 12; Mozilla Seamonkey (Linux, win32);
РЕКЛАМНАЯ СЛУЖБА WinRar 3.71; Mozilla Sunbird 0.7 (Linux, win32);
тел./факс: (495) 628-8253 Linux-дистрибутив Mandriva One 2008; Pidgin 2.4.0 (+ win32);
Евгения Тарабрина (доб. 119) Linbox Rescue Server 20070703. SIM IM 0.9.4.3 (+ win32);
reсlama@samag.ru n Серверы/сети/администрирование: X-Chat 2.8.4 (+ 2.8.5e win32);
FreeBSD 7.0-RELEASE; aMule 2.1.3 (+ win32);
Верстка и оформление Apache HTTP Server 2.2.8 (+ win32); GIMP 2.4.5 (+ 2.4.4 win32);
maker_up@samag.ru nginx 0.6.26, 0.5.35; MPlayer 1.0rc2 (+ win32);
Дизайн обложки lighttpd 1.4.18; VLC media player 0.8.6e (+ win32);
Дмитрий Репин ProFTPD 1.3.1; WINE 0.9.56;
PureFTPd 1.0.21; DOSBox 0.72 (+ win32);
По вопросам распространения vsftpd 2.0.6; DOSEMU 1.4.0;
обращайтесь по телефону: Sendmail 8.14.2; Midnight Commander 4.6.1;
Светлана Зобова Postfix 2.5.1, 2.6-20080221 (experimental); Vim 7.1 (+ gvim71);
(495) 628-8253 (доб. 121) Courier Mail Server 0.58.0; 7-Zip 457 (+ win32);
107045, г. Москва, Exim 4.69; GnuPG 2.0.8 (+ w32cli 1.4.8).
Ананьевский переулок, дом 4/2, стр. 1 SpamAssassin 3.2.4;
тел./факс: (495) 628-8253 DSPAM 3.8.0; Как получить диск в подарок?
Сайт журнала: www.samag.ru Policy Daemon 1.82; n Клиенты компании SecurIT, заказавшие Zserver
SquirrelMail 1.4.13; в любой комплектации или более 50 лицензий
ИЗДАТЕЛЬ RoundCube 0.1-rc2; Zlock, получат диск в подарок.
ООО «С 13» MySQL 5.0.51a (+ win32);
Отпечатано типографией
ГП «Московская Типография №13» PostgreSQL 8.3.0 (+ win32); Где можно приобрести диск?
Тираж 17000 экз. Firebird 2.0.3.12981 (+ win32); n В редакции ж урна ла «Сис темный а дми-
SQLite 3.5.6 (+ win32); нистратор» по адресу: г. Москва, Ананьев-
Журнал зарегистрирован в Министерстве РФ Perl 5.10.0; ский переулок 4/2, стр. 1, в офисе 13 (мет-
по делам печати, телерадиовещания и средств PHP: 5.2.5 (+ win32); ро «Сухаревская»).
массовых коммуникаций (свидетельство ПИ № Python 2.5.2 (+ win32); n В online-магазине Linuxcenter.ru.
77-12542 от 24 апреля 2002 г.).
Ruby 1.8.6-p111, 1.9.0-1; n В интернет-супермаркете Softkey.ru.
За содержание статьи ответственность несет
Nmap 4.53 (+ win32); n Для обитателей и посетителей Савеловско-
автор. Мнение редакции может не совпадать Ettercap 0.7.3.tar.gz (+ win32); го рынка, диск можно купить в точке торговли
с мнением автора. За содержание рекламных Ethereal 0.99.0 (+ win32); печатными изданиями у главного входа.
материалов ответственность несет рекламо- Snort 2.8.0.2;
датель. Все права на опубликованные мате- MRTG 2.16.1; Сколько стоит?
риалы защищены. NuFW 2.2.9; Цена в редакции – 150 рублей.
tcpdump 3.9.8;
96