ЛИ
С
ЛИ
ТЯ Е
Ж ПИ
ЗА ДНИ
НУ
РА КУ
ЛЫ ГО
ТИ РАС
К У ВО
РО
№5(78) май 2009
НИ НО
СТ
БЫ
подписной индекс 20780
КА
www.samag.ru
ЬГ
ЬД О
БО А
К
ИС НН
ЕН
РА СК
ТЕ
УС
ИЛ ДА
У
ТП
НА П
Л ОТ
НЧ ЖИ
ВО
РА ЛЕ
КО НЕО
Л
Устанавливаем Windows XP
АВ ОС
ХА
УЕ
ЗА
с помощью SCCM 2007 R2
Доступный WiMAX
Так видит журнал читатель, оформивший подписку:
Мониторинг Cisco IDS/IPS
на примере модуля IDSM2
c помощью MRTG
Работаем с FTP-сервером
из «1С»
ПОДПИШИТЕСЬ И ЧИТАЙТЕ! Портал в стиле Web 2.0
Роспечать – 20780, 81655 Python: сложные аспекты
Пресса России – 88099, 87836
Интер-почта – тел. (495) 500-00-60 Sun Tech Days 2009:
кризис не помеха
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Прогноз погоды на второе полугодие 2009.
Небо над админами будет безоблачное, обзоры выставок, конференций и других мероприятий
в журнале позволят вам реже отрываться от компьютеров.
Все знают, что в редакции нашего журнала живет Админский приз. Мы называем его просто Приз.
Случилось так, что к 2009 году Админский приз вырос и приобрел необыкновенные свойства.
Он так и тянется к самым любознательным, опытным и общительным. А еще Приз стал очень капризным:
он утверждает, что достанется только тем, кто даст правильные ответы на его загадки. Приз также
обожает слушать истории. Любит интересные рассказики и с удовольствием сидит на форумах.
Приглашаем вас принять участие в розыгрыше призов «Админский приз 2009». Вам понадобится
собрать коды из журналов и получить дополнительные коды за активность на форуме, за победы
на чемпионате по игре «АУТСОРСЕР», за правильные ответы на задачи. Дополнительные коды
увеличивают ваши шансы на победу!
Так полюбившийся вам на пакетах мозг запросто окажется ковриком у вас на столе.
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
3 ТЕНДЕНЦИИ 50 Доступный WiMAX
Подключение USB-модема Samsung SWC-U200 к мар-
РЕПОРТАЖ шрутизатору Asus WL-500gP.
Павел Закляков,
4 Sun Tech Days 2009: кризис не помеха Георгий Пахомов
В Санкт-Петербурге прошла очередная конференция
Sun Tech Days. 60 Обзор операционной системы
Кирилл Сухов gNewSense GNU/Linux 2.2 Deltah
Знакомство с gNewSense.
АДМИНИСТРИРОВАНИЕ Игорь Штомпель
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Open Source разветвляется: компании Nokia так анонсировал новый проект: «oFono.org –
Nagios – ICINGA, MySQL – ODA это место, которое соберет разработчиков для совместного
На май пришлась точка кипения сообществ сразу двух из- проектирования инфраструктуры для создания приложений
вестных Open Source-проектов: Nagios и MySQL. Энтузиас- для мобильной телефонии (GSM/UMTS). Наработки oFono.
ты настолько устали от давления со стороны главных ком- org лицензированы под GPLv2 и включают высокоуровне-
мерческих компаний, занимающихся развитием этих про- вый D-Bus API, который может использоваться телефонны-
дуктов, что решили запустить альтернативные ветки. ми приложениями, распространяемыми под любыми лицен-
Так, в начале мая у популярного средства мониторин- зиями. Кроме того, в oFono.org входит низкоуровневый под-
га Nagios появилось ответвление ICINGA. Авторы форка ключаемый API для интеграции как с Open Source-, так и
объяснили причины появления нового проекта на сайте со сторонними телефонными стеками, сотовыми модема-
www.icinga.org. Если вкратце, то компания Nagios Enterprises ми и бэкендами хранения. Функциональность этого API ос-
LLC, обеспечивающая коммерческую поддержку Nagios, нована на общедоступных стандартах – в частности, 3GPP
в последнее время стала всерьез докучать любым сторон- TS 27.007 AT command set for User Equipment (UE)».
ним инициативам, действующим в отношении к Open Source- Поддержкой проекта занимаются Intel и Nokia – при этом
проекту Nagois. В частности это проявляется в постоянной компании приглашают всех заинтересованных разработчи-
медлительности в принятии патчей сообщества к базово- ков для присоединения к проекту. Исходный код наработок
му коду Nagios, а также в регулярных запретах использо- oFono доступен на ofono.org/downloads.
вания названия Nagios и требованиях переименовывать Незадолго до этого Intel уже совместно с Novell объяви-
сайты/проекты. В ICINGA намерены устранить эти пробле- ла о начале сотрудничества в области развития мобильной
мы, поддерживая классическую модель разработки при- Linux-платформы Moblin и ее продвижения среди произво-
ложения всем Open Source-сообществом. Авторы обеща- дителей аппаратного обеспечения (OEM). Одновременно
ют полную совместимость с Nagios, а свой первый релиз – Novell также анонсировала намерение разработать свой
уже в конце мая. Первую стабильную версию ICINGA сто- программный Linux-продукт на базе Moblin, ориентирован-
ит ожидать 28 октября 2009 года. ный на использование на нетбуках.
А в середине месяца компании Monty Program Ab Более того, в Novell собираются учредить лабораторию
и Percona, специализирующиеся на СУБД MySQL, объяви- Open Labs в Тайване, которая будет сотрудничать с центром
ли о создании консорциума Open Database Alliance (ODA) Taiwan Moblin Enabling Center (MEC) – совместной инициа-
для обеспечения независимой поддержки MySQL. Open тивой Intel и Тайваньского института информационной про-
Database Alliance намерен собрать вокруг себя компании, мышленности (Taiwan Institute for Information Industry). Заяв-
заинтересованные в дальнейшем развитии открытой СУБД ляется, что в Novell Open Labs займутся «развитием адап-
и предоставлении различных услуг на ее базе. Что инте- тации» Moblin при содействии и участии MEC.
ресно, среди главных инициаторов ODA оказался Миха-
эль Видениус (Michael «Monty» Widenius) – автор ориги- Linux.com обновился и стал социальным
нальной версии СУБД MySQL, покинувший Sun более по- Некоммерческая организация Linux Foundation, занима-
лугода назад и ныне руководящий своей компанией Monty ющаяся продвижением свободной операционной систе-
Program Ab. Последняя работает над MariaDB – ответвле- мы GNU/Linux, объявила о запуске новой версии сайта
нием СУБД MySQL, использующим в качестве движка хра- Linux.com.
нения Maria. Ресурс был создан в результате достигнутого в марте
Вот как Видениус прокомментировал появление ODA: соглашения с SourceForge по дальнейшему развитию Linux.
«Наша цель с Open Database Alliance – предоставить глав- com под руководством Linux Foundation. Помимо традици-
ный информационный центр для разработки MySQL, под- онной информации вроде новостей, статей и документа-
держать по-настоящему открытую экосистему разработки ции на сайте представлена интересная особенность – сис-
с непосредственным участием сообщества, обеспечить вы- тема оценки знатоков Linux («Linux Guru Rankings»). По за-
сокое качество кода MySQL. Участники альянса на данный думке авторов, такая система будет способствовать эф-
момент будут обладать значительным голосом при решении фективному взаимодействию пользователей и разработ-
вопросов о том, какой должна быть структура организации, чиков, которые будут обмениваться своими знаниями, на-
и мы заинтересованы в сотрудничестве со всеми в индуст- капливая баллы.
рии, кто зависит от MySQL или работает над ней». По итогам каждого года редакция Linux.com будет на-
Сооснователем ODA стал Петр Зайцев (Peter Zaitsev) – граждать главных знатоков. Так, первый гуру получит Linux-
наш соотечественник, являющийся исполнительным ди- ноутбук, на котором поставит свой автограф создатель яд-
ректором хорошо известной в сообществе MySQL компа- ра Linux Линус Торвальдс (Linus Torvalds). Еще 5 лучших бу-
нии Percona Inc. дут приглашены на Linux Foundation Collaboration Summit
и займут почетные места «представителей сообщества»
В Open Source-телефонии очередные на собраниях по планированию развития Linux.com. На-
подвижки – с новым проектом oFono конец, 50 лидеров попадут в ежегодно публикуемый Linux
Компании Intel и Nokia объявили о запуске нового Open Foundation список главных знатоков.
Source-проекта, призванного разработать открытое реше-
ние, реализующее возможности телефонии, – oFono. Подготовил Дмитрий Шурупов
Аки Ниеми (Aki Niemi) из подразделения Maemo Software по материалам www.nixp.ru
В
этом году традиционная встречасостояния моровой экономики была сударственного университета (СПбГУ)
разработчиков, использующих посвящена существенная часть пер- вычислительного комплекса, включаю-
технологии Sun Microsystems, вой пресс-конференции. щего счетный кластер и учебный класс
проходила на Васильевском остро- По словам Джита Кола, понима- на 20 рабочих станций Sun Ultra 24.
ве в павильонах выставочного цент- ние того, что условия могут изменить- Ранее, 7 февраля, компания Sun
ра «Ленэкспо». ся, пришло ещё три-четыре года на- объявила об открытии центра компе-
Хотелось этого или нет, но фоном зад, и тогда же были предприняты ша- тенции по программным продуктам
конференции был кризис и связанные ги для работы. В первую очередь это и решениям с открытым исходным ко-
с ним тревожные слухи о судьбе корпо-развитие многоядерных вычислитель- дом на базе Центра высоких техноло-
рации. Несмотря на это на самом ме- ных систем, открытых систем хранения гий Sun Microsystems в Санкт-Петер-
роприятии о тяжестях, переживаемых данных, инвестиции в новые, перспек- бурге. Эта инициатива представляет
мировой экономикой, хотелось думать тивные технологии. Всё это дало свои собой демонстрационную и тестовую
меньше всего – столько интересного результаты – к кризису Sun подошли площадку для партнеров, нынешних
было показано. К экономическим ре- с некоторым заделом. Как объяснил и потенциальных партнёров Sun, а так-
алиям вернули только сами сотрудни- Джит, деньги можно зарабатывать раз- же студентов.
ки Sun, но об этом позже. личными путями, и если тот сегмент Интерес Sun к нашей стране не слу-
Первый день начался пленарным бизнеса корпорации, который опирал- чаен. Россия сегодня является одной
докладом Джита Коула (Jeet Kaul), ви-ся на традиционные технологии, раз- из трех стран (наряду с США и Индией)
це-президента подразделения кли- работанные десятилетие назад, сей- с самым большим сообществом разра-
ентского программного обеспечения час и в самом деле испытывает замет- ботчиков. По данным Григория Лабзов-
(Client Software Group). Джит много го-
ный спад, то сегмент новых технологий ского (директора Санкт-Петербургско-
ворил о приверженности Sun откры- вполне продолжает развиваться. го центра разработки Sun Microsystems),
тым технологиям и о причинах этой Боб Поррас (Bob Porras), вице-пре- у нас существует около 50 000 актив-
приверженности. Были озвучены до- зидент подразделения Solaris Data, ных разработчиков, поддерживающих
стижения корпорации в таких направ- Availabiliy, Scalability и HPC, заявил, регулярную связь с центром, среди них
лениях, как OpenSolaris, VirtualBox, что одним из важных последствий кри- свыше 10 000 студентов.
MySQL, GlassFish и других. Не были зиса стало ускорение перехода ряда В связи с этим ожидаемой новостью
обойдены стороной средства разра- ведущих компаний на открытые плат- стало объявление о начале действия
ботки – NetBeans и SunStudio, а такжеформы, на программное обеспечение в нашей стране программы Sun Startup
концепция Cloud Computing. с открытым исходным кодом. Поэтому Essential, предоставляющей начинаю-
Большое внимание в пленарном компания Sun твердо намерена вос- щим российским компаниям особые,
докладе было посвящено Rich Internet пользоваться кризисом к своей выго- благоприятные условия для приобре-
Applications и вообще клиентским тех-де, опираясь на стратегию продвиже- тения и сопровождения оборудова-
нологиям, в первую очередь платфор- ния открытого ПО. ния и программного обеспечения Sun
ме JavaFX. Рассказ сопровождался Григорий Лабзовский, директор Microsystems.
эффектными демонстрациями, из ко- Санкт-Петербургского центра разра- Кому-то это может показаться
торых наиболее запомнилось приме- ботки программного обеспечения, за- странным, но, по уверению Боба Пор-
нение технологии Sun SPOT в проек- явил, что компания намерена актив- раса (Bob Porras), вице-президента
те «Сенсомоторный интерфейс управ- но заниматься продвижением идеи от- подразделения Solaris Data, Availability,
ления пользователя». крытого ПО на всех уровнях, и это сей- Scalability и HPC, для Sun Microsystems
После пленарного доклада при- час особенно актуально с учетом того, потенциал роста экономики России
шлось буквально разрываться – разу- что правительство с недавних пор про- представляется очевидным. Руко-
меется, присутствовать на всех докла-никлось идеей Open Source. Sun уже водствуясь этим, Sun планирует про-
дах и пресс-конференциях я не смог, вступила в недавно созданную Рос- должать вкладывать сюда средства
посему обо всех последующих собы- сийскую ассоциацию свободного про- как за счет участия в разработке ПО
тиях рассказываю не в хронологичес- граммного обеспечения (РАСПО) и ак- с открытым кодом, так и при помощи
ком порядке, а по основным темам кон-тивно взаимодействует с Минкомсвязи прямых инвестиций.
ференции. по вопросам внедрения открытого ПО. Возвращаясь к положению корпо-
Последней инициативой Sun в этой рации в свете мирового экономическо-
Кризис и социальная области в России стал состоявшийся го кризиса, следует заметить, что всё
ответственность 7 апреля 2009 года ввод в эксплуата- это происходило в свете недавних упор-
Работе корпорации и её технологичес- цию переданного в дар физическому ных слухов о несостоявшейся сделке
ких партнёров в условиях непростого факультету Санкт-Петербургского го- по покупке компании IBM. Я задал воп-
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Платформе JavaFX была целиком
посвящена и вторая пресс-конферен-
ция, Джит Кол отвечал на вопросы ку-
рируемой им разработки. Лично меня
интересовали сроки выхода JavaFX
SDK для платформы Linux (пока есть
только под Windows), и я не преминул
воспользоваться служебным положе-
нием. Был получен вполне определён-
ный ответ – в июне, после проведения
конференции JavaOne.
Напоследок сотрудники Sun за-
интриговали слушателей проектом
JavaFX TV, но детали прояснить отка-
зались. Прямая цитата: «Я знаю, что
это такое, но не скажу».
OpenSolaris
Роман Штробл Это, естественно, была самая популяр-
ная тема конференции, которой было
рос об этом одному из сотрудников Sun Это потенциально широчайший, посвящено больше всего докладов
после окончания пресс-конференции не имеющий аналогов рынок распро- и практических занятий.
и получил ответ, что такие переговоры странения приложений. В общем, вы- Начало было положено Крисом Ар-
и правда имели место. А ещё услышал ражаясь лозунгами, JavaFX – единая месом (Chris Armes) докладом «Что та-
спасибо за то, что не задал подобного платформа для разработки и распро- кое OpenSolaris и чем он хорош?». Затем,
вопроса на пресс-конференции. странения программ для всех экранов логически развивая неизбежное, после-
Впрочем, сейчас, когда я пишу эти вашей жизни. довали два доклада Романа Штробла
строки, мы уже знаем, чем всё закон- В день открытия конференции Sun (Roman Strobl) «Как эффективно перей-
чилось (см. врезку «Солнечное затме- Microsystems представила платформу ти на OpenSolaris» и «Эффективная ра-
ние»), и оптимистичные слова Джита JavaFX Mobile – средство для создания бота в OpenSolaris» и Игоря Никифоро-
Коула, естественно, не кажутся теперь на базе Java решений для беспровод- ва «Как перенести приложение с откры-
такими убедительными. Впрочем, без- ной связи, которые в полной мере ис- тым кодом в OpenSolaris?»
надёжный бизнес, наверное, никого бы пользуют многофункциональные кон- Далее в докладах, проходивших
не заинтересовал. Мне кажется, что то, тент-сервисы и в то же время сохраня- в секции «OpenSolaris», обсуждались
что произошло, далеко не худший вы- ют весь потенциал Java Platform Micro вопросы оптимизации, виртуализации,
ход для компании. Edition (JavaME). применения средств разработки. Отде-
В докладе «JavaFX: платформа льное выступление было посвящено
Технология JavaFX для привлекательных интерактивных реализации концепции OpenStorage.
JavaFX была посвящена чуть ли не по- интернет-приложений» Александ- Завершалась секция докладом
ловина «клиентской» секции конфе- ров Зуев рассказал о концепции Rich Кристофа Скубы (Christoph Schuba)
ренции. Эта платформа провозгла- Internet Application и обосновал необхо- «Обеспечение безопасности при раз-
шена флагманской технологией ком- димость нового средства разработки работке и внедрении».
пании. для их реализации (почему не Java?). Всюду раздавали диски с различ-
В своей статье о JavaFX в №4 Затем был рассказ об особенностях ными вариантами дистрибутива. Про-
за 2009 год я, как выяснилось, допус- платформы JavaFX и языка JavaFX ходили мастер-классы по различным
тил ряд неточностей, и тут самое вре- Script с многочисленными примерами аспектам применения системы (ZFS,
мя их исправить. кода. Были показаны примеры реали- DTrace, виртуализация сетевых интер-
Прежде всего JavaFX – это среда, зации различных графических и фото- фейсов Crossbow).
в основе которой лежит платформа эффектов, анимации, встраиваемого
Java, и работающая там, где есть Java. видео и многого другого. При этом лю- MySQL
Принцип write once run anywhere здесь бого скептика бы поразило, как легко В докладе «MySQL: взгляд в будущее»
воплощён в том, что одна и та же про- с применением новой технологии мо- Константин Осипов рассказал о но-
грамма предназначена для настоль- жет быть реализовано то или иное гра- вых возможностях СУБД, появивших-
ного ПК, мобильника, а в будущем фическое/мультимедиа решение. ся в версии 5.1 (partitioning, row-based
и для TV. Продолжил рассказ о JavaFX Вя- replication (RBR), event scheduler, под-
Что особенного в JavaFX? Это мо- чеслав Баранов в докладе «JavaFX: держка XML/XPath, диспетчер событий
дель разработки за счёт декларатив- анимация и медиа», в котором подроб- и др.). При этом докладчик постарался
ности языка, позволяющая отделить но осветил технологию реализации ме- развеять слухи о неготовности проек-
дизайнеров от программистов. диаконтента и анимации. та 5.1 и всякие мрачные домыслы, свя-
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
занные с уходом из проекта MySQL её ванных на Java, в мобильных устрой- Project Kenai включает все основ-
основателей. ствах. Цифры, приведённые в начале ные сервисы для подобных площа-
После рассказа об изменении этого выступления, впечатляли – «мо- док, как то: форумы, списки рассылок,
в процессе и цикле разработки СУБД бильная Java» используется более чем Wiki. Большое внимание уделено воз-
(внедрена Bazaar) был сделан обзор в шести миллиардах различных уст- можностям совместной работы – сис-
возможностей ветки 5.x в целом, а так- ройств, в том числе в двух с половиной темы контроля версий представлены
же будущих возможностей MySQL 6.x. миллиардах телефонов. В этом безоб- Subversion, Mercurial и любимым Тор-
Было интересно послушать про фор- разии задействованы 180 миллионов вальдсом Git. Для отслеживания оши-
ки MySQL (XtraDB, OurDelta, Drizzle), разработчиков. Очевидно, чтобы за- бок предусмотрена возможность ис-
также про движки сторонних произво- нять разработчиков ещё больше, в Sun пользования систем Jira и Bugzilla.
дителей, а это, кроме давно привычно- на достигнутом не останавливаются, Впрочем, на прямой вопрос, чем дан-
го InnoDB, ещё и PrimeBase XT, Sphinx технология непрерывно развивается. ный проект принципиально отлича-
SE и Maria. Рассказывалось о новой платфор- ется от, скажем, от SourceForge, осо-
ме JavaFX Mobile, о релизе MIDP 3.0 бо подчеркивалось наличие «On-line-
DTrace (Mobile Information Device Profile), о кон- поддержки» пользователей. Вот толь-
Технологии DTrace было посвяще- цепции Mobile Services Architecture v2. ко в детали оной меня не посвятили, от-
но несколько выступлений. В докла- Также было уделено внимание специ- купившись бейсболкой.
де «DTrace: наблюдение за приложе- фикации JSR 290 (Language & XML User Стенд Cloud Computing оста-
ниями на Java и на языках сценариев Interface Markup Integration lu-ray. вил несколько странное впечатление.
в OpenSolaris» Саймон Ритер (Simon В секции клиентских технологий Два американца показывали на мони-
Ritter) в очередной раз представил тех- Василий Исаенко рассказывал о том, торе нечто не вполне внятное (что, в об-
нологию (хотя, по-моему, она давно не что нового произошло в техноло- щем, неудивительно, что там может
нуждается в представлении), показал гии JavaCard. Сама технология пред- быть наглядно) и много говорили про
основы её применения с примерами ко- ставляет собой открытую и не зави- «облачные» вычисления, но без всякой
да на языке D, рассказал о возможнос- сящую от производителя платформу конкретики. Очевидно, что данной те-
тях применения в технологии скрипто- для смарт-карт и прочих «умных» ус- мой Sun занимается, но, по-видимому,
вых языков (Python, PHP и т.д.). Закон- тройств с ограниченными ресурсами. показывать результаты ещё рановато.
чил Саймон рассказом о применении JavaCard совместима с существующи- Также на стендах были представ-
DTrace для диагностирования прило- ми стандартами для смарт-карт. лены другие продукты и технологии
жений MySQL, и эта тема была под- При изучении стендов больше все- компании – SunStudio, JavaME, JavaFX,
хвачена на следующий день коротким, го заинтересовали проекты: OpenSolaris, проект BlackBox (Sun MD
но очень познавательным докладом Project Kenai – проект Sun по хос- S20).
Алексея Копылова «Поддержка DTrace тингу открытых проектов. На стен-
в MySQL: способы решения типичных де проекта сотрудники подчёркивали, University Day
проблем с производительностью». что он предназначен для разработок, Третий день конференции – «University
Закрепление материала на прак- не обязательно использующих техно- Day» был организован специально для
тике состоялась в конце первого дня логии Sun. Основное условие – проект студентов и преподавателей. На нём
конференции, в мастер-классе Фи- должен быть иметь лицензию, одоб- демонстрировались различные акаде-
липпа Торчинского «Глубокое изуче- ренную Open Source Initiative (OSI). мические программы Sun, программы
ние приложений на языке Java с по-
мощью Dtrace».
Второй день
Второй день открывал пленарный до-
клад Боба Порраса, посвящённый воп-
росам разработки, Open Solaris, кон-
цепции Open Storage и виртуализа-
ции (xVM Virtual Box). Был представ-
лен российский портал, посвящённый
OpenSolaris, – http://ru.opensolaris.org.
Также Боб рассказал о Sun Cloud – пуб-
личной сервис-ориентированной сети,
создаваемой специально для разра-
ботчиков, компаний-стартапов и сту-
дентов.
В докладе Константина Золотнико-
ва и Сергея Трошина «Мобильная Java:
что дальше» рассказывалось о перс-
пективах развития технологий, осно- Григорий Лабзовский
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Учет оборудования
с OCS Inventory NG и GLPI
Сегодня в любой организации много компьютерной
техники и прочего оборудования, учет которого, а также
прочих связанных затрат часто входит в обязанности
администратора. Применение специализированных систем
может значительно упростить эту задачу. В статье рассмотрим
решения OCS Inventory NG и GLPI, которые являются хорошей
альтернативой проприетарным продуктам.
Сергей Яремчук
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Возможности
OCS Inventory NG и GLPI
Система OCS Inventory NG (OCSNG,
Open Computers and Software Inventory
New Generation) [1] предназначена
для инвентаризации компьютеров
в локальной сети, комплектующих
и программного обеспечения. Также
с ее помощью можно удаленно разво-
рачивать программы на рабочих мес-
тах и получать информацию о сетевой
конфигурации.
G L P I (G e s t i o n L i b r e d e Pa r c
Informatique) [2] кроме задач по учету
компьютеров и входящих в их состав
комплектующих, позволяет инвен-
таризировать прочее оборудование,
включая расходные материалы (напри-
мер, картриджи), а также организовать Файл локализации OCSNG требует замены
службу технической поддержки, авто-
матизируя обработку обращений пользователей. Теперь n база данных – используется для хранения информа-
пользователь, вместо того чтобы бежать или звонить адми- ции, поддерживается MySQL от 4.1;
ну, заполняет, зайдя по адресу ресурса, заявку. Обращения n служба связи – обеспечивает связь по протоколу HTTP
обрабатываются с учетом их важности или в порядке оче- между сервером базы данных и программами-агента-
редности. Администратор выигрывает вдвойне – все обра- ми, требуется Apache Web Server 1.3.X/2.X с интегриро-
щения документируются, и можно спокойно отчитаться пе- ванным Perl (в Debian/Ubuntu пакет libapache-dbi-perl);
ред начальством о проделанной работе и затраченном вре- n служба развертывания – предназначена для хранения
мени, пользователи по этой же причине перестанут обра- установочных файлов программ-агентов, подходит лю-
щаться по мелочам. Не говоря уже о том, что звонки обыч- бой веб-сервер с поддержкой SSL;
но отвлекают от выполнения текущей работы. n консоль управления – просмотр собранных данных
Также с его помощью можно сформировать базу знаний, в браузере, требуется веб-сервер с поддержкой PHP
которая будет состоять из заметок, статей и ЧаВО, вести (с активированными ZIP и GD).
учет поставщиков, договоров. Доступно большое количест-
во отчетов (по договорам, финансовая, за год) и статистик Серверная часть OCSNG может быть установлена
(по заявкам, оборудованию, элементам). на компьютер, работающий под управлением Windows 2000
Поддерживается синхронизация календаря по прото- Professional/Server, XP Professional Edition и 2003, а так-
колам Ical, Webcal. Функциональность GLPI можно расши- же Linux, FreeBSD, OpenBSD, NetBSD, Solaris, IBM AIX
рить при помощи большого набора плагинов от сторонних и MacOS X.
разработчиков! Агент доступен для клиентских и серверных версий
Обе системы русифицированы (с некоторыми оговорка- Windows от 95 до Server 2008 R2, а также перечисленных
ми) и распространяются по лицензии GNU GPL. Linux (2.4/2.6, x86, x86_64/AMD64, Sparc64, ARM, PowerPC),
В GLPI, как и в Kwok Information Server [2], изначально MacOS X (10.3-10,5), FreeBSD/OpenBSD/NetBSD (x86/Sparc),
все данные вводятся вручную и сохраняются в базе данных Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.
MySQL. Затем администратор при помощи веб-формы мо- Следует отметить, что одним из недостатков как данно-
жет отобрать любую интересующую его информацию. Начи- го проекта, так и проекта GLPI является малое количество
ная с версии 0.65 GLPI поддерживает синхронизацию дан- документации. Хотя, понимая суть процесса, разобраться
ных с базами OCSNG, причем для этого не требуется ни- со всеми нюансами довольно просто.
каких дополнительных модулей. Хотя если в сети уже есть
сервер Nagios или Cacti, то данные о компьютерах и прочем Установка OCS Inventory в Ubuntu
оборудовании можно импортировать и оттуда. В середине апреля, после более чем года разработки, вы-
Основным плюсом OCS Inventory NG является то, что шла новая версия 1.02 OCSNG, о которой и пойдет речь да-
для сбора информации об установленном оборудовании лее. Пакет с OCSNG имеется в репозиториях многих дист-
с клиентских компьютеров и серверов используется про- рибутивов. Для примера в качестве сервера и клиента вы-
грамма-агент. Все собранные данные агенты отсылают на берем Ubuntu 8.04 LTS.
сервер управления (management server) в виде XML-потока, Проверяем, что есть в репозитории Ubuntu.
сжатого при помощи Zlib, для передачи используется стан-
дартный протокол HTTP/HTTPS. $ sudo apt-cache search ocsinventory
Сервер OCSNG состоит из 4 компонентов, которые могут ocsinventory-reports - Hardware and software inventory tool
(Administration Console)
быть установлены на одном или нескольких компьютерах:
12
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Alias /ocsreports /usr/share/ocsinventory-reports/ocsreports Эти же установки надо изменить в файле ocsinventory-
# Alias to put Deployement package files outside Apache
# document root directory reports.conf.
Alias /download /var/lib/ocsinventory-reports/download Набираем в браузере http://localhost/ocsreports/install.php
и в появившемся окне вводим логин и пароль для доступа
Поэтому при необходимости управления доступом к MySQL. По умолчанию в процессе установки для доступа
все изменения следует производить в упомянутых конфи- к базе ocsweb будет создана учетная запись ocs с паролем
гурационных файлах, иначе назначенные на корень права ocs. Если только доступ к базе не ограничен локальной сис-
не будут наследоваться. темой, то в целях безопасности пароль следует изменить:
Кроме этого создается файл, обеспечивающий рота-
цию журналов раз в неделю. $ mysql -uroot -prootsecret
mysql> UPDATE mysql.user SET Password = ↵
PASSWORD('ocspasswd') WHERE User = 'ocs';
$ cat /etc/logrotate.d/ocsinventory-server mysql> FLUSH PRIVILEGES;
mysql> exit
# Rotate OCS Inventory NG Communication server logs daily
# Save 7 days old logs in compressed mode Новое значение пароля следует прописать в файле /usr/
/var/log/ocsinventory-server/*.log {
daily share/ocsinventory-reports/ocsreports/dbconfig.inc.php:
rotate 7
compress $_SESSION["PSWD_BASE"]="ocspasswd"
missingok
}
И в ocsinventory-server.conf:
По окончании следует перезапустить веб-сервер:
PerlSetVar OCS_DB_PWD ocspasswd
$ sudo /etc/init.d/apache2 force-reload
$ sudo chown root:www-data russian.txt Отмечаем «y» и при помощи цифровых клавиш отве-
чаем на вопросы, где должен располагаться конфигура-
После этого все надписи выводятся на русском. ционный файл:
Чтобы корректно выводились названия программ, ус- Where do you want to write the configuration file?
тановленных на Windows-системах, следует в файле /usr/ 0 -> /etc/ocsinventory
share/ocsinventory-reports/ocsreports/preferences.php устано- 1 -> /usr/local/etc/ocsinventory
2 -> /etc/ocsinventory-agent
вить в «1» значение UTF8_DEGREE:
Далее указываем адрес или имя сервера, создаем тег
// 0 For non utf8 database, 1 for utf8 (с его помощью можно собрать системы в целевую группу,
define("UTF8_DEGREE", 1 );
например, по принципу размещения) для агента, активи-
Далее в файле machine.php, который находится в этом руем задачу для cron, каталог для хранения файлов и так
же каталоге, правим функцию print_softwares. После уста- далее. По окончании выдается запрос на отсылку собран-
новки она будет иметь такой вид: ных данных о компьютере на сервер:
Do you want to send an inventory of this machine?
echo "$td3".htmlentities(textDecode($item->PUBLISHER))."</td> Please enter 'y' or 'n'?> [y]
$td3".htmlentities(textDecode($item->NAME))." </td>
$td3".textDecode($item->VERSION)." </td> [info] Accountinfo file doesn't exist. I create an empty one.
$td3".(htmlentities(textDecode($item->COMMENTS))? ↵ -> Success!
htmlentities(textDecode($item->COMMENTS)): "N/A")." ↵
</td>"; В итоге в /var/lib/ocsinventory-agent будет создан подка-
талог с файлами, содержащими текущую конфигурацию
Меняем на: компьютера. Например, в ocsinv.adm содержатся тег и на-
звание системы, под которым она будет видна в консоли
echo "$td3".textDecode($item->PUBLISHER)."</td> управления.
$td3".textDecode($item->NAME)." </td>
$td3".textDecode($item->VERSION)." </td>
$td3".(htmlentities(textDecode($item->COMMENTS))? ↵ $ cat /var/lib/ocsinventory-agent/http\: ↵
textDecode($item->COMMENTS):"N/A")." </td>"; __localhost_ocsinventory/ocsinv.adm
14
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
<ADM> При изменении оборудования или ПО агента вызвать
<ACCOUNTINFO>
<KEYNAME>TAG</KEYNAME> принудительно, набрав в командной строке:
<KEYVALUE>Ubuntu</KEYVALUE>
</ACCOUNTINFO> > "C:\Program Files\OCS Inventory Agent\OCSInventory.exe" ↵
</ADM> /SERVER:ocsng_server /PNUM:80 /NOW
Практически сразу после установки агента сведения Также агента (файл ocsagent.exe, являющийся zip-архи-
о новой системе появятся в консоли управления во вклад- вом) можно импортировать в базу OCSNG, выбрав во вклад-
ке «Все компьютеры». ке «Агент» и указав место расположения файла. В этом слу-
При возникновении проблем можно запустить агента чае он будет доступен с любого компьютера сети.
в режиме отладки: Кроме функций сетевой инвентаризации, OCSNG име-
ет возможность развертывания пакетов и запуска команд,
$ ocsinventory-agent -l /tmp –debug ↵ записанных в файле (например, bat/vbs) на клиентских ком-
--server http://localhost/ocsinventory
пьютерах (кроме Vista), информация о которых находится
По умолчанию во вкладке «Все компьютеры» выво- в инвентаризационной системе. При необходимости уста-
дятся 7 характеристик клиентских машин, но при помо- новки одного приложения на большое количество систем
щи раскрывающегося списка Add column можно добавить такая функциональность очень выручает.
еще 23 поля. Хотя в некоторых случаях замечены ошибки Для начала пакет нужно создать. Переходим в меню
в определении параметров. Так, на системе с такими ха- Deployment → Build и заполняем поля New package building.
рактеристиками: Название пакета должно быть уникальным, и желательно
отражать его назначение. Параметр Priority определяет по-
$ dmesg | grep -i processor рядок размещения пакетов. Что, собственно, делать с па-
[ 97.725563] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual кетом, определяет поле Action.
Core Processor 3600+ processors (2 cpu cores) (version 2.20.00) Здесь три возможных значения:
[ 0.000000] Detected 2010.408 MHz processor.
n Store – копировать на целевую систему;
В консоли OCS Inventory было выведено – 1000 Мгц, n Execute – копировать и выполнить с командой;
но при необходимости данные можно скорректировать n Launch – копировать и запустить.
вручную. По разным причинам в базу компьютер может быть
занесен несколько раз, для удаления дубликатов сущест- Параметры в User notifications позволяют вывести со-
вует одноименная вкладка, в которой одинаковые систе- ответствующее предупреждение пользователю, разре-
мы можно отобрать по нескольким характеристикам (имя, шить ему отмену выполнения задачи. Созданный пакет за-
МАС-адрес, серийный номер). гружается в каталог /var/lib/ocsinventory-reports/download/
Текущая версия агента для Windows 4.0.5.4, архив timestamp.
OCSNG_WINDOWS_AGENT_1.02.zip с установочными фай- При этом timestamp получается уникальным.
лами можно скачать с сайта проекта. Судя по всему, в нем
уже исправлена ошибка, которая приводила к тому, что рус- $ ls /var/lib/ocsinventory-reports/download/
ские буквы, начиная с 'х'(0xF4) заменялись английским ик- 1241705351 1241722723
сом. Во всяком случае, на тестовых системах все работа-
ло правильно. Как вариант можно использовать специаль- $ ls 1241722723
ную сборку OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA. 1241722723-1 info
zip (версия агента 4.0.4.9) [5].
Самым простым вариантом уста-
новки является запуск исполняемого
файла OcsAgentSetup.exe, в этом слу-
чае будет произведена стандартная ус-
тановка, по окончании которой агент
будет прописан в качестве сервиса. На
последнем этапе указываем имя или IP-
адрес OCSNG сервера и устанавлива-
ем флажок Immediatly launch inventory,
чтобы сразу же отправить отчет.
Все настройки будут сохранены
в файле service.ini каталога, в который
установлен агент.
В Vista следует открыть его и до-
бавить параметр /DEBUG в строку за-
пуска:
Miscellaneous= ↵
/SERVER:192.168.0.10 ↵
/PNUM:80 /DEBUG При установке GLPI следует выполнить все рекомендации программы
Файл info содержит настройки пакета, а 1241722723-1 $ sudo apt-cache search glpi
является собственно программой. glpi - IT and Asset management software
Переходим в меню Deployment → Activate, выбираем
нужный пакет и нажимаем ссылку Activate. Вводим в поя- $ sudo apt-cache show glpi | grep -i version
вившемся окне адрес вида https://server/download/, при этом Version: 0.68.3.2-1
timestamp к URL будет добавлен автоматически, нажимаем
«Отправить». В ответ должны получить сообщение: Актуальной на момент написания статьи является вер-
сия 0.71.5, вышедшая в январе 2009 года. Кроме этого,
Package activated, it can now be deployed.
на странице загрузки доступен предрелиз 0.72-RC2 и срез
Теперь выбираем компьютер, на котором хотим уста- CVS-архива.
новить пакет, переходим в меню Customization, в самом Для установки просто распаковываем скачанный архив
низу выбираем ссылку add package, указываем на па- в корневой каталог веб-сервера:
кет и нажимаем в поле Affect. Подтверждаем свой выбор.
В Customization появится информация о состоянии задачи, $ sudo tar xzvf glpi-0.71.5.tar.gz -C /var/www
$ cd /var/www/glpi
а в таблице в Activate будет выводиться статистика.
По умолчанию агент подключается к серверу раз в сут- Устанавливаем для некоторых каталогов владельца
ки, тогда и будет произведена установка. Можно уско- и группу-владельца:
рить этот процесс, вызвав подключение принудительно,
как это показано выше. После подключения агента к сер- $ sudo chown www-data:www-data config files files/* inc
веру состояние пакета должно измениться с WAITING_
NOTIFICATIONS на NOTIFIED, а затем Success. Пакет будет Далее набираем в браузере http://localhost/glpi выбира-
сохранен в каталоге C:\Program Files\OCS Inventory Agent\ ем язык (в списке есть русский), принимаем условия GPL
download\TIMESTAMP. А все связанные сообщения можно и следуем указаниям мастера установки. Самый главный
найти в файле download.log. этап – «Проверка окружения на совместимость с GLPI»,
Кроме выдачи информации о «своем» компьютере, аген- где следует внимательно прочитать и выполнить все ре-
ты в разных подсетях сканируют сеть в поисках MAC-адре- комендации.
сов, принадлежащих других системам. Такая функция назы- Например, по указанию мастера параметр memory_
вается IP discovery и позволяет находить другие устройст- limit в php.ini следует установить в значение, большее чем
ва, на которые нельзя установить агент (например, свитчи, 32 Мб:
принтеры и так далее).
$ grep -i memory_limit /etc/php5/apache2/php.ini
Установка GLPI memory_limit = 128M
Установка GLPI достаточно проста. В репозиториях дист-
рибутивов нужный пакет есть, но его версия обычно силь- Выполняем все требования, проверяем повторно и, ес-
но отстает. ли все нормально, нажимаем Continue. Теперь собственно
16
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
установка – вводим данные для доступа к MySQL, назва- $LANG["setup"][18]="Имя пользователя";
ние базы данных, и все.
Чтобы GLPI автоматически проверял почту, отправлял Далее переходим в меню «Установки (Setup) → Общие
уведомления, следует создать задание для пользовате- (General setup)» и устанавливаем «Активировать режим
ля, от имени которого работает веб-сервер (нужен пакет OCSNG (Activate OCSNG mode)» в «Да». После этого поя-
php5-cli): вится новая вкладка «Режим OCSNG» (OCSNG Mode).
Если OCSNG и MySQL установлены на локальной ма-
$ sudo crontab -u www-data -e шине, то данные для подключения к OCSNG будут найде-
*/5 * * * * /usr/bin/php5 ↵ ны автоматически. Иначе необходимо будет заполнить ин-
/var/www/glpi/front/cron.php &>/dev/null формацию о сервере OCSNG вручную.
По умолчанию синхронизируется только часть парамет-
По умолчанию в GLPI создаются четыре учетные запи- ров, чтобы в базу данных GLPI были перенесены и компо-
си с разными правами и возможностями (через дробь ука- ненты компьютеров, следует разрешить их синхронизацию,
зан пароль): установив флажок напротив нужного в положение «Гло-
n glpi/glpi – администратор; бальный импорт».
n tech/tech – технический специалист; Кроме этого, во вкладке «Инструменты» появится пункт
n normal/normal – обычная учетная запись (возможность OCSNG, при помощи имеющихся здесь ссылок можно про-
просмотра данных); изводить синхронизацию и импортирование компьютеров
n post-only/post-only – только обращение в службу под- между OCSNG и GLPI.
держки. Полученные данные появляются во вкладке «Оборудо-
вание». Здесь несколько подпунктов, переход в некоторые
GLPI поддерживает импорт учетных данных из AD или из них позволяет получить список некоторых компонентов,
другой LDAP. входящих в компьютер («Мониторы», «Принтеры»), отде-
Регистрируемся в системе как glpi. Для локализации ин- льного оборудования («Картриджи», «Телефоны»), а так-
терфейса в меню Setting → Select Language выбираем рус- же ПО. Импортированные компьютеры доступны в одно-
ский язык, после этого все новые учетные записи будут ис- именном подпункте.
пользовать по умолчанию выбранный язык. Новые пользо- Выбрав компьютер или устройство, мы получаем доступ
ватели добавляются в одноименной вкладке, там несколь- к 12 вкладкам, в которых можно просмотреть и скорректи-
ко некорректный перевод. Так, логину соответствует по- ровать данные об оборудовании, сопоставить ответствен-
ле «Имя пользователя», это иногда сбивает с толку. Чтобы ного, просмотреть заявки, добавить заметки, сделать от-
не было путаницы, можно изменить значение в файле /var/ метку о выдаче во временное использование, просмотреть
www/glpi/locales/ru_RU.php: историю и так далее.
18
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
«Облачные» перспективы защиты
корпоративных endpoint-компьютеров
Подлинными изобретателями и первыми «промышленными» внедренцами столь популярных
сегодня технологий «облачных» вычислений (Cloud Computing) были не Amazon, IBM или Sun,
a кибер-криминальные технологи, которые уже 10 лет назад эксплуатировали пиринговые
«варезные сети», представлявшие, по сути, прототипы современных распределенных
сетей Cloud Computing – такой, на первый взгляд, парадоксальный, но, если вдуматься,
небезосновательный вывод сделал в своем блоге [1] Рювен Коэн (Reuven Cohen), основатель
и главный технолог компании Enomaly, разработчика программных Cloud-платформ.
С
толь же небезосновательно сра- шении завтрашних перспектив внед- Поэтому без преувеличения мож-
зу после анонса Microsoft их рения Cloud Computing со стороны ру- но сказать, что для специалистов в об-
Cloud Computing технологии Live ководителей и главных специалистов ласти ИБ кредитно-финансовых орга-
Mesh главный редактор по технологиям служб ИБ организаций финансового низаций один из важнейших вопро-
еженедельника eWeek Insider Channel сектора экономики. сов завтрашнего дня состоит в том,
Франк Олхорст (Frank Ohlhorst) пре- Равно как и сегодня, когда неви- как на уровень инсайдерских угроз и,
дупреждал о ее деструктивном влия- данные доселе «вычислительные тучи» прежде всего, защищенность endpoint-
нии на корпоративную информацион- только собираются на далеком замор- компьютеров повлияет внедрение
ную безопасность (ИБ). В своей ста- ском горизонте, ситуация с обеспече- в корпоративные ИТ-технологий Cloud
тье «Microsoft Live Mesh – следующая нием ИБ оконечных вычислительных Computing.
большая угроза бизнесу» [2] он назвал устройств (рабочих станций, дескто- В технологической интерпретации
Live Mesh «антитезой управления се- пов и ноутбуков) организаций дале- это вопрос о том, сможет ли индуст-
тевым доступом и информационной ка от безоблачной, о чем свидетель- рия ИБ использовать уникальные внут-
безопасности endpoint-компьютеров». ствует свежая статистика организа- ренне присущие архитектурам Cloud
Причиной опасений Олхорста послу- ции Ponemon Institute, которая в фев- Computing характеристики – глобаль-
жила уникальная способность техноло- рале опубликовала результаты ис- ную распределенность, динамичес-
гии Live Mesh преодолевать периметры следований размера ущерба от уте- кую масштабируемость и оперативную
частных корпоративных сетей вне за- чек данных в организациях США и Ве- связность – для повышения эффектив-
висимости от политик защищающих их ликобритании за 2008 год. Соглас- ности и надежности работы средств за-
межсетевых экранов (МЭ) и NAT-шлю- но этим отчетам, угрозы корпоратив- щиты информации (СЗИ) множества
зов. Прообразом Live Mesh, по его мне- ной ИБ со стороны инсайдеров в Аме- оконечных вычислительных узлов?
нию, была система IP-телефонии Skype, рике не уменьшаются (прирост 2-5%), Следует отметить, что в послед-
всепроникающую «силу» которой уже а в Европе – существенно возраста- ние три года наблюдается постепен-
в полной мере ощутили практически ют (прирост 22‑28%), причем подав- ный прогресс участников отрасли ИБ
все ИТ-организации. ляющая часть случаев утечек данных в этом направлении.
Подобные комментарии, очевид- связана с нарушением ИБ компьюте- Исторически, первым реальным
но, не добавляют оптимизма в отно- ров сотрудников. примером использования преиму-
ществ Cloud Computing – еще до выде-
ления этой технологии в отдельный от-
раслевой сегмент – стало предостав-
ление услуг аутсорсинга ИБ для кор-
поративных клиентов. Один из пионе-
ров этого движения – «Лаборатория
Касперского», услуга Hosted Security
Services [3] которой пользуется попу-
лярностью как в России, так и за рубе-
жом. В качестве другого – недавнего по
времени – примера следует отметить
анонс в октябре 2008 года трехлетне-
го плана [4] компании Symantec по пре-
доставлению всех своих продуктов ИБ
в виде услуг SaaS.
Следующим значительным шагом
Новый функционал в DeviceLock 6.4 – «контентно-зависимые» правила на уровне
файловых операций отрасли ИБ стало использование вы-
20
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
сокого уровня взаимосвязности сред
Cloud Computing для ускорения про-
цессов сбора и проверки сигнатур вре-
доносных программ. В 2008 году были
введены в эксплуатацию системы Smart
Protection Network от компании Trend
Micro и Artemis от McAfee. В упрощен-
ном виде идея работы этих систем со-
стоит в том, что исполнительные аген-
ты на компьютерах не ждут обновления
'HYLFH/RF
базы сигнатур с сервера, а по каждому
подозрительному объекту считают хэш-
3DOP
сумму и отсылают ее в Cloud-сеть про-
изводителя, после чего эти хэш-суммы
в онлайн-режиме сравниваются со все-
ми имеющимися в Cloud сигнатурами : LQGRZV0RELOH
и результат возвращается агенту. В ре-
зультате как скорость выявления сиг-
натур вредоносных кодов, так и опера-
L3KRQH
тивность реагирования на них возрас-
ли на порядок – причем без увеличения
вычислительной нагрузки на защищае-
86%
мые компьютеры.
Наконец, самой современной
)LUH:LUH
тенденцией использования Cloud
Computing в отрасли ИБ стало исполь- DeviceLock контролирует все типы внешних устройств посредством групповых политик
зование супер-инфраструктур «вы-
числительная платформа как услуга» нее, если продукт качественный, он операций файловой системы. Обеспе-
(Platform-as-a-Service или PaaS) в ка- может оказаться весьма полезным как чиваются перехват, экстракция, детек-
честве платформ, на которые неболь- один из компонентов функционально тирование типа и блокирование файло-
шие вендоры программных СЗИ пор- полного набора интегрированных сер- вых объектов во всех локальных кана-
тируют свои продукты и предостав- висов аутсорсинга ИБ. Приятно раду- лах утечки данных защищаемого ком-
ляют своим клиентам доступ к ним ют в этом отношении популярные рос- пьютера, при этом администраторы бе-
как к услугам. Иначе говоря, они ис- сийские программные СЗИ. Например, зопасности могут дополнительно зада-
пользуют платформы PaaS для соз- немецкий провайдер аутсорсинга ИБ вать гибкие правила событийного про-
дания собственных услуг аутсорсин- Logica Managed Services Deutschland токолирования операций и теневого ко-
га ИБ и предоставления их в виде в качестве одного из компонентов сво- пирования данных с точностью до ти-
Software‑as‑a‑Service. В конечном итоге, их услуг по информационной защи- пов файлов.
это выгодно пользователям, посколь- те компьютеров клиентов использу- В планах компании «Смарт Лайн
ку состав провайдеров услуг ИБ не ог- ет программный комплекс DeviceLock Инк» – дальнейшее развитие реше-
раничивается только крупнейшими иг- производства компании «Смарт Лайн ний и услуг по информационной за-
роками типа Symantec, McAfee и Trend Инк», мирового технологического ли- щите endpoint-компьютеров на базе
Micro, а появляется выбор между мно- дера в этой области. DeviceLock.
жеством услуг мелких, но более забот- DeviceLock – это система центра- Алексей Лесных,
ливых для клиентов суб-провайдеров. лизованного контроля доступа пользо- менеджер по развитию бизнеса
Примером такой трансформации про- вателей к периферийным устройствам компании «Смарт Лайн Инк»
дукта в услугу ИБ служит портирование и портам ввода-вывода персональных
компанией FullArmor своей программы компьютеров и серверов под управле- 1. http://www.elasticvapor.com/2008/11/
PolicyPortal [5] на платформу Windows нием ОС Microsoft Windows. DeviceLock fraud-as-service-did-criminals-invent.
Azure, в результате чего этот продукт позволяет контролировать все типы ло- html.
стал доступен для клиентов FullArmor кальных каналов утечки на компьюте- 2. http://blogs.channelinsider.com/tech_
непосредственно через Интернет как рах пользователей в корпоративной ИС tidbits/content/new_products/microsoft_
экономичная услуга централизованно- и полный спектр портов и внешних уст- live_meshthe_next_big_security_threat_
го управления политиками ИБ и конфи- ройств. В новой версии DeviceLock 6.4 for_business_1.html.
гурирования endpoint-компьютеров. принципиально повышена гранулиро- 3. http://www.kaspersky.ru/hosted_security.
Очевидно, не каждый продукт ИБ ванность контроля за привилегиями 4. http://www.zdnetasia.com/news/security/
рационально использовать в виде от- и действиями пользователей за счет 0,39044215,62046931,00.htm.
дельной услуги – например, из-за спе- поддержки функции детектирования 5. ht tp: // w w w.fullarmor.com /products -
цифики его функционала. Тем не ме- и фильтрации типов файлов для любых policyportal.htm.
В
крупных компаниях обязанности администраторов се- #apt-get install mrtg
ти и сетевой безопасности могут быть распределе-
ны между разными подразделениями. Системы IDS/ Для того чтобы было возможно осуществлять монито-
IPS после внедрения выполняют сугубо роль обнаружения ринг IPS, необходимо включить на нем управление по SNMP
атак без активного вмешательства в трафик. Этот этап мо- и прописать значения read-only и read-write community. Пос-
жет длиться несколько лет. ледний параметр связан исключительно с особенностями
Активная защита периметра выполняется файерволом, сенсора. Тем не менее стоит учесть, что открытое на за-
доступы к сетевым ресурсам внутри компании реализуют- пись community дает возможность всем, кто имеет доступ
ся либо с помощью отдельных брандмауэров, либо посред- по сети к сенсору, изменять его конфигурацию с помощью
ством ACL (Access Control Lists), а обнаружение аномаль- SNMP. В целях безопасности настоятельно рекомендуется
ного сетевого трафика производится сенсором, на кото- изменить значения по умолчанию public и private на более
рый направляется копия трафика через «зеркалирован- сложные community.
ный» (SPAN-порт) коммутатор. Если сетевые администра- Через CLI возможность управления по SNMP конфигу-
торы и администраторы систем безопасности не извеща- рируется следующим набором команд:
ют друг друга о проводимых работах в сети, вполне может
случиться ситуация, при которой разбирается SPAN-сес- sensor1#configure terminal
sensor1(config)#service notification
сия, и сенсор перестает отрабатывать события. Также воз- sensor1(config-not)#enable-set-get true
можен сбой работы как самого сенсора, так и программ sensor1(config-not)#read-only-community DlY@_$en$ora
sensor1(config-not)#read-write-community Dly@_@dm1n@_$en$ora
мониторинга. В компаниях с большим количеством сенсо- sensor1(config-not)#exit
ров это можно заметить далеко не сразу, и соответствен- Apply Changes?[yes]:
но потерять данные, возможно, необходимые для рассле-
дования инцидента. sensor1(config)#exit
Исходим из того, что у нас есть 10 сенсоров, дополни-
тельных денег на ПО и железо, кроме лицензий, нет, а за- Конфигурация интерфейсов записывается в файл /etc/
дачу выполнить надо. Cisco systems предлагает для мони- mrtg.cfg с помощью команды:
торинга и управления сенсорами программу IPS Manager
Express, которая является бесплатной для скачивания поль- # cfgmaker read-only-community@sensor.address > ↵
/etc/mrtg.cfg
зователям с сервисным контрактом. Ограничение – макси-
мум 5 устройств. Логично, что можно использовать 2 ПК, Но в этом случае затем придется существенно править
в которые завести управление по 5 сенсоров. конфигурационный файл руками. Хоть без этого все рав-
Проблемы, с которыми сталкиваешься, но не всегда но не обойтись, рекомедую для IDSM2 создавать настрой-
сразу замечаешь: ки с параметрами:
n При реконфигурации сети разбирается SPAN-сессия
либо меняются идентификаторы VLAN. # cfgmaker --no-down read-only-community@sensor.address > ↵
/etc/mrtg.cfg
n Происходит сбой в работе сенсора либо программы мо-
ниторинга. В целях безопасности рекомендуется не давать дос-
туп к файлу всем:
Настройка
Своевременное реагирование на вышеописанные пробле- # chmod 640 /etc/mrtg.cfg
мы можно обеспечить с помощью ПО MRTG. Рассмотрим
пример настройки MRTG под Debian Linux. У модуля IDSM2 определяется 6 интерфейсов:
Устанавливаем MRTG: n Interface 1 – loopback (lo);
22
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
n Interface 2 – GigabitEthernet0/7 (ge0_7); Если не редактировать скорость, то мониторинг загруз-
n Interface 3 – GigabitEthernet0/8 (ge0_8); ки будет работать, пока не превысится указанный порог. Ес-
n Interface 4 – sy0_1; ли же нагрузка на интерфейс постоянно выше, то статис-
n Interface 5 – GigabitEthernet0/2 (ge0_2); тика собираться не начнет.
n Interface 6 – sy0_0. В итоге конфигурационный файл /etc/mrtg.cfg, получен-
ный для 1-го сенсора, с учетом того, что нам нужен мони-
Нас интересуют всего 2 из них: торинг только 2 интерфейсов, будет выглядеть приблизи-
n GigabitEthernet0/2, через который происходит управ- тельно так:
ление и сбор событий;
n GigabitEthernet0/7 (или 0/8 – в зависимости от настро- # Created by
# /usr/bin/cfgmaker DlY@_$en$ora@sensor1
ек) – порт, на который приходит SPAN-сессия.
### Global Config Options
Если запускать cfgmaker без параметра --no-down – ин-
терфейсы loopback, GigabitEthernet0/7 и GigabitEthernet0/8 # for UNIX
# WorkDir: /home/http/mrtg
будут в конфигурационном файле закомментированы,
и придется раскомментировать тот интерфейс, который # for Debian
WorkDir: /var/www/mrtg
принимает SPAN.
Интерфейсы sy0_0 и sy0_1, как альтернативные TCP # or for NT
# WorkDir: c:\mrtgdata
RST-интерфейсы, будут считаться активными.
### Global Defaults
Адаптация и кастомизация # to get bits instead of bytes and graphs growing to the right
По умолчанию загрузка интерфейса отображается в байтах/ Options[_]: growright, bits
сек, шкала времени идет справа налево. Для того чтобы из- EnableIPv6: no
менить направление шкалы, необходимо в конфигурацион-
ном файле /etc/mrtg.cfg раскомментировать строку: #########################################################
# System: sensor1
Options[_]: growright, bits # Description: Linux sensor1 2.4.30-IDS-smp-bigphys #2 SMP
# Sat Jul 12 04:12:55 UTC 2008 i686
# Contact: dugin
# Location: sensor1
и оставить те параметры, которые больше по вкусу адми- #########################################################
нистратору, либо приняты в компании. Параметр growright
направляет шкалу времени вправо, а bits отвечает за отоб- ### Interface 2 >> Descr: 'ge0_7' | Name: 'ge0_7' | Ip: | ↵
ражение загрузки в битах/сек. Eth: ###
#
С каждого интерфейса IDSM2 в конфигурационный Target[sensor1_2]: 2:DlY@_$en$ora@sensor1:
файл MRTG по умолчанию считываются следующие пара- SetEnv[sensor1_2]: MRTG_INT_IP="" MRTG_INT_DESCR="ge0_7"
MaxBytes[sensor1_2]: 125000000
метры, которые необходимо отредактировать: Title[sensor1_2]: Traffic Analysis for SPAN -- sensor1
PageTop[sensor1_2]: <h1>Traffic Analysis for SPAN -- sensor1</h1>
MaxBytes[sensor1_5]: 1250000
<div id="sysdetails">
<table>
Title[sensor1_5]: Traffic Analysis for 5 -- sensor1 <tr>
PageTop[sensor1_5]: <h1>Traffic Analysis for 5 -- sensor1</h1> <td>System:</td>
---------------output omitted-------------------- <td>sensor1 in sensor1</td>
<td>Max Speed:</td> </tr>
<td>1250.0 kBytes/s</td> <tr>
---------------output omitted-------------------- <td>Maintainer:</td>
<td>dugin</td>
</tr>
Красным шрифтом показаны несоответствия данных, <tr>
полученных с помощью SNMP, реальным данным. По умол- <td>Description:</td>
<td>ge0_7 </td>
чанию интерфейсы перечисляются по номерам. Также мож- </tr>
но заметить, что гигабитные интерфейсы сенсора MRTG оп- <tr>
<td>ifType:</td>
ределяет как 10-мегабитные. Cisco в своей документации <td>ethernetCsmacd (6)</td>
(http://www.cisco.com/en/US/docs/security/ips/6.2/configuration/ </tr>
<tr>
guide/ime/ime_troubleshooting.html#wp1020491) указывает, <td>ifName:</td>
что MIB II поддерживаются сенсорами, однако корректность <td>ge0_7</td>
</tr>
полученных данных не гарантируется. Соответственно в кон- <tr>
фигурационном файле изменяем скорость в местах: <td>Max Speed:</td>
<td>125.0 MBytes/s</td>
</tr>
MaxBytes[sensor1_5]: 125000000 </table>
</div>
24
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Настраиваем хранение логов
в базе данных MySQL
Сергей Крутилин
Не всегда есть возможность зайти на удалённый сервер для просмотра журналов системы
или приложений. Иногда возникает необходимость делегировать другому сотруднику задачи
мониторинга. А может, под рукой не оказалось средств для удалённого доступа? Этих проблем
можно избежать при помощи средств, настройка которых будет описана в данной статье.
Д
ля решения поставленных целей нам понадобит- дистрибутивы, к примеру, это может быть /usr/Distr), после
ся следующее ПО – rsyslog (http://www.rsyslog.com) чего распаковываем полученный архив:
и phpLogcon (http://www.phplogcon.com). Первое бу-
дет записывать различные события журналов в базу дан- #mkdir /usr/Distr
# cd /usr/Distr/
ных MySQL, второе – предоставлять веб-интерфейс для их #wget http://www.rsyslog.com/ ↵
просмотра. Downloads-req-viewsdownload-sid-1.phtml
# tar -zxf rsyslog-3.20.5
Необходимые требования: #cd rsyslog-3.20.5
n Сервер MySQL (http://www.mysql.com).
n Веб-сервер Apache (http://apache.org). Конфигурируем rsyslog (с поддержкой MySQL):
n PHP5 (http://php.net).
n Перед запуском rsyslogd системный демон syslogd дол- ./configure CFLAGS="-I/usr/local/include/" ↵
LDFLAGS="-L/usr/local/lib" --enable-mysql
жен быть остановлен и деактивирован в автозагрузке
системы. После чего выполняем:
26
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
mysql>create user 'samaglog'@'localhost' identified by ↵ где samag.local – это имя или IP-адрес вашего веб-сер-
'samagpassword';
mysql>GRANT ALL PRIVILEGES ON Syslog.* ↵ вера.
TO 'samaglog'@'localhost'; Следуя указаниям мастера, доходим до 7-го шага
mysql>quit;
и в поле Source Type выбираем MySQL Native, как показа-
Модифицируем rsyslog.conf. По умолчанию он находит- но на рис. 1. Обращаю ваше внимание на то, что данные
ся в директории /etc. Включаем поддержку MySQL: в поле Database Tablename чувствительны к регистру. Ес-
ли после установки возникнет ошибка:
$ModLoad ommysql.so
No syslog records found - Error Details:
Could not find the configured table, maybe misspelled or the
Синтаксис записи событий в определённый файл схож tablenames are case sensitive
с системным. Для базы MySQL он будет следующим:
Значит, вы неверно указали имя таблицы (вместо
*.* >servername,dbname,user,password SystemEvents написали systemevents). В случае возникно-
вения данной ошибки нужно исправить следующую строч-
Рассмотрим пример записи событий системы, связан- ку в файле /var/www/samaglogs/config.php:
ных с безопасностью:
$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents';
security.* >127.0.0.1,syslog,samaglog,samagpassword
# touch /var/www/samaglogs/ ↵
config.php
# chmod 666 /var/www/samaglogs/ ↵
config.php
WinSCP
В заключение рассмотрим упомяну-
тый выше инструмент – WinSCP (http://
winscp.net/eng/docs/lang:ru). Это файл-
Рисунок 2. Пример работы phpLogcon менеджер, который работает по про-
токолу SFTP (http://en.wikipedia.org/
wiki/SFTP).
При помощи WinSCP вы можете ра-
ботать с удалённым сервером *nix по-
средством демона SSH. WinSCP име-
ет следующие возможности:
n графический интерфейс;
n интеграция с ОС Windows (drag&drop,
поддержка схем URL, ярлыки);
n все основные файловые операции.
Subsystem sftp ↵
/usr/libexec/sftp-server
Рисунок 3. Пример работы WinSCP
После чего перезапустите демон
Копируем файл /etc/rsyslog.conf в /etc/rsyslogmail.conf. sshd, используя следующую команду:
После перечисления модулей в файле /etc/rsyslogmail.conf
оставляем лишь: kill -HUP $(cat /var/run/sshd.pid)
28
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Выполнение произвольных команд Обход ограничений безопасности
в DNS Tools в Microsoft Internet Information Services
Программа: DNS Tools от 2009-04-17. Программа: Microsoft Internet Information Services 5.1 и 6.0.
Опасность: Высокая. Опасность: Средняя.
Наличие эксплоита: Нет. Наличие эксплоита: Нет.
Описание: Уязвимость существует из-за недостаточной Описание: Уязвимость существует из-за ошибки при об-
обработки входных данных в параметрах «ns» и «host» в работке WebDAV-запросов к директориям, требующим ау-
сценарии dig.php перед вызовом функции «system()». Уда- тентификацию. Удаленный пользователь может с помощью
ленный пользователь может с помощью специально сфор- специально сформированного HTTP GET-запроса, содер-
мированного запроса выполнить произвольные команды жащего Unicode-символы и «Translate: f» HTTP-заголовок,
на системе. обойти ограничения безопасности и, например, скачать
Пример: файлы с защищенных каталогов. Удачная эксплуатация
уязвимости также может позволить загрузку произволь-
http://[host]/dig.php?ns=||COMMAND HERE||&host= ↵
mortal-team.net&query_type=NS&status=digging ных файлов в защищенные WebDAV-каталоги.
URL производителя: www.microsoft.com.
URL производителя: gscripts.net/free-php-scripts/Other/ Решение: В настоящее время способов устранения уязви-
DNS_Tools/details.html. мости не существует.
Решение: В настоящее время способов устранения уязви-
мости не существует. Уязвимости в Alert Management System 2
в продуктах Symantec
Обход ограничений безопасности Программа: Symantec AntiVirus Corporate Edition 9.0 MR6
в Online Password Manager and prior, 10.0 (все версии), 10.1 MR7 и более ранние вер-
Программа: Online Password Manager 4.1, возможно, дру- сии и 10.2 MR1 и более ранние версии; Symantec Client
гие версии. Security 2.0 MR6 и более ранние версии, 3.0 (все вер-
Опасность: Средняя. сии) и 3.1 MR7 и более ранние версии; Symantec Endpoint
Наличие эксплоита: Нет. Protection 11.0 MR2 и более ранние версии.
Описание: Уязвимость существует из-за некорректного ог- Опасность: Средняя.
раничения доступа к интерфейсу управления. Удаленный Наличие эксплоита: Нет.
пользователь может установить параметр файла куки auth Описание: 1. Уязвимость существует из-за неизвестной
в значение действительной учетной записи и обойти меха- ошибки в Intel LANDesk Common Base Agent (CBA), которая
низм аутентификации. позволяет передать содержимое пакета в качестве аргу-
URL производителя: www.esoftpro.com/web_scripts_online_ мента функции CreateProcessA(). Удаленный пользователь
password_manager.php. может отправить специально сформированный TCP-пакет
Решение: В настоящее время способов устранения уязви- на порт 12174 и выполнить произвольные команды на сис-
мости не существует. теме с привилегиями учетной записи SYSTEM.
2. Уязвимость существует из-за ошибки проверки гра-
Множественные уязвимости ниц данных в службе Intel Alert Originator Service (iao.exe).
в HP StorageWorks Storage Удаленный пользователь может отправить специально
Mirroring Software сформированный TCP-пакет на порт 38292, вызвать пере-
Программа: HP StorageWorks Storage Mirroring Software полнение стека и выполнить произвольный код на целевой
версии до 5.1.1.1090.15. системе с привилегиями учетной записи SYSTEM.
Опасность: Средняя. 3. Уязвимость существует из-за ошибки проверки гра-
Наличие эксплоита: Нет. ниц данных в службе Intel Alert Originator Service (iao.exe) при
Описание: 1. Уязвимость существует из-за неизвестной обработке входных данных от процесса MsgSys.exe. Зло-
ошибки, которая позволяет злоумышленнику получить не- умышленник может вызвать переполнение стека и выпол-
авторизованный доступ к системе. Подробности уязвимос- нить произвольный код на целевой системе с привилегия-
ти не сообщаются. ми учетной записи SYSTEM.
2. Уязвимость существует из-за неизвестной ошибки, 4. Уязвимость существует из-за ошибки дизайна в служ-
которая позволяет злоумышленнику вызвать отказ в обслу- бе Intel File Transfer Service (XFR.EXE) при обработке путей
живании. Подробности уязвимости не сообщаются. к программам в запросах, отправленных на порт 12174/TCP.
3. Уязвимость существует из-за неизвестной ошиб- Злоумышленник, способный установить TCP-соединение
ки, которая позволяет злоумышленнику выполнить произ- с уязвимой системой, может выполнить произвольный код
вольный код на целевой системе. Подробности уязвимос- на системе с привилегиями учетной записи SYSTEM.
ти не сообщаются. URL производителя: www.symantec.com.
URL производителя: h18006.www1.hp.com/products/storage/ Решение: Установите последнюю версию с сайта произ-
software/sm. водителя.
Решение: Установите последнюю версию 5.1.1.1090.15
с сайта производителя. Составил Александр Антипов
Вадим Андросов
Продолжим изучать функции поддержки работы надстройки для Windows 2003 Server,
реализующей перевод пользователя из одного подразделения в другое силами двух
администраторов. В частности, будут затронуты вопросы программной манипуляции
объектами Active Directory, работы с событиями с помощью WMI, модификации списков
контроля доступа (ACL).
30
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Set acl = sec.DiscretionaryAcl select case flag
trustee = info.domainShortName & "\" & ↵ case ADS_FLAG_OBJECT_TYPE_PRESENT:
user.samAccountName createAcceptAce.ObjectType = classGUID
for i = 0 to UBound(delegationClasses) createAcceptAce.AceFlags = ADS_ACEFLAG_INHERIT_ACE
case ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT:
createAcceptAce.InheritedObjectType = classGUID
Затем по очереди создаются необходимые записи createAcceptAce.AceFlags = ADS_ACEFLAG_INHERIT_ACE + ↵
ADS_ACEFLAG_INHERIT_ONLY_ACE
списка контроля доступа для каждого из классов масси- end select
ва delegationClasses. Они уже обсуждались при реализа- createAcceptAce.Flags = flag
createAcceptAce.Trustee = trustee
ции проверки, поэтому подробно останавливаться на них end function
не будем. Как будет видно из программы ниже, для это-
го нужно создать объект типа AccessControlEntry, проини- Потребуется и обратная функция для отмены делеги-
циализировать необходимые поля и записать новый эле- рования. Сразу нужно оговориться, что фактически будет
мент в список контроля доступа с помощью метода спис- происходить удаление тех записей списка контроля досту-
ка AddAce. па, которые добавлялись в функции делегирования выше.
Если пользователь имеет те же права, например, участвуя
Set ace = createAcceptAce(ADS_RIGHT_DS_CREATE_CHILD Or ↵ в определенных группах, то их он не потеряет. То есть речь
ADS_RIGHT_DS_DELETE_CHILD, delegationClasses(i), ↵
ADS_FLAG_OBJECT_TYPE_PRESENT, Trustee) идет не об отмене делегирования управления организаци-
онной единицей как таковой, а, скорее, о функции, обрат-
Эта запись разрешает создавать в организационной ной delegateOU. Такое поведение было выбрано, чтобы ми-
единице объекты заданного типа. нимизировать влияние надстройки на другие политики бе-
зопасности предприятия.
acl.AddAce ace
Кроме того, в первой части статьи [1] упоминалась спе- Листинг 2. Удаление из ACL записей, позволяющих управлять
организационной единицей
циальная группа безопасности, содержащая всех менед-
жеров по персоналу. Вызов следующей подпрограммы бу- function undelegate(ou, user, oper, targetClass, isInherited)
Dim sec, acl, ace
дет добавлять текущего пользователя в такую группу. Его Set sec = ou.Get("ntSecurityDescriptor")
реализация будет рассмотрена позже. Set acl = sec.DiscretionaryAcl
For Each ace In acl
if shouldBeDeleted(user, ace, oper, ↵
makeManager user targetClass, isInherited) then
end function acl.RemoveAce ace
end if
Рассмотрим функцию создания записи списка контро- Next
sec.DiscretionaryAcl = acl
ля доступа. ou.Put "ntSecurityDescriptor", Array(sec)
ou.SetInfo
function createAcceptAce(accessMask, classGUID, flag, ↵ end function
trustee)
Следующая подпрограмма выясняет, нужно ли удалить
Сначала создается экземпляр класса AccessControlEntry, определенную запись списка контроля доступа при уда-
посредством которого будет предоставляться заданное лении у пользователя прав менеджера по персоналу. Она
право. проверяет, что запись относится к целевому пользовате-
лю и предоставляет права на управление организацион-
set createAcceptAce = CreateObject("AccessControlEntry") ной единицей.
createAcceptAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
createAcceptAce.accessMask = accessMask
Листинг 3. Требуется ли удалять запись ACL для отмены
делегирования
Затем в зависимости от параметра flag целевой объект
записывается в поле ObjectType или InheritedObjectType. function shouldBeDeleted(user, ace, oper, targetClass, ↵
Листинг 4. Назначение менеджера по персоналу Это значит, что требуется обрабатывать события
для подразделения
класса __InstanceModificationEvent для объектов типа
function makeManager(newManager) ds_organizationalunit, наличие событий должно прове-
dim managerGroup, userWinNTPath
set managerGroup = getObject("WinNT://" & ↵ ряться раз в 5 секунд.
info.domainShortName & "/Staff Managers") n ActiveScriptEventConsumer. Объект этого класса ин-
userWinNTPath = "WinNT://" & info.domainShortName & ↵
"/" & newManager.samAccountName капсулирует реакцию на событие и позволяет выпол-
if managerGroup.isMember(userWinNTPath) then exit function нить произвольный сценарий. Текст выполняемой про-
managerGroup.add userWinNTPath
managerGroup.setInfo граммы должен быть сохранен в поле ScriptText.
end function n __FilterToConsumerBinding. Класс, объект которого ис-
пользуется для связи объектов предыдущих двух типов.
Метод удаления пользователя из группы очень похож Инициализация его полей включает механизм слеже-
на предыдущий. Главное отличие – если проверка показы- ния за событиями. Удаление объекта этого класса при-
вает, что пользователь содержится в группе менеджеров водит к прекращению обработки соответствующего со-
по персоналу, он из нее удаляется. бытия.
Листинг 5. Отмена полномочий менеджера по персоналу Сначала рассмотрим функцию, устанавливающую слу-
для пользователя
шателя на событие. Первый ее параметр – название опера-
function makeNotManager ции. Используется при формировании имен вспомогатель-
dim managerGroup, userWinNTPath
set managerGroup = getObject("WinNT://" & ↵ ных классов, чтобы они были нагляднее. Второй вариант –
info.domainShortName & "/Staff Managers") имя события, обработчик которого создается. Третий – имя
userWinNTPath = "WinNT://" & ↵
info.domainShortName & "/" & user.samAccountName файла с кодом обработки события.
32
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Const FOR_READING = 1 userBinder.Consumer = ↵
Function addListener(sOperation, sEvent, sClass, sScript) "ActiveScriptEventConsumer.Name=" & chr(34) & ↵
"Run" & sOperation & "Script" & chr(34)
Сначала создается объект для работы с файловой сис- После выполнения следующей строки начнется обработ-
темой. Текст сценария, выполняемого в ответ на событие, ка событий изменения объектов организационных единиц.
для удобства будет храниться в отдельном файле и загру-
жаться при установке обработчика. userBinder.Put_()
end function
34
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Const ROLLBACK_COMMAND = "RollBack" select case cmd.userMoveID
function dispatchCommand(cmd) case START_MOVE_COMMAND:
dispatchStartMoveCommand cmd
case ACCEPT_COMMAND:
dispatchAcceptCommand cmd
Здесь используется обработка ошибок, поскольку пре- case DENY_COMMAND:
ждевременное завершение функции может привести к «по- dispatchDenyCommand cmd
case ROLLBACK_COMMAND:
терям» объектов пользователей. В кавычках это слово по- dispatchRollbackCommand cmd
тому, что физически удален объект пользователя не будет, default:
resetCommand cmd
лишь перестанет быть видимым. Кроме того, сбой в этой end select
подпрограмме без обработки ошибок может привести к пе- if err<>0 then resetCommand cmd
end function
реводу надстройки в противоречивое состояние. Поэтому
в самом начале функции используется директива продол-
жения выполнения сценария, несмотря на возникающие Сначала рассмотрим метод проверки целостности ко-
ошибки. В конце анализируется переменная специальная манды. Это важная часть надстройки, которая относится
err – если она не равна нулю, ошибки были. В этом случае к функциональности сервера. Сами команды создаются
обрабатываемая команда отменяется с помощью специ- на рабочих станциях клиентов (менеджеров по персоналу).
ального метода resetCommand. Поэтому существует вероятность фальсификации этих объ-
ектов. Выполняться же должны только корректные коман-
on error resume next ды. Функция checkIntegrity возвращает значение логичес-
кого типа. Возвращает истину, если команда прошла про-
Далее команда проверяется на корректность с помощью верку, и ложь в противном случае.
метода checkIntegrity. Некорректная команда отменяется.
function checkIntegrity(cmd)
if not checkIntegrity(cmd) then
resetCommand cmd
exit function Функция может работать с не вполне корректными объ-
end if ектами, поэтому возможны ошибки, которые не должны
прервать ее выполнение.
Если команда успешно прошла проверку, вызывается
ее обработчик. Для каждого типа команд существует свой On Error resume next
dim owner, executor, stOwner
метод обработки. Далее все они будут рассмотрены.
Реклама
Метод проверяет целостность объекта. Имеет ли право В конце объект выполненной команды удаляется.
пользователь пользоваться командой, проверяется при ее
выполнении. parentOU.delete START_MOVE_COMMAND_CLASS, ↵
"CN=cmd_" & START_MOVE_COMMAND & "_" & ↵
Метод «Сброс команды» удаляет ее объект. Единствен- whomObject.samAccountName
ное исключение – команда начала перемещения, которая next
end function
содержит в себе объект пользователя. В этом случае перед
удалением объект пользователя извлекается в текущую ор- Рассмотрим использованные при обработке дополни-
ганизационную единицу. Поскольку эта ситуация потенци- тельные методы. Первой использовалась функция созда-
ально опасна, профиль пользователя отключается. ния стула ожидания.
36
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
createChair.userMoveWho = cmd.userMoveWho next
createChair.userMoveComment = cmd.userMoveComment getNextNumber = getNextNumber + 1
createChair.userMoveWhen = cmd.userMoveWhen end function
createChair.userMoveDisabled = cmd.userMoveDisabled
Этот метод использует функцию извлечения из строки
После выполнения следующей строки новый объект имени номера, основываясь на том, что он отделен подчер-
стула ожидания будет создан и готов к перемещению в не- киванием. Функция находит символ подчеркивания и пыта-
го пользователя. ется преобразовать символы справа от него в число. Это до-
статочно примитивное решение, поддерживающее толь-
createChair.setInfo ко имена с одним подчеркиванием. Однако для целей над-
end function
стройки этого вполне достаточно.
Далее рассмотрим функцию получения объекта комна-
ты ожидания, прикрепленного к заданной организационной Листинг 7. Извлечение номера объекта из его имени
единице. Если комнаты ожидания нет, метод создает ее. function getUnderlinedNumber(src)
Единственный параметр – целевое подразделение. dim pos
pos = instr(1, src, "_", vbTextCompare)
if pos > 0 then
function getWaitingRoom(ou) getUnderlinedNumber = CInt(right(src, len(src) - pos))
dim el end if
end function
Устанавливаем фильтр, чтобы в перебор с помощью
цикла for each попали только объекты типа «Комната ожи- Ну и в конце этой части статьи рассмотрим последнюю
дания» (на самом деле в этой надстройке используется вспомогательную функцию создания ссылки на перене-
только одна комната ожидания для каждой организацион- сенный объект. Напомню, что ссылка в данной надстрой-
ной единицы). ке – объект, содержащий единственное поле – путь к объ-
екту Active Directory. Схема именования используется та-
ou.filter = Array(ROOM_CLASS) кая же, как и для стульев ожидания: link_<номер ссылки>.
for each el in ou
set getWaitingRoom = el Метод получает два параметра: организационную еди-
ницу, откуда осуществляется перемещение, и собствен-
Если комната ожидания найдена, функция возвращает но ссылку. Реализация довольно очевидна – с помощью
ссылку на нее и завершает работу. getNextNumber определяется первый свободный номер, за-
тем создается экземпляр класса ссылки, инициализирует-
exit Function ся и сохраняется.
next
В противном случае объект комнаты ожидания снача- Листинг 8. Создание обратной ссылки
ла создается. function createBackLink(room, backLink)
dim linkNumber
set getWaitingRoom = ou.create(ROOM_CLASS, ↵ linkNumber = getNextNumber(room, LINK_CLASS)
"CN=waiting_room") set createBackLink = room.create(LINK_CLASS, ↵
getWaitingRoom.setInfo "CN=link_" & linkNumber)
end function createBackLink.userMoveLink = backLink
createBackLink.setInfo
end function
Также при создании стула использовалась функция оп-
ределения первого свободного номера объекта заданного
типа в конкретном контейнере. Рассмотрим ее подробнее. Заключение
Функция позволяет получить следующий номер для объек- В этой части статьи была начата реализация механизма
тов любого класса (имя типа передается вторым парамет- обработки команд. В следующей части она будет завер-
ром), которые именуются в виде <имя>_<номер>. шена. Остается сделать обработчики остальных типов ко-
манд, а также разработать подпрограммы создания новых
function getNextNumber(room, className) команд. Также в следующей части будет рассмотрено ис-
room.Filter = Array(className)
dim i, n пользование регулярных выражений для упрощения об-
getNextNumber = 0 работки строк.
Реализация достаточно простая. Сначала для кон- 1. Андросов В. Делегирование прав на перемещение учетных
тейнера устанавливается фильтр, чтобы в перебор по- записей пользователей в Active Directory. Часть 1. Постановка
средством for each попадали только объекты нужного ти- задачи. //Системный администратор, №3, 2009 г. – С. 16-21.
па. Затем получается номер каждого объекта (функция 2. Андросов В. Делегирование прав на перемещение учетных за-
getUnderlinedNumber). Функция определяет максимальный писей пользователей в Active Directory. Часть 2. Реализация
встреченный номер и возвращает его, увеличив на еди- основных функций. //Системный администратор, №4, 2009 г. –
ницу. С. 24-30.
3. Андросов В. Синхронизация ACL и структуры организации.
for each i in room Часть 3. //Системный администратор», №2, 2008 г. – С. 82-87.
n = getUnderlinedNumber(i.cn)
if n > getNextNumber then getNextNumber = n 4. msdn.microsoft.com.
Алексей Тараненко
Для облегчения труда системного администратора компания Microsoft создавала различные
средства автоматизации процесса установки ОС. Вначале это были файлы ответов и Remote
Installation Services (RIS), затем Windows Deployment Services (WDS). Сегодня я расскажу вам
об Operation System Deployment (OSD) в SCCM 2007 R2.
У
становка операционной систе- ру. Особенно рутинной она становит- ре, а представьте, что вам поручили
мы – одна из операций, которую ся, когда нужно одновременно уста- подготовиться к открытию офиса в но-
периодически необходимо про- новить ОС на несколько компьютеров. вом городе и одновременно нужно ус-
водить системному администрато- Хорошо, если их будет три или четы- тановить 50 или 100 компьютеров. Ес-
38
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
тественно, что процесс ручной уста-
новки операционной системы на каж- Глоссарий несколько образов в одном WIM-фай-
дый компьютер займет очень много Windows Preinstallation Environment ле. Формат WIM существенно уменьша-
времени. (Windows PE) – прединсталляционная ет размер файловых образов, исполь-
В статье будет рассмотрена уста- платформа Microsoft, которая пришла зуя методы сжатия и хранения единич-
новка сервера Windows Deployment на смену MS-DOS при установке опе- ных копий. (WIM-файлы содержат одну
Ser vices и р ол е й System Center рационной системы. Помимо своей ос- физическую копию файла для каждого
Configuration Manager 2007 в среде новной функции – подготовки компью- экземпляра этого файла в образах, со-
Windows Server 2003 в режиме работы тера к установке операционной систе- держащихся в WIM-файле, что сущест-
сайта SCCM 2007 – mixed mode. Ста- мы, она может быть использована в ка- венно уменьшает размер WIM-файлов,
тья подразумевает, что читатель обла- честве самостоятельной ОС (LiveCD) содержащих несколько образов). Кроме
дает начальными знаниями по работе для запуска сторонних программ. этого, формат WIM-образов позволяет
с SCCM 2007. Windows Imaging Format (WIM) – это проводить неразрушающее разверты-
файл-ориентированный формат обра- вание. Это означает, что вам не нужно
Способы установки ОС зов, который предоставляет значитель- делать резервную копию информации,
в SCCM ные преимущества по сравнению с бо- находящейся на томе, куда устанавли-
Configuration Manager 2007 предлага- лее распространенными сегодня сек- вается образ, так как процедура уста-
ет нам несколько способов установки тор-ориентированными форматами. новки образа не приводит к удалению
операционных систем: Формат WIM позволяет также хранить существующего содержимого диска.
n установка с помощью образа WIM
c загрузкой по сети или с исполь- В формате WIM распространя- Outlook + Powerpoint), архиватор, анти-
зованием диска (USD\CD\DVD); ются все последние ОС Microsoft: вирус и ряд других программ.
n установка из сетевой папки (подо- Windows Vista, Windows 7 и Windows В случае использования WDS у нас
бие RIS). Server 2008. Windows XP недоступна есть несколько вариантов решения
в качестве готового WIM-образа, од- этой задачи: мы можем внедрить все
Установка из сетевой папки яв- нако мы можем самостоятельно уста- программы в один WIM-файл или ис-
ляется более предпочтительным ва- новить Windows XP на эталонный ком- пользовать несколько WIM-файлов,
риантом для операционных систем пьютер, а затем сохранить полученный каждый для своего типа компьюте-
Windows 2000 и Windows XP. Хотя эта образ в формате WIM. OSD поддержи- ров. Понятно, что это не очень удобно –
установка требует больше времени, вает операционные системы, начиная мы тратим место на сервере под не-
однако она позволяет полностью из- с версии Windows 2000 SP4. сколько WIM-файлов, устанавливает-
бавиться от проблем с несовмести- Давайте рассмотрим следующий ся не минимальный необходимый на-
мостью аппаратных уровней (уровней сценарий – установка Windows XP бор программ и т.д.
HAL). Следует отметить, что установка на новый компьютер. Хотя Windows XP Другим выходом в случае исполь-
из сетевой папки, это именно установ- существует уже более 7 лет и жиз- зования WDS может стать установка
ка (как с CD\DVD-диска), а не развер- ненный цикл этой системы подходит программ через групповые политики.
тывание эталонного WIM-образа. к своему финальному этапу, она все Этот метод также имеет свои минусы.
еще является самой распространен- Если же мы используем SCCM, то бла-
Системные требования ной клиентской операционной систе- годаря возможности построения раз-
Operation System Deployment исполь- мой в мире. личных последовательностей задач
зует технологию Windows Deployment (task sequence), мы используем один
Services для распространения обра- Преимущества OSD SCCM образ WIM для установки на все типы
зов на клиентские компьютеры. Для ис- над WDS компьютеров с любым набором про-
пользования OSD в среде сайта SCCM Поскольку распространение операци- грамм. И это касается не только уста-
нужно выполнить следующие условия: онных систем в SCCM базируется на новки программ, но и драйверов, и об-
n сервер WDS; WDS, многие читатели могут задать- новлений безопасности.
n сервер DHCP; ся вопросом: «В чем же заключаются В OSD SCCM возможно устанавли-
n сервер с ролью PXE; плюсы от использования OSD»? В OSD вать операционные системы на неиз-
n более 512 Мб оперативной памя- вы работаете с последовательностью вестные/новые компьютеры. Причем
ти на клиенте для успешной уста- задач (task sequence), таким образом, установка на неизвестный компьютер
новки. вы можете создавать различные сце- не потребует от системного админи-
нарии установки и при этом использо- стратора дополнительных усилий.
Требование 512 Мб оперативной па- вать для них один образ WIM. Неизвестным компьютером в сре-
мяти обусловлено размером, занимае- Например: вам необходимо уста- де сайта SCCM будет компьютер, не со-
мым Windows PE 2.0 в памяти компью- новить ОС на два типа компьютеров держащий записи в базе данных сайта.
тера при развертывании. с разным набором программ. Для пер- Такими компьютерами могут быть: но-
Для хранения образа системы вого типа необходимы: Windows Vista вые, впервые подключающиеся к сети
Configuration Manager использует фай- и Microsoft Word, для второго – Windows компьютеры, компьютеры без установ-
лы формата WIM. Vista, Microsoft Office (Word + Excel + ленного агента SCCM.
40
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Завершение настройки етесь устанавливать одинаковую вер-
WDS‑PXE сию ОС одновременно на несколько
Теперь осталось проверить некото- компьютеров.
рые пункты установки, и можно пере- Теперь необходимо опубликовать
ходить к процессу захвата и разверты- загрузочный образ на точке распро-
ванию образа. странения (Distribution point). В консо-
В консоли администрирования ли администрирования SCCM перей-
SCCM выбираем пункт Site database → дите к пункту OSD → Boot Image →
Computer management → Operation Distribution point, далее правой кноп-
System Deployment (см. рис. 3). кой мыши вызываем контекстное ме-
Далее по тексту указание на пункт ню New Distribution Point. В появив-
OSD в консоли администрирования шемся мастере обязательно выбери-
SCCM будет означать обращение те точку распространения – \\SCCM\
именно к этому разделу либо его под- SMSPXEIMAGES$ и вашу стандартную
разделам. точку распространения.
Рисунок 2. Включение поддержки
неизвестных компьютеров в SCCM Важно! Точка SMSPXEIMAGES$
Загрузочные образы является служебной точкой распро-
Для начала проверим, создались ли у нас образы для за- странения только для образов загрузки. Обычные образы
грузки. Переходим к пункту Boot image. По умолчанию соз- установки не нужно распространять на эту точку.
дается два образа загрузки для х86-систем и х64-систем
соответственно. Если по какой-либо причине они не созда- Подготовка эталонного компьютера
лись или вы удалили их, можно добавить эти образы че- Пришло время нена долго отвлечься от настройки
рез команду Add boot image. Стандартные образы хранятся Configuration Manager и настроить эталонный компьютер.
в папке установки SCCM – \Microsoft Configuration Manager\ Самой большой проблемой при установке Windows XP
OSD\boot. Стоит отметить, что в общем случае у вас для за- является несовместимость аппаратно-зависимых уровней
грузки будет использоваться тот образ, который соответ- (уровней HAL) и драйверов контроллеров дисков.
ствует вашей архитектуре. Не стоит путать разрядность Подробнее об уровнях HAL: http://support.microsoft.com/
образа загрузки и разрядность устанавливаемой опера- kb/309283/ru.
ционной системы. Если парк компьютеров у вас стандартный, то такая про-
Если не планируется устанавливать x64-версии опера- блема, скорее всего, обойдет вас стороной. Если же ком-
ционных систем, то можно смело использовать для загруз- пьютеры у вас закупались в разное время и Core 2 Quad со-
ки только образ x86, он будет успешно загружаться на лю- седствует с Pentium IV и Celeron, то возможно вам придется
бых процессорах. Щелкаем правой кнопкой на образе за- создавать несколько образов. Но перед тем как делать не-
грузки и открываем свойства. сколько образов, попробуйте такой способ: находите ком-
Иногда бывает, что стандартный загрузочный образ пьютер, у которого HAL соответствует «Однопроцессорный
не может начать процесс установки. Чаще всего это свя- компьютер с ACPI», ACPI APIC UP HAL (Halaacpi.dll) (посмот-
зано с тем, что Windows PE не может найти подходящие реть уровень HAL можно в диспетчере устройств раздела
драйверы для сетевой карты. На вкладке Windows PE вы «Компьютер»), и делаете захват эталонного образа имен-
можете их добавить. Не стоит злоупотреблять добавлени- но с этого компьютера.
ем драйверов! Помните, что все драйверы будут распако- Такой образ должен без проблем установиться и на мно-
ваны в память компьютера при загрузке. Добавляйте их гопроцессорные компьютеры, что в принципе покрывает
только для тех сетевых плат и контроллеров дисков, кото- большинство современных рабочих станций.
рые отказываются работать со стандартными драйвера- Кроме того, ошибку Stop 0x0000007b могут вызвать не-
ми. Также на этой вкладке можно включить поддержку ко- правильные драйверы контроллера диска. И хотя на боль-
мандной строки в среде Windows PE (вызывается по нажа- шинстве рабочих станций применяются стандартные кон-
тию кнопки <F8>) и установить собственные обои для про- троллеры, драйверы которых присутствуют в Windows XP,
граммы загрузки. вы можете столкнуться с рабочей станцией, которая требу-
Если у нас в одном WIM-файле содер- ет для своей работы определенного драй-
жится несколько образов, а формат WIM вера. Нам поможет утилита Sysprep.
такое позволяет, то мы можем задать ис- Программа подготовки системы
пользуемый образ на вкладке Data Source (Sysprep.exe) применяется в целях подго-
(см. рис. 4). товки установленной копии Windows для со-
На вкладке Distribution Settings мы мо- здания образа.
жем указать использование опции multicast. Драйверы контроллеров лучше интег-
Мультикаст – это новая возможность рировать в Windows XP через программу
в SCCM 2007 R2, которая позволяет от- Sysprep. Для добавления в файл sysprep.inf
давать образ одновременно на несколько Рисунок 3. Консоль списка стандартных и уже установленных
машин, таким образом снижая загружен- администрирования контроллеров измените файл sysprep.inf
Configuration Manager –
ность сети. Включите опцию, если собира- раздел OSD следующим образом:
Выполните команду «sysprep -bmsd», и в файл sysprep.inf Зачем ставить .net Framework 3.5? На большинстве кли-
будут добавлены известные системе драйверы контролле- ентских компьютеров вам рано или поздно придется устано-
ров дисков. вить .net Framework 2.0 или 3.0. Пакет .net Framework 3.5 со-
держит в себе и тот и другой, поэтому логичнее установить
*pnp0a00=c:\windows\inf\machine.inf
*pnp0a01=c:\windows\inf\machine.inf его сразу. Разумеется, вы можете его не устанавливать, ес-
*pnp0a04=c:\windows\inf\machine.inf ли считаете, что платформа .net вам не нужна.
*pnp0a03=c:\windows\inf\machine.inf
Да, в случае исключения большого количества про-
pci\cc_0604=c:\windows\inf\machine.inf
pci\cc_0601=c:\windows\inf\machine.inf грамм из образа в раздел распространения программ SCCM
pci\cc_0602=c:\windows\inf\machine.inf у нас увеличивается время установки ОС. Но в случае ус-
pci\cc_0600=c:\windows\inf\machine.inf
pci\cc_0500=c:\windows\inf\machine.inf тановки на один-два компьютера время установки для нас
становится некритичным, зато появляется гибкость в рас-
Если нам необходимо добавить драйверы вручную, то за- пространении программ, поскольку программы не интег-
полняем секцию [SysprepMassStorage] файла sysprep.inf: рированы жестко в WIM-файл, а устанавливаются допол-
нительно.
;VIA
PCI\VEN_1106&DEV_3349&CC_0104 = c:\drive\viamraid.inf
PCI\VEN_1106&DEV_6287&CC_0106 = c:\drive\viamraid.inf Снятие образа установки
;ITEATAPI В SCCM есть два базовых способа снятия образа:
PCI\VEN_1283&DEV_8212&SUBSYS_00011283 = ↵
c:\drive\iteatapi.inf; 8212/CX n Build and capture reference operating system image.
n Capture media.
Код устройства PCI\VEN_1106&DEV_3349&CC_0104
можно узнать из inf-файла драйвера, c:\drive\viamraid.inf – Первый способ подразумевает установку операционной
путь к нашему драйверу. системы, автоматическую установку программ и обновле-
Важно! Драйвер должен будет находиться на дис- ний, и затем снятие эталонного образа. Такой способ боль-
ке перед снятием образа. Кроме того, при снятии обра- ше подходит для обновления уже существующего WIM об-
за Windows XP может генерировать запросы на установ- раза Windows XP либо для использования с Windows Vista/
ку драйверов. Windows 7. Я предпочитаю второй путь – создание диска
Стоит также обратить внимание на используемый тип с системой захвата образа. Отдав диск захвата (Capture
дисков – IDE или SATA. У вас могут возникнуть пробле- disk) службе технической поддержки, вы избавите себя
мы, если эталонная ОС была установлена на более «быст- от необходимости периодически обновлять образ системы.
рый» диск, чем диск, на который устанавливает операци- Эти действия будут происходить без вашего вмешательс-
онная система. К примеру, попытка установки образа, сня- тва силами специалистов техподдержки, при определенных
того с SATA-диска, на IDE-диск может закончиться ошиб- условиях обновление образа системы не потребует от вас,
кой BSOD. как администратора SCCM, вообще никаких действий.
Теперь пора перейти к наполнению эталонной станции Создание задания Build and capture reference operating
программами. Определите для себя наиболее распростра- system image фактически не отличается от процесса созда-
ненный набор программ, которые установлены на всех ва- ния обычного task sequence, который мы рассмотрим даль-
ших рабочих станциях. Естественно, для каждой компании ше. Этот пункт доступен через консоль администрирова-
этот набор программ будет различным. При создании обра- ния SCCM OSD → Task Sequence, далее правой кнопкой мы-
за стоит учитывать, необходима ли масштабная установ- ши вызываем контекстное меню New → Task Sequence →
ка. Так, если предстоит в кратчайший Build and apture reference operating
срок развернуть несколько десятков system image.
или сотен копий ОС, то лучше вклю- Рассмотрим процесс создания дис-
чить все программы в образ, возможно, ка захвата. Отмечу, что в роли дис-
создав несколько разных образов для ка захвата могут выступать USB/CD/
разного набора программ. Если же ус- DVD-диски. В консоли администриро-
тановка планируется в текущем режи- вания SCCM выбираем OSD → Task
ме, то рекомендую вынести установку Sequence, правой кнопкой мыши вы-
программ в отдельный пункт. К тому же зываем контекстное меню Create task
SCCM позволяет устанавливать про- sequence media. В появившемся масте-
граммы на этапе развертывания опе- ре выбираем пункт Capture media. Вы-
рационной системы. Что же стоит ус- бираем тип диска CD/DVD и место хра-
тановить в эталонном образе: нения образа. На следующей странице
n ОС Windows XP + последний пакет мастера выбираем используемый об-
обновлений и последние обновле- раз загрузки. В большинстве случаев
ния безопасности; подойдет образ х86. Указываем точку
n .net Framework 3.5; Рисунок 4. Путь к образу распространения.
42
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Просматриваем страницу Summary, нажимаем Next
и ждем несколько минут, пока создастся образ диска. Те-
перь записываем этот образ на диск. После записи диска
возвращаемся к нашему эталонному компьютеру. Вставля-
ем диск в CD-ROM и видим запуск программы (см. рис. 5).
Напомню, что папка Sysprep уже должна существовать
на разделе с операционной системой. Иначе мы получим
сообщение об ошибке.
Затем мы указываем место хранения образа и учетные
данные для подключения к этой сетевой папке.
После того как мастер закончит снятие образа, в указан-
ной папке на сервере появится файл образа эталонного ком-
пьютера в формате WIM. Теперь необходимо добавить образ
в базу Configuration Manager. В консоли администрирования
SCCM переходим к разделу Operation System Deployent →
Operation System Images → Add operating system Image. В по-
явившемся мастере указываем размещение файла образа Рисунок 5. Экран приветствия мастера захвата образа
в сети, вводим название, версию и комментарий.
Остальные пункты оставляем по умолчанию и жмем чтобы в параметре Command line была прописана строка
кнопку Finish – образ готов. В консоли администрирования CCMSETUP.EXE /noservice SMSSITECODE=AUTO. Если ее
находим образ в разделе OSD → Operation System Image, там нет, необходимо ее прописать. После этого переходим
вводим имя образа, далее правой кнопкой мыши вызываем к разделу Distibution point и опубликовываем пакет на ос-
контекстное меню Properets. Переходим на вкладку Image , новной точке распространения.
где можем увидеть сводку WIM-файла (cм. рис. 6).
Теперь необходимо опубликовать образ на точке рас- Создание пакета драйверов
пространения. OSD → Operation System Image, вводим имя Для начала необходимо добавить драйверы в базу сайта
образа, далее переходим к Distribution point, далее правой Config Manager. Для этого драйверы должны быть располо-
кнопкой мыши вызываем контекстное меню New distribution жены в сетевой папке и сервер SCCM должен иметь разре-
point. В появившемся мастере отмечаем точку распростра- шение на чтение данной папки. В консоли администрирова-
нения. ния SCCM переходим к OSD → Drivers, правая кнопка мы-
Важно! Помните, что точку \SMSPXEIMAGES$ мы не ши, контекстное меню Import. В появившемся мастере ука-
отмечаем! зываем UNC-путь к папке с драйверами. На странице Add
driver to packages необходимо создать новый пакет драйве-
Создание пакета установки агента ров (New package), указав место расположения драйвера –
Configuration Manager сетевую папку, в которой будут храниться все драйверы па-
Рассмотрим создание пакета установки программы на при- кета. Эта папка может быть скрытой с помощью символа
мере агента ConfigManager. В консоли администрирова- $. В этом же мастере при необходимости мы можем доба-
ния SCCM переходим к пункту Site database → Computer вить драйвер к образам загрузки Windows PE2. Если вы ре-
management → Software distribution → Packages, далее пра- шили добавить драйвер к образу загрузки, то не забудьте
вой кнопкой мыши вызываем контекстное меню New → поставить галочку напротив параметра Update distribution
Package from definition и выбираем Configuration Manager point when finished. После завершения мастера импортиро-
Client update. Указываем, что пакет будет содержать ин- вания драйвера не забудьте указать точку распростране-
сталляционные файлы (Always obtain ния для пакета драйверов. В консоли
files from a source directory). Если мы ра- администрирования SCCM переходим
ботаем с консолью на сервере SCCM, к OSD → Driver packages → Distribution
то выбираем вариант Local drive on site point, правая кнопка мыши, контекст-
server и указываем путь к инсталляци- ное меню New distribution point.
онным файлам клиента, по умолчанию Важно! Существует ограничение:
C:\Program files\Microsoft Configuration Windows XP не поддерживает загруз-
Manager\Client\. Если же мы работаем ку более 150 драйверов на клиента.
с консолью с рабочей станции админи- Причем из личного опыта мне извес-
стратора, то следует указать сетевой тно, что эта цифра еще меньше – 144.
путь: \\server_sccm\SMS_SITECODE\ Подробнее о процессе установки драй-
Client. После создания пакета в кон- веров и подготовке пакета драйверов
соли SCCM разворачиваем пункт с на- вы можете узнать на сайтах:
шим пакетом и переходим к разделу n http://technet.microsoft.com/ru-ru/
Programs. library/bb680651.aspx;
Заходим в свойства Advanced client n http://itband.ru/tag/sccm;
silent upgrade. Нам важно убедиться, Рисунок 6. Свойства образа WIM n http://blogs.sysfaq.ru/altaranenco.
44
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Рисунок 9. Свойства разметки диска
в Task Sequence Рисунок 10. Объявление для установки ОС (Advertisment Task Sequence)
ку именно в этом пункте задаются настройки применения Важно! Не устанавливайте принудительную установ-
всех драйверов или только совместимых, а также поведение ку операционной системы (mandatory assignment) если вы
системы при установке неподписанных драйверов. не уверены в своих действиях. Неверная установка данно-
При необходимости добавляем произвольные шаги пос- го параметра вместе с назначением задания на ошибоч-
ледовательности установки, например такие как установка ную коллекцию приведет к переустановке всех компьюте-
программ или обновлений. На этом подготовку к разверты- ров этой коллекции.
ванию можно считать оконченной. Остальные параметры можно оставить по умолчанию.
После этого SCCM полностью готов к развертыванию опе-
Назначение установки операционной рационной системы на клиентские компьютеры.
системы на коллекцию компьютеров Теперь перейдем к целевому компьютеру. В BIOS ком-
Коллекция (collection) – группа объектов (пользователи, пьютера выставьте первым вариантом загрузку по сети
компьютеры, группы безопасности), объединенная по ка- (PXE BOOT), а вторым – загрузку с жесткого диска. Вклю-
кому-либо признаку. Мы будем работать со стандартной чите компьютер, при загрузке вы увидите экран, подобный
коллекцией ConfigManager 2007 R2 – коллекцией для неиз- экрану на рис. 11. После нажатия клавиши <F12> начнутся
вестных компьютеров – All unknown computers. До версии загрузка и запуск системы Windows PE.
SCCM 2007 R2 установка на неизвестные для сайта SCCM
компьютеры была возможна только при использовании сто- Заключение
ронних средств, в частности скрипта pxefilter.vbs из комп- Установка Windows XP через WIM-файлы в SCCM являет-
лекта MDT 2007. Если хотите установить ОС на компьютер, ся нетривиальной задачей. Помимо отсутствия фабричного
который уже является клиентом SCCM-сайта, добавьте этот файла WIM (как Windows Vista\Windows 7) и, следователь-
компьютер в члены соответствующей коллекции. Кроме но, необходимости создавать свой файл образа системы,
того, для нового компьютера мы можем вручную создать нужно еще решить проблему несовместимости уровней HAL
запись в базе данных сайта через пункт OSD → Computer и установки драйверов. Надеюсь, что данная статья помо-
association. Для этого потребуется MAC-адрес сетевой кар- жет вам лучше ориентироваться в возможностях продукта
ты компьютера. В таком случае мы сможем сразу задать system Center Configuration Manager 2007.
имя компьютера, которое применится при установке.
Для того чтобы назначить установку операционной сис-
темы на коллекцию, необходимо в консоли SCCM выпол-
нить OSD → Task sequence, вводим имя задания, далее пра-
вой кнопкой мыши вызываем контекстное меню Advertise
(см. рис. 10).
В появившемся окне мастера вводим имя для задания
распространения, выбираем созданный нами task sequence
и коллекцию («All unknown computers»), на которую будет
применяться это задание. Также обязательно нужно отме-
тить использование PXE для этого задания (Make this task
sequence avialable to boot media and PXE). На следующей
странице выбираем время, с которого будет доступно за-
дание для клиентов. Рисунок 11. Экран загрузки агента PXE boot
Иван Коробко
Большинство операций в каталоге Active Directory сводится к поиску объектов по различным
критериям. Рассмотрим подробно процедуру с помощью библиотек .NET Framework
на PowerShell.
П
оиск объектов в Active Directory осуществляется Get-Alias | Format-Table -Property Definition, Name -Autosize
с помощью класса .NET FrameWork System.Directory
Services.DirectorySearcher и одного из методов: Для осуществления процедуры поиска необходимо за-
FindAll() или FindOne() в зависимости от условий поиска. дать несколько параметров:
Сценарий поиска можно условно разделить на несколько n Фильтр поиска (обязательный параметр). С помощью
логических частей: него формируется поисковый запрос.
n доступ к контейнеру; n Список атрибутов. Задается для сокращения време-
n фильтр поиска; ни поиска.
n атрибуты поиска; n Область поиска. Определяет глубину поиска.
n область поиска; n Сортировка. Позволяет получить результат в нужном
n сортировка элементов; виде.
n поиск объектов.
Фильтр поиска
Доступ к контейнеру При написании фильтра поиска используются выраже-
Для поиска объекта необходимо определить точку входа – ния, строящиеся по определенным правилам, а именно
путь к контейнеру, в котором будет осуществляться поиск. (см. таблицу 1):
Для выполнения этого условия необходимо создать объ- n каждое выражение должно быть заключено в скобках;
ект DirectorySearcher: n в выражениях допускается использование операторов
сравнения: «<», «<=», «=», «>=» и «>»;
$path = "LDAP://OU=WorkSpace,DC=Island,DC=ru" n допускаются составные выражения, образуемые с по-
$obj = New-Object DirectoryServices.DirectorySearcher($Path)
мощью префиксных операторов «&», «|», «!».
Созданный объект содержит ряд свойств и методов.
Полный отображения списка свойств и методов, поддер- Любой фильтр обычно состоит из двух логических час-
живаемых объектом, необходимо использовать командле- тей. С помощью одной части определяют тип искомых объ-
том Get-Member или его псевдонимом (gm): ектов, в другой – искомое значение. Наличие фильтра не-
обязательно.
$obj | Get-Member Тип объекта определяется последним значением мас-
сива objectClass. Например, для учетной записи пользова-
Примечание: командлет – это обычная команда, вы-
полняющая определённое действие с указанным объектом. Таблица 1. Операторы фильтра поиска
Любой командлет состоит из глагола и существительного,
Оператор Значение Оператор Значение
разделенных дефисом. Глагол указывает, какое действие
= Эквивалентно & И
будет производиться, а существительное указывает объект,
над которым будет производиться это действие. Команд- ~= Примерно равно | ИЛИ
леты поддерживают сокращения. Полный список сокраще- <= Меньше или равно ! НЕ
ний можно получить с помощью команды: >= Больше или равно * ВСЕ
46
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
теля objectClass = person, для группы – group, для контей- n FindAll() – возвра- Таблица 2. Зарезервированные
имена, используемые в фильтрах
нера – organizationalUnit. щают коллекцию поиска
Приведу несколько характерных примеров фильтров: (массив) объектов,
Символ Значение
n (objectClass=*). Все объекты имеют принадлежность элементы которой
* \2a
к одному из классов. Данный фильтр вернёт все объ- удовлетворяют за-
екты в области поиска; данным критериям ( \28
где «СВОЙСТВО» – имя атрибута. Таким образом, для чте- # Критерий поиска — отображаемое имя группы
$Search.Filter = "(&(objectClass=User)(cn=A*) ↵
ния строковых и числовых характеристик следует исполь- (!objectClass=Computer))"
зовать шаблон 1, для массивов – шаблон 2.
# Поиск по всему каталогу Active Directory
$Search.SearchScope = 2
Шаблон 1. Чтение строковых и числовых атрибутов
# Сортировка результатов поиска
# Атрибуты name, primarygroup, description и т.д. $Search.Sort.Direction = 1
$data = $obj.psbase.properties.СВОЙСТВО $Search. Sort.PropertyName="sAMAccountName"
write-host $data
# Выполнение поиска
$Search.FindAll() | % {
Шаблон 2. Чтение массивов
# Получение доступа к группе с помощью относительного пути
# Атрибуты member, memberOf и т.д. $obj = $_.GetDirectoryEntry()
$data = $obj.psbase.properties.СВОЙСТВО
ForEach ($item in $data) { # Чтение данных
Write-Host $item} Write-Host $obj.samaccountname}
Для чтения массивов используется оператор ForEach, Исходя из поставленной задачи отметим, что фильтр по-
который в отличие от других языков программирования иска состоит из двух частей. В первой из них выбираются
в PowerShell имеет сокращенную форму записи (см. шаб- учетные записи пользователей (см. таблицу 3):
лон 3). Конструкция «ForEach ($element in $array){}» заме-
няется конструкцией «$array | % {}». В этом случае в цик- (&(objectClass=User)(!(objectClass=Computer)))
ле обращение к текущему элементу массива осуществля-
ется с помощью $_. Вторая часть – из отобранных учетных записей выбрать
начинающиеся с буквы «А». Фамилия пользователя хранит-
Шаблон 3. Чтение массивов (сокращенная запись) ся в значении атрибута sn (second name), поэтому фильтр
# Атрибуты member, memberOf и т.д. будет выглядеть следующим образом:
$obj.psbase.properties.СВОЙСТВО | % {
Write-Host $_} (&(cn=А*))
Таблица 3. Взаимосвязь типов объектов Active Directory и значений параметра Объединим два фильтра в один,
objectClass
получим:
Комментарий Тип объекта Значение objectClass Фрагмент поискового запроса
Учетная запись Computer Top (&(objectClass=Computer)) (&(objectClass=User)(cn=A*) ↵
компьютера Person (!objectClass=Computer))
OrganizationalPerson
User
Computer
Заключение
Группа безопасности Group Top (&(objectClass=Group)) Уже на стадии поиска можно осущест-
Group
влять сортировку значений выбранно-
Папка дерева каталогов OU Top (&(objectClass=OrganizationalUnit))
Active Directory OrganizationalUnit
го поля в указанном направлении. Со-
ставлять запрос стало гораздо проще
Опубликованный Printer Top (&(objectClass=PrintQueue))
в Active Directory Leaf по сравнению с VBScript. Если раньше
сетевой принтер ConnectionPoint для составления запроса требовались
PrintQueue
хотя бы минимальные знания по SQL,
Опубликованная в Active Shared Folder Top (&(objectClass=Volume)) то сейчас достаточно знать названия
Directory сетевая папка Leaf
ConnectionPoint полей. С выходом Windows Server 2008
Volume узнать поля стало еще легче: утили-
Учетная запись User Top (&(objectClass=User)(!(objectClass=Computer))) та ADSI Edit теперь входит в комплект
пользователя, Person
совместимая OrganizationalPerson операционной системы и устанавлива-
с доменами Windows NT User ется по умолчанию.
48
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Переполнение буфера Межсайтовый скриптинг
в TIBCO SmartSockets в AXIGEN Mail Server
Программа: TIBCO SmartSockets версии до 6.8.2; TIBCO Программа: AXIGEN Mail Server 6.2.2, возможно, более
SmartSockets Product Family (RTworks) версии до 4.0.5; TIBCO ранние версии.
Enterprise Message Service (EMS) версии 4.0.0 до 5.1.2. Опасность: Средняя.
Опасность: Средняя. Наличие эксплоита: Нет.
Наличие эксплоита: Нет. Описание: Уязвимость существует из-за недостаточной
Описание: Уязвимость существует из-за неизвестной обработки входных данных в e-mail-сообщениях. Удален-
ошибки при обработке UDP-запросов. Удаленный поль- ный пользователь может с помощью специально сформи-
зователь может с помощью специально сформированно- рованного e-mail-сообщения выполнить произвольный код
го UDP-запроса вызвать переполнение стека и выполнить сценария в браузере жертвы в контексте безопасности уяз-
произвольный код на целевой системе. вимого сайта.
URL производителя: www.tibco.com. URL производителя: http://www.axigen.com/mail-server/
Решение: Установите последнюю версию с сайта произ- products.php.
водителя. Решение: Установите последнюю версию 7.1.0 с сайта про-
изводителя.
Множественные уязвимости
в Ingate Firewall и SIParator Уязвимость в DB2 Content Manager
Программа: Ingate Firewall версии до 4.7.1; Ingate SIParator Программа: DB2 Content Manager версии до 8.4.1 Fix Pack 1.
версии до 4.7.1. Опасность: Средняя.
Опасность: Средняя. Наличие эксплоита: Нет.
Наличие эксплоита: Нет. Описание: Уязвимость существует из-за неизвестной ошиб-
Описание: 1. Уязвимость существует из-за ошибки, кото- ки в eClient. Подробности уязвимости не сообщаются.
рая позволяет удаленному пользователю сконфигурировать URL производителя: www-306.ibm.com/software/data/cm/
юнит. Для успешной эксплуатации уязвимости для IPsec- cmgr.
туннеля должна быть разрешена настройка юнита. Решение: Установите последнюю версию 8.4.1 Fix Pack 1
2. Уязвимость существует из-за неизвестной ошибки с сайта производителя.
в реализации IDS/IPS, которая позволяет SIP-пакетам обой-
ти защиту от спуфинга и IPSec-проверки. Отказ в обслуживании
3. Уязвимость существует из-за ошибки при подтверж- в Sun Java System Calendar Server
дении подлинности DSA- и ECDSA-ключей. Удаленный поль- Программа: Sun ONE Calendar Server 6.0; Sun Java System
зователь может подменить сертификат сервера. Calendar Server 6 2005Q4 и более ранние версии.
4. Уязвимость существует из-за ошибки при подтверж- Опасность: Средняя.
дении подлинности HMAC-дайджеста, что повышает шанс Наличие эксплоита: Да.
успешной подмены SNMPv3-пакета. Описание: Уязвимость существует из-за ошибки при об-
5. Уязвимость существует из-за ошибки при примене- работке большого количества HTTP-запросов, содержащих
нии политики reject для пакетов, приходящих из недове- некорректное значение в параметре tzid. Удаленный поль-
ренных шлюзов. Удаленный пользователь может обойти зователь может аварийно завершить работу веб-сервера.
защиту от спуфинга. Пример:
6. Различные ошибки существуют при обработке SIP-па-
https://[host]:3443/?tzid=crash
кетов. Удаленный пользователь может с помощью специ-
ально сформированных SIP-пакетов аварийно завершить URL производителя: www.sun.com.
работу устройства. Решение: Установите исправление с сайта производителя.
URL производителя: www.ingate.com.
Решение: Установите последнюю версию 4.7.1 с сайта про- Повышение привилегий в HP-UX
изводителя. Программа: HP-UX B.11.11, B.11.23 и B.11.31.
Опасность: Низкая.
Обход ограничений безопасности Наличие эксплоита: Нет.
в Citrix Licensing Описание: Уязвимость существует из-за ошибки в команде
Программа: Citrix Licensing 11.5, возможно, другие версии. useradd при установке домашней директории и идентифи-
Опасность: Средняя. катора группы. Злоумышленник может получить неавтори-
Наличие эксплоита: Нет. зованный доступ к некоторым директориям и файлам.
Описание: Уязвимость существует из-за неизвестной URL производителя: www.hp.com
ошибки в компонентах License Management Console. Под- Решение: Установите исправление с сайта производителя.
робности уязвимости не сообщаются.
URL производителя: support.citrix.com/product/lic/v11.5. Составил Александр Антипов
Решение: Установите последнюю версию с сайта произ-
водителя.
Павел Закляков
Георгий Пахомов
Мировое стремление развивать WiMAX-сети дошло и до России. Конечно, покрытие WiMAX-
сетей по России далеко от GSM-покрытия «большой тройки», но сети развиваются, растёт
интерес и к устройствам, поддерживающим WiMAX. В статье будет рассказано о том,
как к многофункциональному маршрутизатору фирмы Asustek со встроенной ОС Linux
подключить WiMAX-модем.
Н
е успели ещё внедрить стандарт затора Asus WL-500gP [1] использует- затор Asus WL-500gP с USB-портами,
3G, как на рынке уже появился ся Linux, а опыт подключения модема а в руках вы держите USB WiMAX-мо-
4G – WiMAX. Его распростране- Samsung SWC-U200 удастся перенести дем Samsung SWC-U200, то что меша-
ние не обошло стороной и Россию. на другие полезные вам устройства. ет соединить эти два устройства?
Зона покрытия пока невелика – Есть спрос – будет предложение. Оказалось, что ничто не мешает,
Москва, Санкт-Петербург, а с недав- Не успели оглянуться, как количест- только в штатном режиме работать
него времени Уфа. во домашних устройств с сетевыми вместе эти два устройства не хотят.
С одной стороны, предложение интерфейсами увеличилось, а их под- Дальше будет описано техничес-
протестировать сеть WiMAX бесплат- ключение к глобальным сетям свелось кое решение по сопряжению указан-
но до 31 марта [3] или 31 мая [2] заман- к использованию недорогих маршру- ных устройств.
чиво, с другой, цена «входного билета» тизаторов, сочетающих в себе ещё Если же у вас есть только интерес
достаточно высока – не у всех найдут- и функции коммутатора, межсетево- в использовании WiMAX и нет жела-
ся лишние 4-5 тысяч рублей для покуп- го экрана, точки доступа, DHCP-сер- ния заниматься настройкой оборудо-
ки WiMAX-модема. вера, сервера печати, файлового сер- вания, то спешим сообщить, что в про-
Не спешите перелистывать страни- вера и пр. Однако до сих пор найти не- даже уже имеются готовые решения
цу, не найдя свой город в списке горо- дорогую точку доступа, поддерживаю- на базе Asus WMVN25E2+, а также го-
дов, охваченных WiMAX, ведь стандарт щую подключения по WiMAX, довольно товые решения по сопряжению упомя-
может завтра прийти и в ваш город. сложно из-за новизны стандарта. нутых нами устройств. Например, ком-
Возможно, вам будет интересно Тут-то и пришла на помощь русская пания «ГНУ/Линуксцентр» предлага-
узнать и про то, что внутри маршрути- смекалка. Если у вас есть маршрути- ет не только купить адаптированные
50
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
маршрутизаторы ASUS WL-500gP или D‑Link DIR-320, но и
предоставляет возможность взять эти устройства на тести-
рование [6]. Не отстаёт по предложениям и WiMAXstore [7].
Мы же рассмотрим вопрос самостоятельной перепрошив-
ки и настройки.
Взгляд внутрь
Получив в руки маршрутизатор и модем (см. рис. 1) для эк-
спериментов, было очень сложно удержаться от того, что-
бы не раскрутить их первым делом и не посмотреть, что же
там находится внутри.
Для этого переворачиваем маршрутизатор и отклеива-
ем ножки, под которыми находятся 4 винта (см. рис. 2).
Рисунок 1. Маршрутизатор Asus WL-500gP и USB-модем
Разворачиваем устройство, переворачиваем и снима- Samsung SWC-U200
ем крышку (см. рис. 3). Довольно много места, отключае-
мый Wi-Fi-модуль, чипсет (см. рис. 4) и процессор Broadcom
с памятью под экраном (см. рис. 5).
Если выполнить команды:
$ cat /proc/cpuinfo
...
system type : Broadcom BCM4704 chip rev 9 pkg 0
cpu model : BCM3302 V0.6
$ cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 30887936 18956288 11931648 0 1871872 6782976
$ uname -a
Рисунок 4. Чипсет маршрутизатора
Замена прошивки
Существует два варианта прошив-
ки модема [18]: через веб-интерфейс
(см. рис. 6) и через утилиту восста-
новления. В обоих рекомендуется ис-
пользовать только проводное подклю-
чение (не используя Wi-Fi и промежу-
точные сетевые устройства), отклю-
чить различные межсетевые экраны
и обеспечить бесперебойное питание
компьютера и маршрутизатора. С од-
ной стороны, эти требования разум-
ны, чтобы избежать лишних вопросов,
но с другой стороны, они могут пока-
заться чрезмерными и выставляющи-
ми читателей как не понимающих суть
происходящих процессов. Например,
логично спросить, а зачем отключать Рисунок 6. Обновление программного обеспечения через веб-интерфейс
52
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
n Убеждаемся, что маршрутизатор и компьютер соеди-
нены патч-кордом, либо промежуточные сетевые уст-
ройства между ними надёжны и обеспечены беспере-
бойным электропитанием.
n Нажимаем и держим кнопку перезагрузки на задней
стенке маршрутизатора.
n Обесточиваем на несколько секунд маршрутизатор
и снова его включаем.
n Дожидаемся мигания индикатора питания, после чего
отпускаем кнопку перезагрузки.
n На компьютере пользователя запускаем ASUS Firmware
Restoration Application (поставляется на диске вместе
с маршрутизатором).
n В программе выбираем распакованную прошивку
(файл .trx). Рисунок 7. Выпаянные кнопки
n Жмём Upload (загрузить).
Драйверы от модема
Скачиваем уже скомпилированные модуль libusb и драйвер
madwimax [11]. Если вас интересуют исходные коды, то их Рисунок 8. USB WiMAX-модем Samsung SWC-U200
можно найти в [12] и на сайте проекта wimax [10].
Чтобы не отставать от жизни, рекомендуем посетить фо-
рум http://www.wl500g.info/showthread.php?p=119756&page=1,
где ведётся практически ежедневная дискуссия, обсужда-
ются проблемы и появляются новые решения.
Также необходимые файлы можно найти и тут: http://
lvk.cs.msu.su/~lasaine/madwimax/wl500g.
54
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
«Поднимаем» SSH Совет 3. Запуск сервиса ssh и его ис- дый раз вручную, пропишем его в авто-
Если вы планируете использовать локаль- пользование позволяют защитить- разгрузку (файл post-boot) и сохраним на-
ное администрирование в доверенной се- ся от угрозы конфиденциальности, стройки во флеш-память (flashfs). Для это-
ти, то можно вполне обойтись программой но не приводит к отключению серви- го вначале проверим наличие файла post-
telnet и протоколом FTP либо флешкой для са telnet. Поэтому, если вы хотите из- boot командой:
переноса файлов. Но если вы планируете бежать других атак на маршрутизатор
# ls /usr/local/sbin/post-boot
настраивать ваш модем через Интернет через telnet, то следует дополнительно
либо ваша локальная сеть не является до- позаботиться об этом. В случае ошибки «No such file or directory»
веренной, то лучше потратить несколько (файла нет) его надо создать. Для этого соз-
минут и настроить SSH-сервис, использо- Начиная с версии 1.7.5.9-4 в комп- дадим, при необходимости, вышестоящие
вание которого предпочтительнее с точки лект поставки программного обеспечения директории, запишем имя командного ин-
зрения безопасности. маршрутизатора уже входит ssh-демон терпретатора первой строчкой и изменим
Подключаемся по протоколу telnet к ад- dropbear поддерживающий как RSA- так атрибуты файла командами:
ресу маршрутизатора. По умолчанию это и DSS-ключи. Наша задача – сгенериро-
# mkdir -p /usr/local/sbin/
192.168.1.1. Логин и пароль по умолчанию – вать пару ключей и запустить демон. Для # echo "#!/bin/sh" >> ↵
admin/admin. этого после подключения создадим дирек- /usr/local/sbin/post-boot
# chmod +x /usr/local/sbin/post-boot
Замечание: предполагая, что статью торию, где будут храниться ключи.
могут читать не только администраторы После, когда файл уже создан (или су-
# mkdir -p /usr/local/etc/dropbear
и продвинутые пользователи, предложим ществовал ранее), допишем в конец строч-
таким читателям несколько советов. Сгенерируем DSS- и RSA-ключи: ку запуска ssh-демона dropbear:
Совет 1. Если вы используете Windows # echo "dropbear" >> ↵
# dropbearkey -t dss -f /usr/local/ ↵
Vista, то telnet-клиент по умолчанию от- /usr/local/sbin/post-boot
etc/dropbear/dropbear_dss_host_key
сутствует в системе. Включить его мож- # dropbearkey -t rsa -f /usr/local/ ↵ После сохраним изменения во флеш-
etc/dropbear/dropbear_rsa_host_key
но через «Панель управления → Про- память и активируем работу с сохранён-
граммы и компоненты → Включение После того как ключи созданы, вы мо- ными настройками:
и отключение компонентов Windows → жете запустить ssh-демон, просто набрав # flashfs save && flashfs commit && ↵
Клиент Telnet». dropbear, но в случае перезагрузки мар- flashfs enable
Совет 2. Используйте лучше утилиту шрутизатора запуск придётся повторить. Выйти из telnet-сессии можно коман-
PuTTY [13]. Чтобы осуществлять запуск сервиса каж- дой «exit».
Значение 04e9:6761 идентифицирует вставленный Как легко заметить, указанные значения – это idVendor
в маршрутизатор WiMAX-модем. Если у вас имеется до- и idProduct. Интересно отметить, что модем на самом деле
полнительный компьютер с ОС Linux и свободным USB- является и вторым устройством, а именно моделирует ра-
портом, то вставьте в него модем и посмотрите файл /var/ боту USB CD-ROM со вставленным компакт-диском с драй-
log/messages, где вы сможете увидеть примерно следу- верами модема. Поэтому для ОС Windows драйверы на ком-
ющее: пакт-диске, как это бывает обычно, не поставляются.
Также ID устройства можно узнать и из команды lsusb:
May 8 21:46:57 notebook kernel: usb 1-7: new high speed USB
device using ehci_hcd and address 2 Bus 001 Device 002: ID 04e9:6761 PC-Tel, Inc.
May 8 21:46:57 notebook kernel: usb 1-7: configuration #1 chosen
from 1 choice К сожалению, в маршрутизаторе используется урезан-
May 8 21:46:57 notebook kernel: usb 1-7: New USB device found,
idVendor=04e9, idProduct=6761 ный комплект программного обеспечения, и поэтому ко-
May 8 21:46:57 notebook kernel: usb 1-7: New USB device strings: манды lsusb там нет. Если следовать [8], значение бывает
RESOLV_CONF=/tmp/resolv.conf
или нажатием <CTRL> + <F4> в mc. После завершения ре-
case "$1" in
дактирования необходимо файлу присвоить атрибут испол- bound|renew)
няемости командой: ifconfig $interface up
ifconfig $interface $ip netmask $subnet
route add default gw $router
chmod +x /usr/local/sbin/post-mount for ii in $dns; do
echo nameserver $ii >> $RESOLV_CONF
done
При создании (редактировании) файла /usr/local/sbin/ # trigger dnsmasq restart
kill -s SIGHUP `pidof dnsmasq`
post-mount мы указали команды для монтирования флеш- ;;
ки, загрузки модуля поддержки TUN/TAP-устройств, ини- deconfig)
ifconfig $interface 0.0.0.0
циализации модема и в конце предусмотрительно обра- echo deleting $RESOLV_CONF
тились к программе event.sh для поднятия сетевого интер- echo -n > $RESOLV_CONF
kill -s SIGHUP `pidof dnsmasq`
фейса и присваивания ему сетевых настроек. ;;
Чтобы не делать одну операцию два раза, сделанные esac
изменения мы не сохраняем во flash-памяти маршрути-
затора, так как ниже пойдёт речь о программах event.sh При желании готовый файл udhcpc.script можно
и udhcpc.script, которые надо создать и после сохранить. взять тут: http://lvk.cs.msu.su/~lasaine/madwimax/wl500g/
udhcpc-script.tgz и по аналогии с командами выше для
Получение сетевых настроек liveusb и madwimax скачать и распаковать.
Создадим файл event.sh, который будет отвечать за полу- Файл event.sh является основным и запускается пер-
чение IP-адреса и других сетевых параметров по протоко- вым. После, если необходимо, он вызывает вспомогатель-
лу DHCP от Yota. Файл udhcpc.script сохранит полученные ный скрипт udhcpc.script.
параметры в систему и изменит таблицу маршрутизации Сохраним изменения во flash-памяти маршрутизатора:
так, чтобы внешним интерфейсом считался не WAN Enternet-
модем, а WiMAX USB-модем. # flashfs save && flashfs commit && flashfs enable
Создаём файлы с установленным разрешением на
запуск: Можно попробовать выполнить команды, указанные
в /usr/local/sbin/post-boot, вручную, после чего, в случае об-
touch /opt/etc/madwimax/event.sh наружения сети WiMAX, у модема изменится цвет индика-
56
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
тора на синий и оба устройства будут работать, как мы это- tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tap0, link-type EN10MB (Ethernet), capture size 68 bytes
го ожидаем. Если это для вас сложно или подключение та- 20:05:30.915018 IP 10.129.27.141 > yota.ru: icmp 28: echo request seq 54
ким способом не получилось, перезагрузите маршрутиза- 20:05:31.019343 IP yota.ru > 10.129.27.141: icmp 28: echo reply seq 54
20:05:31.915008 IP 10.129.27.141 > yota.ru: icmp 28: echo request seq 55
тор командой: 20:05:32.109125 IP yota.ru > 10.129.27.141: icmp 28: echo reply seq 55
$ ps | grep ping
571 gp 764 S /opt/bin/SCREEN -dm ping -s 0 94.25.208.74
572 gp 404 S ping -s 0 94.25.208.74
58
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
подключить одновременно два WiMAX-модема, но и обес-
печить балансировку нагрузки штатными средствами мар-
шрутизатора. Правда для этого потребуется некоторое зна-
ние ОС Linux и утилиты ip из вышеуказанного пакета. Чита-
тели могут заметить, что два модема, подключенные к од-
ной базовой станции одного провайдера, повысят скорость, Рисунок 13. Переходник для антенны
но не повысят надёжность. Но не забывайте, что сеть актив-
но развивается, и у жителей столицы уже сейчас есть воз- devices based on Samsung CMC-730 chip – http://code.google.
можность выбора между сетями «Комстар-ОТС» и Yota. com/p/madwimax.
11. Драйверы для модема WiMAX – http://files.linux.ru/index.
Нужен com-порт? php?dir=wimax/asus-500gP.
На плате маршрутизатора имеется нераспаянный разъём, 12. Библиотека libusb – http://libusb.wiki.sourceforge.net/Libusb1.0.
который можно распаять и использовать (см. рис. 14). 13. PuTTY: A Free Telnet/SSH Client – http://www.chiark.greenend.org.
uk/~sgtatham/putty.
Заключение 14. WinSCP Plugin to FAR File Manager – http://winscp.net/eng/docs/
Сеть WiMAX развивается, растёт число устройств – это при- far.
ятный факт. Даже есть официальный драйвер для MacOS. 15. Yota-роутер или wimax2wifi за 15 минут – http://www.rusdoc.ru/
Обидно лишь одно, что драйверы под Linux идут не изна- articles/yota-router_ili_wimax2wifi_za_15_minut/18369/print.
чально с устройствами, как было бы правильнее, а получе- 16. Информация о ASUS WL-500g Premium – http://oldwiki.openwrt.
ны с помощью исследования двоичных файлов и восста- org/OpenWrtDocs(2f)Hardware(2f)Asus(2f)WL500GP.html.
новления исходного алгоритма [10]. 17. Сравнительная таблица маршрутизаторов Asus WL-500 и дру-
гих – http://notepad.timyou.com/page/Router+Hacks?t=anon.
1. Страница маршрутизатора Asus WL-500gP – http://www. 18. Firmware upgrading HOWTO WL-500g/WL-500gx Tutorials – http://
asuscom.ru/products.aspx?l1=12&l2=43&l3=0&l4=0&model=171 www.wl500g.info/showthread.php?t=1329.
2&modelmenu=1. 19. Hping – Active Network Security Tool – http://www.hping.org.
2. WiMAX-провайдер Yota – http://www.yota.ru/ru. 20. Последняя версии программы Yota Access, май 2009 – http://
3. WiMAX-провайдер «Комстар» – http://wimax.comstar.ru. www.yota.ru/downloads/YotaAccess_v.120_BL22.exe.
4. Yota Egg – автономный WiMax-роутер – http://wimax.livebusiness. 21. Ветка форума «Как правильно тестить Йоту + софт для это-
ru/tags/WIMAX_router. го» – http://forum.yotatester.ru/showthread.php?t=51.
5. Готовое WiMAX-решение на базе Asus WL 500gP – http://www. 22. Карта покрытия WiMAX – http://www.wimaxmonitor.ru.
linuxcenter.ru/shop/wimax/devices/asus_wl500gpv2. 23. Переходник для внешней антенны для модема WiMAX YOTA –
6. В Москве появились WiMax-роутеры – http://wimax.livebusiness. http://www.radioport.ru/index.cgi/shop?id=2207&dir=13.
ru/news/5806. 24. Антенный переходник – http://www.yota-shop.ru/index.php?go=
7. WiMAX-оборудование – http://wimaxstore.ru/shop/wimax/devices/ goods&cat=10&gid=119.
asus_wl500gpv2. 25. Антенный переходник – http://for wimax.ru/show_good.
8. Инструкция: как раздавать Интернет от Yota через WiMAX- php?idtov=90025.
модем Samsung SWC-U200 и роутера ASuS WL-500gP – http:// 26. Обновление прошивки и «тонкая настройка» модема Samsung
www.wimaxinfo.ru/?q=node/201. SWC-U200 – http://yota-wimax.ru/category/yota-firmware.
9. Страница альтернативных прошивок для Asus WL-500g от Оле- 27. Делаем WiMAX-роутер (Wl500gP+SWC-U200) без флеш-
га Вдовикина – http://oleg.wl500g.info. ки – http://yota-wimax.ru/wimax-device/delaem-wimax-router-
10. madwimax A reverse-engineered Linux driver for mobile WiMAX wl500gpswc-u200-bez-fleshki.
Рисунок 14. Подключение COM-порта: слева - нераспаянная площадка для подключения контактов; справа - контакты для подключения
разъёма COM-порта
Игорь Штомпель
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Особенности gNewSense нию. Пользователь gNewSense избав-
15 апреля 2009 года разработчики лен от данных проблем, так как про-
представили новый выпуск операци- граммное обеспечение не попадет
онной системы, получившей назва- в его репозитории, пока оно не выпу-
ние – gNewSense GNU/Linux Deltah 2.2 щено под свободной лицензией (ис-
и основанной на базе Debian GNU/Linux ключением является включение в ре-
и Ubuntu [1]. Система выпускается позиторий несвободной программы
для архитектуры x86 (i386), с рабочим по ошибке).
столом GNOME 2.22.1 по умолчанию
(KDE и Xfce доступны после установки). Установка gNewSense
Это полностью свободный дистрибу- Получить дистрибутив можно на офи- Рисунок 1. Новая членская карточка FSF
тив, отвечающий духу и букве проекта циальном сайте по ссылке http://
GNU. Последний, кстати, рекомендует www.gnewsense.org/index.php?n=Main. и отображением сводной информа-
ее к использованию [2], а Free Software Download. Размер образа в формате ции о настройках, с которыми будет
Foundation включил в список приори- .iso – 621 Мб. Последний представля- произведена последняя. Выбрав «Ус-
тетных проектов [3]. Кроме того, Free ет собой LiveCD с возможностью уста- тановить» для продолжения процес-
Software Foundation ввел загрузочные новки на жесткий диск. са установки, мы увидим окно «Ус-
членские карточки (карточка с номе- Для установки gNewSense необхо- тановка системы», которое показа-
ром 0 принадлежит Ричарду Столлма- димо загрузиться с LiveCD (процесс но на рис. 4. После выполнения всех
ну – см. рис. 1) со встроенным флеш проходит в графическом режиме). Пос- операций можно выбрать – работать
(содержит видео о свободном про- ле чего запустить программу установ- далее, используя LiveCD или перезаг-
граммном обеспечении и выступления ки, щелкнув на значке с названием рузиться. Выбираем второе. Перезаг-
основателя Free Software Foundation) «Install», как показано на рис. 2 (дан- ружаемся и видим рабочий стол, кото-
и дистрибутивом gNewSense, имею- ный процесс осуществляется за семь рый показан на рис. 5. Все, дистрибу-
щие USB-порт [4]. Карточка содержит шагов). Далее будет предложено вы- тив установлен.
информацию: имя владельца, членс- брать город и часовой пояс, расклад- Стоит отметить, что в дальнейшем
кий номер. На обратной стороне дано ку клавиатуры. На следующем шаге для управления пакетами в формате
определение свободного программно- потребуется выполнить разметку дис- .deb можно использовать либо утилиту
го обеспечения. ка (доступны два режима: авто – ис- APT (в консоли), либо Synaptic (в гра-
Итак, что делает рассматриваемый пользовать весь диск и второй вари- фическом режиме).
нами проект 100% свободным? Удале- ант – вручную). После разметки дис-
ны несвободные прошивки из ядра, не- ка, как показано на рис. 3, программа gNewSense на сервере
свободные linux-ubuntu-modules, репо- предложит вам представиться, ввести Системный администратор, пожелав-
зитории restricted и multiverse [5]. Репо- входное имя пользователя, а также па- ший установить сервер с дистрибутива
зиторий restricted – официально подде- роль и имя компьютера. gNewsense, имеет богатый выбор про-
рживаемый, но включающий несвобод- Затем появится окно с сообщени- граммных продуктов. Так, серверные
ные пакеты, а репозиторий multiverse – ем о том, что все готово к установке, службы представлены Apache 2.2.8,
официально не поддерживаемый, су-
ществующий за счет усилий сторонних
разработчиков, также включающий
несвободные пакеты. Таким образом,
ядро и модули ядра очищены от несво-
бодных компонентов, а репозитории
оставлены только те, что содержат сво-
бодные пакеты – main и universe. В це-
лом репозитории gNewSense содержат
более 24 тысяч пакетов программного
обеспечения. Таким образом, дистри-
бутив можно рекомендовать исполь-
зовать тем, кто хочет быть уверен, что
использует исключительно свободное
программное обеспечение. Например,
последний релиз Debian GNU/Linux 5.0,
как известно, содержит несвободные
прошивки (firmware), лицензии на кото-
рые разработчики дистрибутива под-
робно стали изучать только после вы-
хода «Lenny» [6], а Ubuntu устанавлива-
ет несвободные программы по умолча- Рисунок 2. Запуск программы установки
gNewSense на рабочей
станции
Операционная система может быть ис-
пользована и на рабочей станции. Ре- Рисунок 4. Окно «Установка системы»
62
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
кающей при создании раздела с JFS,
показан на рис. 6. Также произвели за-
мену ядра linux-image-386 на ядро вер-
сии linux-image-generic. А GNU Icecat
(GNU-версия Mozilla Firefox[11]) был до-
бавлен в репозиторий исходного кода –
Source code.
Что касается Mozilla Firefox, то его
выпуски 1.0, 1.5, 2.0 были несвобод-
ными, так как включали Talkback – не-
свободный плагин от компании Support
Soft. Это, а также то, что Mozilla распро-
страняла (распространяет по сей день),
несвободные плагины, привело к за-
пуску проекта по созданию свободно-
го браузера на базе Mozilla Firefox, ко-
торый получил название GNU Icecat.
Программа имеет свой набор свобод-
Рисунок 5. gNewSense установлен ных расширений и тем [12], а также до-
полнительные функции для обеспече-
много обеспечения допускает созда-из gNewSense 2.1 как несвободный [8]. ния безопасности.
ние свободных аналогов кодирова- Это стало возможным благодаря сов-
ния/декодирования, а также плееровместной работе SGI и Фонда свобод- Итоги
с поддержкой патентованного форма-ного программного обеспечения по пе- Таким образом, gNewSense представ-
та mp3 [7]. релицензированию кода 3D-библио- ляет собой полностью свободную
Если пользователю потребует- тек [9]. На официальном сайте дис- операционную систему с поддерж-
ся записать диски или образ диска,трибутива даже есть раздел, посвя- кой 3D, пригодную для использова-
то для этих задач вы можете ему пред-
щенный «поврежденным» 3D-прило- ния как на сервере, так и на рабочей
ложить использовать K3b 1.04 или жениям [10]. Теперь поддержка аппа- станции.
Brasero 0.7.1. ратного ускорения включена по умол- Если у вас возникнут определен-
чанию. Таким образом, Compiz и 3D-иг- ные проблемы или вопросы при ра-
Что нового в версии 2.2? ры будут работать. Кроме того, разра- боте с системой, то обсудить их мож-
Давно ожидаемым новшеством в но- ботчики произвели исправление оши- но в официальном списке рассыл-
вой версии gNewSense стало вклю- бок, не позволявших создавать раз- ки, зарегистрировавшись по адресу:
чение поддержки GLX (расширение делы с файловыми системами XFS http://lists.nongnu.org/mailman/listinfo/
для X Window, позволяющее исполь- и JFS на этапе установки операцион- gnewsense-users-ru.
зовать OpenGL), который был удален ной системы. Пример ошибки, возни-
1. http://lists.gnu.org/archive/html/gnew
sense-users/2009-04/msg00028.html.
2. http://www.gnu.org/distros/free-distros.
html#translations.
3. http://www.fsf.org/campaigns/priority.
html#gnewsense.
4. http://www.fsf.org/blogs/membership/
bootablemembership.
5. h t t p : / / w w w. g n e w s e n s e . o r g / M a i n /
Features.
6. http://www.debian.org/vote/2008/vote_
003.en.html#outcome.
7. http://fedoraproject.org/wiki/FreeSoftware
Analysis/FSF.
8. http://lists.gnu.org/archive/html/gnew
sense-users/2009-01/msg00041.html.
9. http://www.fsf.org/news/thank-you-sgi.
10. http://wiki.gnewsense.org/Main/Broken
3dApps.
11. http://www.gnu.org/software/gnuzilla.
12. http://www.gnu.org/software/gnuzilla/
Рисунок 6. Ошибка при создании JFS-раздела на этапе установки в gNewSense 2.1 addons.html.
64
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
bugtraq
Фредерик, расскажите, пожалуйста, связями с общественностью и прави- Ианнини (Michael Iannini) был вдохнов-
о себе. Я знаю, что за вашими пле- тельственными/государственными уч- лен на создание группы своим другом,
чами скрывается достаточно бога- реждениями. Также еще я являюсь ви- который, предполагалось, будет прези-
тый опыт, да и вообще интересно, це-президентом в Software Freedom дентом. Однако его друг так и не поя-
как вы начинали и почему связали International – организации, которая вился, поэтому Майклу самому приш-
свою судьбу с Linux. устраивает Software Freedom Day. Ра- лось выступать в роли главного на про-
О, спасибо за комплимент. Мое погру- ботаю в качестве генерального конс- тяжении почти что 5 лет, пока он не пе-
жение в Linux началось в 1995 году, ког- труктора в китайском филиале Dexxon реехал в Индию и не передал бразды
да мы открывали один из первых ин- и вместе с Патриком Зинцем (Patrick правления мне. Все это время он был
тернет-провайдеров в Камбодже. На- Sinz, ex-Mandriva) принимаю участие заводилой, который организовывал
ши системы наполовину находились в проекте OLPH – это программа раз- регулярные ежемесячные мероприя-
в Камбодже и наполовину в Сингапу- работчиков, опекаемая Dexxon. Если тия и встречи – «chuanr nights» («Шаш-
ре. И на серверах мы использовали остается время, то на добровольных лычные ночи»). Нашей целью тогда бы-
Linux. Затем в начале 1997 года я про- началах занимаюсь еще и рептилия- ло желание пообщаться на Linux-те-
дал бизнес и решил попробовать ус- ми в пекинском зоопарке. му и быть мостом между двумя мира-
тановить Linux на свой новенький но- ми – китайским и мировым Linux/OSS-
утбук. Наверное, мой выбор не отли- Давайте вернемся к началу, к со- сообществом. В действительности же
чался от выбора большинства людей зданию BLUG. Кто был основателем мы пытались выяснить, что происходит
в то время, поэтому я положил глаз и какие цели преследовались? в китайской Linux-субкультуре в то вре-
на Red Hat. В настоящий момент я ви- Первый сбор группы состоялся в но- мя. На сегодняшний момент у нас есть
це-президент в BLUG, заведую также ябре 2002 года, и я был на нем. Майкл устойчивое представление, что проис-
66
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
ходит в Китае, и наша группа – часть Я смотрю на список событий, кото- Openmoko подарила нам Freerunner
этой культуры. рые у вас произошли в прошлом го- в 2007 году на мероприятии Software
ду, и вижу много интересных при- Freedom Day. Затем нам удалось вы-
Группа организует встречи дваж- глашенных персон, которые посети- играть в еще одном мероприятии и по-
ды в месяц. Из вашего личного опы- ли ваши мероприятия. Как вам уда- лучить XO-ноутбук. Обе эти игрушки
та, это оптимально или, наоборот, ется их заполучить? выдали мне, и некоторое время они
слишком часто? Нам очень повезло, что многие сотруд- пылились у меня на полке. Потом я
Ситуация выглядит следующим об- ники из крупных Open Source-компа- решил, что лучше раздать их груп-
разом. У нас ежемесячно происходит ний также являются членами нашей пе. Некоторое время спустя меня при-
сбор, для которого готовятся 2 пре- группы. Кроме того, в Пекине нахо- гласили на одну встречу – Foo Camp
зентации. Затем у нас бывает в сред- дится много исследовательских цен- BeiJing. Где я получил несколько бес-
нем два социальных события в месяц – тров. Когда кто-либо прибывает в Пе- платных книжек от O'Reilly. Один чело-
«Шашлычные ночи». Еще раз в ме- кин, то мы уже знаем об этом, да и оз- век из нашей группы решил написать
сяц получается организовать событие наченные компании сами присыла- Open Source-приложение, основан-
«Гость в городе» («Guest in town») – пре- ют гостей к нам. Иногда они находят ное на примерах из подаренных книг
зентация, которую преподносит специ- нас через онлайн и сообщают, что хо- и для аппаратного обеспечения, кото-
альный гость, будучи в Пекине (напри- дят организовать мероприятие по оп- рое у нас уже было, чтобы в дальней-
мер, кто-либо из большой компании, та- ределенной тематике. Иногда мы са- шем пустить во внутренний кругообо-
кой как Sun Microsystems). Потом у нас ми организовываем крупные конфе- рот как книги, так и устройства. После
бывают еженедельные встречи по по- ренции и приглашаем приехать гостей этого мы уже сами стали спрашивать
воду развития OSS-проекта quadcopter в Китай. В организации конференций в компаниях, а могут ли они нам дать
и раз в месяц проводятся мероприятия нам помогают как China OSS Promotion на изучение свои продукты.
«coding for fun» – аналог hackathon'а. Union – китайская правительственная Сейчас же, я думаю, компании уже
В последнее время «coding for fun» организация по продвижению Open знают, кто мы такие, и по собственной
удается проводить каждую неделю, Source, так и Linux Foundation. Все про- инициативе предлагают нам «попробо-
что не может не радовать. Так что каж- исходит в дружественной обстановке вать» те или иные аппаратные продук-
дый может найти занятие себе по вку- сотрудничества, и очень приятно ви- ты. Мы возимся с ними, показываем
су. Понятно, что каждый участник не хо- деть и встречаться с таким количест- всей группе, что это такое и что мож-
дит сразу на все названные меропри- вом мотивированных людей. но на них сделать. И потом организо-
ятия – все-таки кто-то больше кодер, вываем коллективную покупку со скид-
а кто-то интересуется больше техни- Каково, на ваш взгляд, текущее по- кой. Так что я думаю, что это получает-
ческими штучками. А некоторые прихо- ложение дел с развитием Linux в Ки- ся выгодно всем.
дят на все сразу – им больше нравится тае? Можно ли охарактеризовать его
находиться среди единомышленников как взрывной эффект, достаточно Не могли бы вы рассказать, что из се-
и просто общаться на разные темы. плавное развитие или как-то еще? бя представляет Software Freedom
Если кто-либо, прочитав вышена- Взрывной эффект, вне всякого сомне- Day и каково его влияние на сооб-
писанное, решит организовать свою ния! Все основные разработчики Linux- щество?
собственную Linux User Group, то я бы дистрибутивов имеют офисы в Китае, Software Freedom Day – это меропри-
очень рекомендовал к прочтению LUG и эти офисы расширяются. Местные ятие, посвященное пропаганде сво-
Howto – и начинать с ежемесячного разработчики дистрибутивов также бодного и Open Source программного
сбора. В один и тот же день, в одно развиваются отлично. Я являюсь сви- обеспечения. Наша цель в нем – на-
и то же время. Секрет успеха здесь – детелем того, как заключаются сделки учить и рассказать людям по всему
регулярность. Тогда люди будут прихо- по предустановке Linux на оборудова- миру о преимуществах высококачест-
дить и обмениваться мнениями и в кон- ние. Все больше студентов интересу- венного FOSS-обеспечения в образо-
це концов решатся на что-то большее. ются Linux и Open Source. Очень мно- вании, для использования в государс-
Первоначально у нас были грандиоз- го embedded-устройств разрабатыва- твенных структурах, дома, в бизнесе –
ные планы, даже хотели иметь группы ются и производятся в Китае – и они везде. Мы видели, как создавались те
поддержки и распределять для каждо- работают под Linux. Так что это имен- или иные команды в структуре этого
го его роль. Но это не сработало. LUG но то место, где вы должны быть, ес- движения, которые росли на 50% каж-
очень напоминает любой Open Source- ли вы Linux-разработчик. дый год. Я не уверен, что в этом году
проект, в том плане, что нужны пользо- будут схожие показатели, но тенденция,
ватели и некоторое количество разра- Некоторые компании подарили свои конечно же, сохранится. На местном
ботчиков, которое периодически уве- продукты BLUG-сообществу, напри- уровне приходится общаться с людь-
личивается. Но пользователи – члены мер, Nokia с своим N810. Были также ми, которые вообще могли не слышать
проекта не обязательно должны быть разговоры об аппаратуре от Lemote об FOSS либо же имеют о нем лишь от-
разработчиками – так что не предъяв- и т. д. Это что, какая-то личная ини- даленное представление – так что до-
ляйте заранее завышенные требова- циатива этих компаний или же что- вольно интересно видеть, как люди
ния (как мы первоначально имели не- то притягательное есть в BLUG? воспринимают идеи свободного обес-
осторожность). Такая тенденция наметилась, когда печения и его цели. Также это очеред-
Фредерик Мюллер (руководитель подразделения Dexxon в КНР) и Линус Ванг (репортер из издания Full Circle Magazine)
68
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Работаем с FTP-сервером
из «1С»
Андрей Луконькин
Столкнувшись с острой необходимостью получить довольно большой файл из удаленного
офиса, я начал поиск программы для комфортной работы с FTP. Интерфейс FAR напомнил
мне полузабытый DOS, Google предлагает в основном платные клиенты, из командной строки
работать тоже не совсем удобно. Поэтому я задумался о создании собственного инструмента
в той среде, в которой я работаю каждый день, т.е. в «1С».
Ч
то нам нужно от обработки? Чтобы была возможность n на форме разместим «ПолеСписка» с признаком «Отоб-
по указанному адресу, с заданным логином и паролем ражатьпометку»;
подключаться к FTP-серверу, смотреть список находя- n кнопки «Прочитать», «ЗагрузитьОтмеченные», «Обно-
щихся там файлов, получать необходимые файлы с серве- витьСписок» и «ВыложитьФайл».
ра, и наоборот, закачивать туда что-то.
Создадим внешнюю обработку, а в ней реквизиты: Теперь перейдем непосредственно к программному коду.
n «АдресFTP», «Логин», «Пароль», «КаталогДляПолуче- Определим переменную «НашеСоединение», которая
нияФайлов», «ВыгружаемыйФайл» – тип «Строка» не- будет использоваться в нескольких процедурах.
ограниченной длины;
Перем НашеСоединение;
Процедура ПриОткрытии()
ЭлементыФормы.ЗагрузитьОтмеченные.Доступность = Ложь;
ЭлементыФормы.ВыложитьФайл.Доступность = Ложь;
ЭлементыФормы.ОбновитьСписок.Доступность = Ложь;
КаталогДляПолученияФайлов = "C:\";
КонецПроцедуры
Процедура ПрочитатьНажатие(Элемент)
ПроксиСервер = Новый ИнтернетПрокси(Истина);
Попытка
НашеСоединение = Новый FTPСоединение(АдресFTP, 21, ↵
Логин, Пароль , , );
После подключения видим файлы на сервере Исключение
70
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Сообщить("Ошибка создания соединения: " ↵
+ОписаниеОшибки());
Возврат;
КонецПопытки;
ЭлементыФормы.ЗагрузитьОтмеченные.Доступность = Истина;
ЭлементыФормы.ВыложитьФайл.Доступность = Истина;
ЭлементыФормы.ОбновитьСписок.Доступность = Истина;
ОбновитьСписок();
КонецПроцедуры
Процедура ОбновитьСписок()
ПолеСписка.Очистить();
СписокФайлов = НашеСоединение.НайтиФайлы("/","*.*");
Для Каждого Файл Из СписокФайлов Цикл
Если Файл.ЭтоФайл() Тогда
ПолеСписка.Добавить(Файл, Файл.Имя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура КаталогДляПолученияФайловНачалоВыбора( ↵
Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; Перед отправкой файла на сервер запросим подтверждение
РежимДиалога = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогВыбораКаталога = Новый ДиалогВыбораФайла( ↵
РежимДиалога); для загрузки";
ДиалогВыбораКаталога.МножественныйВыбор = Ложь; ДиалогВыбораФайла.ПолноеИмяФайла = ВыгружаемыйФайл;
ДиалогВыбораКаталога.Заголовок = "Выберите путь ↵ Если ДиалогВыбораФайла.Выбрать() Тогда
для сохранения файлов"; ВыгружаемыйФайл = ДиалогВыбораФайла.ПолноеИмяФайла;
Если ДиалогВыбораКаталога.Выбрать() Тогда ВыгружаемыйФайлОбъект = Прав(ВыгружаемыйФайл, ↵
КаталогДляПолученияФайлов = ↵ СтрДлина(ВыгружаемыйФайл)-СтрДлина(↵
ДиалогВыбораКаталога.Каталог; ДиалогВыбораФайла.Каталог));
КонецЕсли; Ответ = Вопрос("Выложить файл на FTP?", ↵
КонецПроцедуры РежимДиалогаВопрос.ДаНет);
Если Ответ = КодВозвратаДиалога.Да Тогда
Процедура ЗагрузитьОтмеченныеНажатие(Элемент) НашеСоединение.Записать(ВыгружаемыйФайл, ↵
Для каждого Файл из ПолеСписка Цикл ВыгружаемыйФайлОбъект);
Если Файл.Пометка Тогда ОбновитьСписок();
НашеСоединение.Получить(Файл.Значение.ПолноеИмя, ↵ КонецЕсли;
КаталогДляПолученияФайлов+Файл.Значение.ПолноеИмя); ВыгружаемыйФайл="";
КонецЕсли; Иначе
КонецЦикла; ВыгружаемыйФайл="";
КонецПроцедуры КонецЕсли;
КонецПроцедуры
Для размещения файла на сервере нужно нажать кноп- Процедура ОбновитьСписокНажатие(Элемент)
ку «Выложить файл на FTP» и выбрать необходимый файл. ОбновитьСписок();
КонецПроцедуры
Ответив «Да» в дополнительном подтверждении о разме-
щении, мы инициализируем запуск процедуры «Выложить-
ФайлНажатие()». Что мы имеем? Нехитрая, в несколько десятков стро-
чек, обработка позволяет принимать файлы и отправлять
Процедура ВыложитьФайлНажатие(Элемент) их на FTP-сервер.
РежимДиалога = РежимДиалогаВыбораФайла.Открытие;
ДиалогВыбораФайла = Новый ДиалогВыбораФайла( ↵ Цель нами достигнута, остается только совершенство-
РежимДиалога); вать программу, наращивая её дополнительным функци-
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.Заголовок = "Выберите файл ↵ оналом.
Наше «1С». Собрание авторских об уровне и масштабе мероприятия. Во- может найти что-то полезное из следую-
материалов вторых, работы оценивают не только поль- щих рубрик:
В апреле 2009 года открылся новый проект зователи, но и представители фирмы «1С» «Работа с программами»;
«Наше 1С» по адресу http://www.nashe1c.ru. оставляют оценки и комментарии. В-треть- «Установка, администрирование»;
Здесь собираются авторские материалы, их, материалы предварительно отбирают- «Разработка и программирование»;
относящиеся к программному продукту ся и фильтруются таким образом, что по- «Внедрение»;
«1С». Каждый желающий может опублико- сетители избавляются от некачественных «Библиотека дипломных проектов»;
вать свою разработку, поделиться с колле- «изобретений». «Программы «1С:Предприятие 7.7».
гами методиками, получив при этом оценку Ресурс полезен как разработчикам,
своего творчества или «know how». так и администраторам. Желающие опуб- Сейчас на сайте уже десятки опублико-
Чем примечателен этот портал и в чем ликовать свои материалы получают офи- ванных работ, с каждым днем их количест-
его принципиальное отличие от множест- циальные оценки, а также возможность во увеличивается, а это значит, что уни-
ва существующих сайтов на данный мо- использовать прямую ссылку на свой про- кальная коллекция высококачественного
мент? Во-первых, этот проект создан и ку- филь в резюме. материала собирается в одном месте и бу-
рируется самой фирмой «1С», что говорит В открытом доступе любой посетитель дет доступна любому желающему.
72
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Рисунок 2. Добавление БД в список доступных баз
и соответствующей группы доступа. щими и уже заполненными группами n управлять доступом к БД можно пу-
Открываем объект групповой полити- доступа. В свойствах объекта груп- тем изменения членства в группах
ки в редакторе и подключаем создан- повой политики в закладке «Безопас- доступа;
ный ранее административный шаблон. ность» надо удалить группу «Прошед- n добавление в список доступных
У нас в списке административных шаб- шие проверку», добавить группу, соот- БД «1С» происходит автоматичес-
лонов появляется ветка «Управление ветствующую названию базы, и дать ки, если у пользователя есть дос-
1С». Но ветка пустая, для того чтобы права на применение групповой поли- туп к соответствующей папке;
нужная нам настройка отображалась, тики (см. рис. 3). n при переносе папки с БД в другое
необходимо открыть контекстное меню Далее остаётся только связать соз- место достаточно изменить запись
ветки, выбрать «Вид → Фильтрация», данные объекты ГП с подразделением, в ГП, и у пользователя в списке по-
снять галочку с пункта «Показывать в котором находятся пользователи. меняется соответствующий путь.
только управляемые политики». После
этих действий в ветке «Управление 1С» Итог Единственный минус – запись
появляется параметр «Подключенные n все БД «1С» имеют единообразное из списка доступных БД не убирает-
базы данных» (см. рис. 1). название; ся вместе с исключением пользовате-
Теперь мы можем отредактировать n все БД «1С» находятся в одном ля из соответствующей группы досту-
список баз, в моем случае ситуация месте; па, но это терпимо.
такова, что на каждую БД пришлось
создавать отдельный объект группо-
вой политики. Добавление базы про-
исходит следующим образом: в поле
«Введите имя добавляемого элемента»
вводится путь к папке с базой данных,
а в поле «Введите значение добав-
ляемого элемента» вводится назва-
ние базы, которое будет отображать-
ся у пользователя (см. рис. 2). Прово-
дим аналогичные пассы для каждой
базы данных.
Теперь необходимо сделать так,
чтобы данная политика распростра-
нялась только на тех пользователей,
которым необходим доступ к этой БД.
Для этого воспользуемся существую- Рисунок 3. Права на применение групповой политики
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Е
сли вы думаете, что все люби- все другое. Но Алексей об этом тог- НАИВ, рифма, портрет
тели приключений – хулиганы, да не думал. Он был пионером, комсо- Когда Алексей уезжал в страну своей
бандиты, авантюристы, джеки мольцем, даже комиссаром районного мечты, у него родились такие строки:
воробьи, то вы ошибаетесь… Можно комсомольского штаба – водил школь-
быть вполне респектабельным бизнес- ников на овощную базу отрабатывать Нам сложный Быт мешает «стать собою»,
меном, мирным семьянином и вместе трудовую вахту. Верил во всю идеоло- А им Уют мешает «стать собой».
с тем горячим поклонником неожидан- гическую составляющую, естественно, По сути Быт мы сделали виною
ных событий, который не боится жить как почти все тогда верили. Разруше- Тому, что жизнь нам кажется чужой.
в эпоху перемен. Наоборот, по-друго- ние идеалов произошло так же естес- Вся наша жизнь, как Подпрограмма
му себе не представляет. Ведь если бы твенно с падением советского строя… В большой Программе Суеты
не смена эпох в нашем славном госу- И в один прекрасный (потому что сол- Зациклена вокруг дивана –
дарстве, многие детские мечты Алек- нечный) день жители «другой планеты» Там, где мы «спим и видим сны»...
сея Гончарова, директора компании сказали «Добро пожаловать» молодому Сменить наш Быт не так уж «невозможно»,
«Русоникс», никогда бы не сбылись… Алексею Гончарову и его семье – жене Сменить страну, друзей, подруг,
и двухлетнему сынишке. Друзья пред- Отдать диван соседу тоже можно,
Здравствуй, НЛО! ложили работу в Сингапуре. На 13 лет Сменить бардак на «их» уют.
Hello, Сингапур! Гончаровы попали в рай земной, где Уехать далеко, укрыться...
Жил-был мальчик, который любил эк- Алексей постоянно чувствовал себя Забыть о страхе в тишине
спериментировать с техникой. Причем счастливым ребенком, у которого каж- И посвятить остаток жизни
самостоятельно, без помощи взрослых дый день – именины. Несмотря на все Своим детишкам и жене.
и всяких там кружков для юных талан- сложности и трудности, с которыми
тов. Было ему года четыре, когда тай- сталкивается человек, приехавший Творчество всегда было составной
ком от родителей Алеша провел в свою без средств и знакомств, без знания частью жизни Алексея, так же, как чу-
комнату провод от телевизора, присо- языка в чужую страну. Помогли, счита- деса, как исследование техники и соз-
единил к нему наушники и по вечерам, ет мой герой, «вечно хорошая погода, дание своих собственных техничес-
когда мама с папой смотрели взрос- любовь к бурно развивающейся ком- ких новшеств. Вы только представьте,
лые фильмы, их сынок эти фильмы пьютерной индустрии Сингапура и кур- Алексей Гончаров окончил сначала му-
слушал… Техническое открытие, ко- сы английского языка в British Council». зыкальную школу по классу фортепи-
нечно, осталось тайной, вряд ли па- Если бы не семейные обстоятельства, ано, а три года спустя – физико-мате-
па – врач по профессии – одобрил бы Алексей и сегодня жил бы там. Несмот- матическую, поступил в МВТУ им. Ба-
такое нарушение режима… В первом ря на то что вернулся два года назад, умана, сдав экзамены на «отлично».
классе Алексей решился на более сме- воспоминания ярки и свежи: «Там все Просто-таки гармоничный человек
лый эксперимент – разобрал и сно- не так, как везде. Люди ходят, улыбают- Леонардо да Винчи. Музыку и сти-
ва собрал телевизор. Уверяет, что это ся. Сингапур – небольшое государство, хи пишет до сих пор. Но настоящий
было совсем несложно. Думается, од- всего 4,5 миллиона человек живут. На- всплеск вдохновения случился, как
нако, что сердечко ёкало – а будет ли верное, из-за того, что страна неболь- это ни странно, в армии. Друзья – Са-
работать? Такой адреналин – чем вам шая, ее сумели превратить в рай зем- ша Иванов и Макс Кочетков – органи-
не приключение? Впрочем, всякую ной. Сингапур весь цветущий, зеле- зовали группу «НАИВ» («Новые Арле-
электронику Алеша разбирал в де- ный, красивый. Там государство дума- кины и Волтижеры») и взяли солдати-
тстве часто – интересно было, как что ет о людях постоянно, это чувствует- ка призыва 1987 года играть на кла-
устроено. Более значимым событием ся во всем. Если власти что-то дела- вишных. «Я бы сравнил это с глотком
стала встреча с неопознанным летаю- ют, они всегда объясняют, для чего это безудержной радости и свободы», –
щим объектом. сделано… У людей хорошие пенсион- говорит Алексей. Да и для многих
– Просто увидел летающую тарел- ные накопления. Там заботятся о детях. в начале перестройки эти песни ста-
ку за окном. Очень много делают для безработных, ли откровением, меняя, уверен Гон-
– В Москве? активно занимаются переподготовкой чаров, «не только нас, но и весь мир
– В Москве. Пролетела мимо. По- кадров. Любопытно – вот ты приходишь вокруг нас».
нял – «они» есть. в какую-нибудь государственную орга- Творчеству сегодня ничуть не ме-
Кто «они», не очень осознал, фан- низацию, и сразу видно, как государс- шает занятость, строгий распорядок
тастику Алексей Гончаров начал читать тво к тебе относится. Они стараются рабочего дня, наличие семьи – меж-
позже. Но главное – появилась мечта обслужить тебя поскорее, а если при- ду прочим, у Гончаровых трое детей!
попасть на другую планету. Не «пра- ходится ждать – то в комфортных усло- Наоборот, какая-нибудь детская фра-
вильное» желание стать космонав- виях: удобно сидеть, можно попить во- за порой становится импульсом, из ко-
том, как у многих детей, но стремление ды, почитать журналы, посмотреть те- торого рождается строка, рифма, куп-
очутиться в другом мире, где не курят, левизор, воздух чистый… Они обо всем лет… Или мелодия для души, для себя,
не пьют, где все счастливы. этом думают!» для близких. Дети вдохновляют Алек-
Для советского мальчика другой Итак, приключение – это когда по- сея и как фотохудожника. Из всех жан-
планетой было зарубежье, где не толь- падаешь на другую планету и счастли- ров фотографии ему ближе всего порт-
ко язык, но и культура, быт, привычки – во там живешь. рет, и лучше всего получаются портре-
76
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
пьютерную сеть, я предложил разным получил термин VPS-сервер. А Алек- А главное – на самом деле это са-
операторам сверять данные для улуч- сей Гончаров – Дело и страсть на мно- мая главная точка интереса – тут опять
шения достоверности и, используя гие годы. Называется эта «любовь» – пахнет приключением!.. «Фантастика –
эти общие данные, спать по очереди». виртуализация вычислительных ре- серверы, к которым мы привыкли, эти
Нечто подобное повторилось, когда сурсов. Вот как образно рассказыва- металлические ящики, становятся вир-
нужно было организовать по разум- ет о VPS-сервере герой этого очерка: туальными!»
ной цене круглосуточную поддержку «Это как отдельный офис в небольшом – Есть чувство, что вы занимаетесь
ПО (она только входила «в моду»). «Я особняке. Хотя в «доме» находится не- полезным делом?
предложил руководству Pervasive пе- сколько «офисов» – от 5 до 50, но каж- – Безусловно. Удовлетворение есть.
ренести американские ночные смены дый очень хорошо изолирован от ос- Мне хочется, чтобы клиенты были до-
в Сингапур. За счет разницы во вре- тальных и по шуму, и по безопаснос- вольны.
мени дневная смена в Сингапуре об- ти. Каждый «офис» имеет отдельный – Но наверное, всегда найдутся не-
служивала ночное время суток в США. вход, свои «удобства» и средства ком- довольные?..
Это стоило в несколько раз дешевле, муникации. Естественно, такой «офис» – Это же хорошо. У всех людей
чем организация ночных смен в Теха- стоит своих денег (от 999 руб. в ме- разные точки зрения. Ожидания раз-
се. Да и вменяемость людей в днев- сяц) и рассчитан на бизнесы, которым ные. Надо просто выслушать челове-
ное время существенно лучше! Сам на имидже экономить нельзя. Как по- ка и сделать какие-то выводы. Если
подготовил и провел тренинги. Орга- том туда приглашать солидных кли- он прав, надо что-то изменить в ор-
низовал работу службы технической ентов?» А еще есть виртуальный хос- ганизации работы или в услугах. Та-
поддержки». тинг – это те же «офисы», но располо- кие обиженные клиенты – двигатель
А потом наступил XXI век. И компа- женные в общежитии, где те же услу- прогресса.
ния SWsoft, где Алексей Гончаров слу- ги, однако много общих «удобств», по- То есть выходит, недовольный кли-
жил на тот момент заместителем ди- этому сервис дешевле. ент – не повод для того, чтобы рвать
ректора по развитию бизнеса, пред- Д ир е к тор «Р ус о никс а» (w w w. на себе волосы и менять профессию,
ложила Intel систему виртуализации rusonyx.ru) очень гордится, что его а очередная причина для оптимизма...
Virtuozzo, которая позволила разде- компания – лидер в области предо- Шанс для очередного приключения
лить «монстр» – восьмипроцессорный ставления VPS-серверов на россий- и чудесного спасения из пут обыден-
сервер Dell 8450 на большое количест- ском рынке. «Мы в прошлом году за- ности и серых будней!
во виртуальных выделенных серве- работали первый миллион долларов
ров. SWsoft получила сервер и день- по обороту. Сейчас у нас свыше 20 ты- Текст: Оксана Родионова,
ги на телевизионную рекламу. Мир ИТ сяч доменов». фото: Евгения Тарабрина
Александр Башкиров
78
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
История возникновения
Исторически порталы начинали свое
развитие от «корпоративных сай-
тов», представляющих собой ново-
сти компании и список сотрудников.
При этом основное наполнение такого
сайта лежало на плечах специального
сотрудника, который периодически об-
новлял сайт, актуализируя размещен-
ɉɨɪɬɚɥ
ную на нем информацию.
Следующим шагом в развитии ɂɧɬɟɪɮɟɣɫɩɨɥɶɡɨɜɚɬɟɥɹ
порталов стала интерактивность –
то есть пользователи получили пер- Ʌɨɝɢɤɚ
сонализированный доступ к порталу,
появилась возможность комментиро- ɂɧɬɟɝɪɚɰɢɨɧɧɚɹɱɚɫɬɶ
вать избранные материалы и получать
обновления информации по электрон-
ной почте.
Следующий виток в развитии за-
ключался в качественном пересмот-
ре идеологии места портала в органи-
зации и его функций: в эпоху Web 2.0 Ɉɮɢɫɧɚɹ ɋɢɫɬɟɦɚ ɋɢɫɬɟɦɚ ɋɢɫɬɟɦɚ ɋɢɫɬɟɦɚ
в понятие «портал» стали вкладывать ɬɟɥɟɮɨɧɢɹ ɭɩɪɚɜɥɟɧɢɹ ɞɨɤɭɦɟɧɬɨɨɛɨɪɨɬɚ ɛɟɡɨɩɚɫɧɨɫɬɢ ɮɢɧɚɧɫɨɜɨɝɨ
несколько иной смыл, чем раньше: на- ɩɨɪɭɱɟɧɢɹɦɢ ɭɱɟɬɚ
полнение содержимым такого ресур- Схема архитектуры решения
са частично происходит силами его
пользователей – в рамках выделен- ной плате и бонусам, по телефонным Плюсы и минусы
ных прав (это вообще один из осно- переговорам, по трафику Интернета Таким образом, корпоративный портал
вополагающих признаков, указыва- и т.д.), список назначенных на него за- может стать единым центром, «входом»
ющих на «вебдванольность»), широ- даний и перечень различных докумен- во все приложения, которые доступ-
кое использование JavaScript и AJAX тов, сгруппированных по различным ны пользователю в соответствии с его
в пользовательском интерфейсе, и ин- признакам, с возможностью их редак- уровнем доступа. Преимуществом та-
теграцию приложений – на уровне его тирования непосредственно в браузе- кого рода решений будут являться:
архитектуры. ре в зависимости от прав пользовате- n Простота развертывания новых
Рассмотрим небольшой пример. ля и занимаемой им должности. рабочих мест – для развертыва-
Внутренний портал (корпоративный В приведенном примере имеется ния нового рабочего места доста-
сайт, размещенный в интрасети) со- контейнер, построенный на базе веб- точно занести пользователя в кор-
держит блок новостей с разделением технологий, реализующий функции поративный каталог пользовате-
по «каналам» («новости компании», базового интерфейса, а также части лей и назначить ему права на при-
«новости отделов», «новости пользо- функций и набор приложений, интег- ложения, после чего выдать ссыл-
вателей»), с возможностью комменти- рированных с ним, в частности: ку на вход в портал.
ровать любую новость каждым заре- n систему офисной телефонии; n Низкие требования к аппарат-
гистрированным пользователем (со- n систему управления поручениями; ной части – для работы порта-
трудником организации), размеще- n систему документооборота; ла на клиентском рабочем мес-
ние сотрудниками новостей в опреде- n систему финансового учета; те достаточно браузера: почти все
ленном канале («новости пользовате- n систему безопасности (система действия выполняются на сторо-
лей»), справочник сотрудников, содер- контроля интернет-трафика). не сервера, исключение составля-
жащий как информацию, которую вно- ет лишь JavaScript, flash и Java-ап-
сит отдел кадров, так и информацию, При этом сам портал (движок) реа- плеты, выполнение которых проис-
которую дополнительно может вне- лизует функции размещения новостей ходит на стороне пользователя.
сти сам сотрудник – например, ссыл- и справочника сотрудников с редак- n Скорость освоения пользовате-
ку на личный веб-сайт, описание хоб- тированием элементов посредством лем корпоративного рабочего
би и т.д., с возможностью позвонить Windows-подобного веб-интерфейса, места – единый стиль интерфей-
на один из опубликованных для каждо- и для конечного пользователя реше- са для всех приложений портала
го сотрудника телефонов прямо из его ние выглядит монолитным: единый ин- позволяет пользователям сконцен-
карточки, «личный кабинет» сотрудни- терфейс пользователя скрывает под- трироваться на функциональном
ка с возможностью просмотра сотруд- робности архитектуры решения. Схе- наполнении, а не на запоминании
ником своей статистики – естественно, ма архитектуры решения из примера тонкостей работы с тем или иным
без возможности правки (по заработ- приведена на рисунке. приложением.
80
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
com/en-us/windowsserver/sharepoint/ лищем файлов без возможности он- В этом случае для реализации по-
default.aspx) и IBM WebSphere Portal лайн-редактирования и ленты ново- дойдет любая Open Source-платфор-
(http://www-01.ibm.com/software/ru/ стей до вполне «взрослых» решений, ма (например, Wordpress – http://www.
websphere), хотя портал в минималь- которые включают в себя интеграцию wordpress.com) или, если в компании
ной функциональности можно постро- с функциональными приложениями, есть Microsoft Windows 2003 Server,
ить даже на Open Source-движке, пред- IP‑телефонию и прочие атрибуты пре- входящий в его состав Microsoft Share
назначенном для построения обыч- словутой «вебдванольности». Point Services.
ных сайтов (с соответствующими до- В любом случае все сильно зави- Реализация потребует поиска или
работками). сит от тех задач, которые призван ре- создания специализированных компо-
Выбор конкретного решения силь- шать портал. Рассмотрим некоторые нентов (справочник сотрудников в ви-
но зависит от бюджета, который име- примеры. де дерева карточек отсутствует как
ется на внедрение, и задач, которые в Microsoft Share Point Services, так
ставятся перед порталом. Пример 1 и в Open Source-движках – в том же
В случае «виртуальных» компа- Небольшая компания, для которой Wordpress придется писать отдель-
ний или небольших компаний, у кото- портал – это средство оповестить со- ный плагин). В этом случае затраты на
рых большинство сотрудников нахо- трудников об изменениях, новостях создание и внедрение будут сведены
дятся вне офиса, логичнее использо- и предоставить возможность каждо- к минимуму.
вать арендуемые приложения с еди- му из них иметь под рукой корпора- Следует отметить, что в послед-
ной точкой входа на базе Open Source- тивный справочник (внутренний номер нее время в Интернете появилось до-
движка. телефона, сотовый номер, e-mail, лич- вольно много компаний, предлагаю-
В случае больших компаний логи- ная информация) с возможностью ком- щих типовой портал на базе Microsoft
ка несколько иная: лучше использо- ментирования новостей компании (ко- Share Point Services за относительно
вать портальную платформу, обеспе- торые заносятся на портал централи- небольшие деньги. Основная цель та-
чив ее интеграцию с необходимыми зованно, через редактора), отображе- кого портала – создание модного ны-
приложениями. ния статуса пользователя: online/offline не «единого информационного про-
Что же касается средних компа- (то есть находится в данный момент странства» или, говоря проще, макси-
ний, то в жизни встречается множес- сотрудник на портале или нет), возмож- мально оперативно информировать
тво вариаций портальных решений: ностью отправить ему письмо прямо сотрудников обо всем, что может быть
от справочника сотрудников с храни- из справочника и чата с ним. использовано в повседневной работе
Реклама
82
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Реклама
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Python:
сложные аспекты
Дмитрий Васильев
Рассматриваем метаклассы, дескрипторы атрибутов и менеджеры контекста.
В
этой статье мы рассмотрим не- сов. Таким образом, классы являют- type. В этой статье мы рассматриваем
которые достаточно сложные ас- ся экземплярами метаклассов. Начи- только так называемые новые классы,
пекты языка Python, а именно: ная с Python 2.2 стандартным мета- то есть классы, которые наследуются
n метаклассы, позволяющие созда- классом является type, который слу- от встроенного класса object. На дан-
вать классы с необычным поведе- жит метаклассом для всех встроен- ный момент «старые» (или «класси-
нием; ных типов. Это можно увидеть на сле- ческие») классы должны представ-
n дескрипторы атрибутов, предо- дующем примере: лять только исторический интерес, хо-
ставляющие наиболее гибкий кон- тя они еще используются в некоторых
троль доступа к атрибутам объек- >>> ().__class__ проектах.
тов и классов; <type 'tuple'> В Python при выполнении выраже-
n менеджеры контекста, объекты, ния, описывающего класс, интерпрета-
>>> ().__class__.__class__
позволяющие управлять поведе- тор сначала определяет соответству-
нием ключевого слова with. <type 'type'> ющий классу метакласс M и затем вы-
зывает M(name, bases, dict) для созда-
Метаклассы Здесь классом для создания кор- ния класса. Это происходит после то-
В общем случае, как и следует из на- тежа является tuple и соответственно го как было обработано тело класса,
звания, метаклассы – это классы клас- классом для создания tuple является где определены его методы и атрибу-
84
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
ты. Аргументами при вызове метак-
ласса являются: «Новые» классы Вызов методов при доступе к атрибу-
n name – имя класса, строка, полу- Новая система типов и классов (так на- там. Эта функциональность реализу-
чаемая из выражения, описываю- зываемые новые классы) была добавле- ется с помощью дескрипторов атри-
щего класс; на в Python 2.2 для унификации классов бутов.
n bases – кортеж базовых классов, и типов. Основная причина их появления –
получаемый в начале обработки вы- это предоставление унифицированной В Python 2 простейший способ соз-
ражения класса, или () если класс объектной модели с полноценной моделью дать «новый» класс – это наследовать его
не определил базовых классов; метаклассов. «Новые» классы также пре- от object:
n dict – словарь с методами и атри- доставляют следующие возможности: class Test(object):
pass
бутами класса, которые были оп- Наследование от встроенных типов,
ределены в теле класса; например списков (list) и даже целых Начиная с Python 3.0 «старые» классы
(int), которые должны работать везде, были удалены и по умолчанию используют-
Затем результат вызова M присва- где требуется оригинальный тип. ся «новые» классы (которые уже нет необ-
ивается переменной с именем класса. Создание статических методов и мето- ходимости называть «новыми»).
Описание вызова метакласса для соз- дов класса.
дания класса можно проиллюстриро-
вать следующим примером: n Метакласс класса должен соответствовать метаклассу
базового класса или быть его потомком.
>>> T = type("test", (object,), {"name": "Test"})
>>> T
Примеры метаклассов
<class '__main__.test'> После описания работы метаклассов обратимся к приме-
рам собственных реализаций. Как уже было рассмотрено
>>> T.name
ранее, класс создается при вызове метакласса следующим
'Test' образом: M(name, bases, dict). Более детально при создании
>>> t = T() классов (можно провести аналогию с созданием объектов
>>> t класса) вызываются методы метакласса __new__() и затем
<__main__.test object at 0x2863550> __init__(), как в следующей последовательности строк:
После того как мы рассмотрели, как метакласс создает Напишем наш первый метакласс, чтобы рассмотреть
класс, остается понять, как выбирается метакласс. Для вы- последовательность вызова методов при создании клас-
бора метакласса используются следующие шаги: са и объекта:
n Если определен dict['__metaclass__'] (то есть в теле клас-
са был определен атрибут __metaclass__), то он исполь- class MetaTest(type):
зуется. def __new__(cls, name, bases, dict):
n Иначе, если определен хотя бы один базовый класс, ис- klass = super(MetaTest, cls).__new__(cls, name, ↵
bases, dict)
пользуется метакласс базового класса. print "__new__(%r, %r, %r) -> %r" % (name, bases, ↵
n Иначе будет использоваться глобальная переменная dict, klass)
return klass
__metaclass__, если она определена.
n В противном случае будет использоваться метакласс def __init__(cls, name, bases, dict):
super(MetaTest, cls).__init__(name, bases, dict)
для «классических» классов types.ClassType и соответ- print "__init__(%r, %r, %r)" % (name, bases, dict)
ственно будет создан «классический» класс.
def __call__(cls, *args, **kwargs):
obj = super(MetaTest, cls).__call__(*args, **kwargs)
Начиная с Python 3.0 метакласс можно указывать только print "__call__(%r, %r) -> %r" % (args, kwargs, obj)
return obj
как именованный параметр при определении класса, сле-
дующим образом: Здесь мы просто выводим информацию о вызове мето-
дов __new__(), __init__() и __call__(). Вот как это работает:
>>> class Test(metaclass=type):
... pass >>> from meta import MetaTest
... >>> class Test(object):
... __metaclass__ = MetaTest
Основные ограничения, связанные с метаклассами ...
языка Python: __new__('Test', (<type 'object'>,), {'__module__': '__main__',
'__metaclass__': <class 'meta.MetaTest'>}) -> <class '__main__.Test'>
n Нельзя наследоваться одновременно от «классичес- __init__('Test', (<type 'object'>,), {'__module__': '__main__',
кого» и «нового» классов. В этом случае возможнос- '__metaclass__': <class 'meta.MetaTest'>})
ти «новых» классов, описанные в этой статье, работать
не будут. >>> test = Test()
Рассмотрим примеры более полезных метаклассов. Такой метакласс может быть полезен для создания
Метакласс AutoSuper добавляет приватный атрибут __super классов, объекты которых служат в основном как хранили-
для доступа к атрибутам и методам базовых классов: ще атрибутов. Например, классов, описывающих переда-
ваемые по сети пакеты данных, или строки результата за-
class AutoSuper(type): проса к базе данных, к полям которых удобнее обращать-
def __init__(cls, name, bases, dict): ся как к атрибутам.
super(AutoSuper, cls).__init__(name, bases, dict) Таким образом, метаклассы позволяют создавать клас-
setattr(cls, "_%s__super" % name, super(cls))
сы с достаточно необычным поведением, но в то же время
Теперь он может быть использован так: вряд ли стоит их использовать в каждой программе.
>>>
>>>
from super import AutoSuper
class A(object):
Дескрипторы атрибутов
... __metaclass__ = AutoSuper Дескрипторы атрибутов (далее просто дескрипторы) опи-
... def method(self): сывают протокол доступа к атрибутам объекта или клас-
... return "A"
... са. В общем случае дескрипторы – это объекты, в кото-
>>> class B(A): рых определен один из методов: __get__(), __set__() или
... def method(self):
... return "B" + self.__super.method() __delete__(). Среди уже определенных в Python дескрип-
... торов можно назвать следующие: property, classmethod
>>> B().method()
и staticmethod. Рассмотрим интерфейс дескрипторов на
'BA' примере:
86
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
>>> from desc import TestDescriptor Поведение classmethod можно эмулировать следую-
>>> class Test(object):
... attribute = TestDescriptor() щим образом:
...
>>> Test.attribute class ClassMethod(object):
__get__(None, <class '__main__.Test'>) def __init__(self, f):
'value' self.f = f
def execute(self, error=False): Теперь мы можем использовать test() как менеджер кон-
print "execute()"
if error: текста. Результат yield будет присвоен переменной:
raise Exception("error")
>>> from context import test
def __exit__(self, exc_type, exc_val, exc_tb): >>> with test() as body:
print "__exit__(%r, %r, %r)" % ↵ ... print body
(exc_type, exc_val, exc_tb) ...
return self.ignore_error
__enter__()
Кроме методов, предоставляющих протокол менеджера execute()
__exit__()
контекста, здесь также определен вспомогательный метод
execute(), который будет представлять код внутри блока:
Nested(менеджер1[, менеджер2[,...]]) – функция, ком-
>>> from context import TestContext бинирующая несколько менеджеров контекста в один. Сле-
>>> with TestContext() as context:
... context.execute() дующий код:
...
__enter__()
from contextlib import nested
execute() with nested(A(), B(), C()) as (X, Y, Z):
__exit__(None, None, None) body()
В случае, если метод __exit__() возвращает «ложь», ис- from contextlib import closing
from urllib import urlopen
ключение будет выкинуто за пределы блока. При этом ме-
тод __exit__() никогда не должен сам выкидывать получен- with closing(urlopen('http://www.python.org')) as page:
for line in page:
ное исключение, а управлять этим только через возвраща- print line
емое значение:
В этом примере в конце блока будет вызван метод page.
>>> with TestContext(ignore_error=True) as context: close().
... context.execute(error=True)
...
__enter__()
Заключение
execute() В этой статье были рассмотрены достаточно сложные ас-
__exit__(<type 'exceptions.Exception'>, Exception('error',), пекты использования Python, которые вы скорее всего
<traceback object at 0x7fa35497a200>)
не будете использовать в каждой программе. Но в то же
время описанный инструментарий может значительно уп-
Модуль contextlib ростить и сделать более гибким сложный код, что позво-
Новый модуль contextlib (появившийся в Python 2.5) предо- лит взглянуть по-новому на все разрабатываемое при-
ставляет функции и декораторы, упрощающие создание ложение в целом. Плюс знание этих инструментов и опи-
и работу с менеджерами контекста. На данный момент мо- санные особенности внутренней работы интерпретатора,
дуль предоставляет три функции: должны поднять на новую ступень ваш уровень как раз-
Сontextmanager(функция) – декоратор, упрощающий работчика ПО.
создание менеджеров контекста. Вместо создания клас- Подробнее про особенности «новых» классов можно
са, предоставляющего интерфейс менеджера контекста, прочитать по ссылке: http://www.python.org/doc/newstyle.
88
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Переполнение буфера в muxatmd Раскрытие данных в nss-ldapd
в IBM AIX Программа: nss-ldapd версии до 0.6.8.
Программа: IBM AIX версии 5.2, 5.3 и 6.1. Опасность: Низкая.
Опасность: Низкая. Наличие эксплоита: Нет.
Наличие эксплоита: Нет. Описание: Уязвимость существует из-за наличия небезо-
Описание: Уязвимость существует из-за ошибки проверки пасных привилегий на доступ к файлу /etc/nss-ldapd.conf.
границ данных в setuid-приложении /usr/sbin/muxatmd. Ло- Локальный пользователь может получить доступ к паролю,
кальный пользователь может вызвать программу muxatmd используемому для подключения к LDAP-серверу.
со специально сформированными параметрами, вызвать URL производителя: ch.tudelft.nl/~arthur/nss-ldapd.
переполнение стека и выполнить произвольный код на сис- Решение: Установите последнюю версию 0.6.8 с сайта про-
теме с повышенными привилегиями. изводителя.
URL производителя: www.ibm.com.
Решение: Установите исправление с сайта производителя. Повышение привилегий в dircmp
в Sun Solaris
Программа: Sun Solaris 8, 9, 10.
Отказ в обслуживании в Openswan Опасность: Низкая.
Программа: Openswan версии до 2.4.14 и 2.6.21. Наличие эксплоита: Нет.
Опасность: Средняя. Описание: Уязвимость существует из-за ошибки состояния
Наличие эксплоита: Нет. операции в сценарии dircmp. Локальный пользователь мо-
Описание: Уязвимость существует из-за ошибки разы- жет перезаписать произвольные файлы на системе с при-
менования нулевого указателя при обработке Dead Peer вилегиями пользователя, запустившего dircmp.
Detection-пакетов. Удаленный пользователь может с по- URL производителя: www.sun.com.
мощью специально сформированного R_U_THERE или Решение: Установите исправление с сайта производителя.
R_U_THERE_ACK Dead Peer Detection пакета аварийно за-
вершить работу или перезапустить «pluto» IKE-демон. Множественные уязвимости
URL производителя: www.openswan.org. в Symantec Brightmail Gateway
Решение: Установите последнюю версию 2.4.14 или 2.6.21 Control Center
с сайта производителя. Программа: Symantec Brightmail Gateway версии до 8.0.1.
Опасность: Низкая.
Наличие эксплоита: Нет.
Множественные уязвимости Описание: 1. Уязвимость существует из-за недостаточной
в ядре Linux обработки входных данных Control Center. Удаленный поль-
Программа: Linux kernel версии до 2.6.30-rc3. зователь может с помощью специально сформированного
Опасность: Низкая. запроса выполнить произвольный код сценария в браузере
Наличие эксплоита: Нет. жертвы в контексте безопасности уязвимого сайта.
Описание: 1. Уязвимость существует из-за ошибки про- 2. Уязвимость существует из-за неизвестной ошибки
верки границ данных в функции CIFSTCon() в файле при обработке определенных консольных функций в Control
fs/cifs/connect.c. Удаленный пользователь может с помощью Center. Удаленный пользователь может получить админис-
специально сформированного Tree Connect-ответа клиен- тративные привилегии.
ту вызвать переполнение буфера и выполнить произволь- URL производителя: www.symantec.com/business/brightmail-
ный код на целевой системе. gateway.
2. Уязвимость существует из-за ошибки проверки гра- Решение: Установите последнюю версию 8.0.1 с сайта про-
ниц данных в функции decode_unicode_ssetup() в файле fs/ изводителя.
cifs/sess.c. Злоумышленник может обманом заставить поль-
зователя подключиться к специально сформированному Обход ограничений безопасности
серверу и вызвать переполнение буфера. в Device Mapper
3. Уязвимость существует из-за того, что CAP_FS_ Программа: multipath-tools 0.4.8, возможно, другие версии.
MASK_B0 не содержит CAP_MKNOD, и CAP_FS_SET не со- Опасность: Низкая.
держит CAP_LINUX_IMMUTABLE. Злоумышленник может Наличие эксплоита: Нет.
создать новые узлы устройств. Описание: Уязвимость существует из-за того, что multipathd-
4. Уязвимость существует из-за ошибки в функции agp_ демон создает доступные на запись всем сокеты. Локаль-
generic_alloc_page() в файле drivers/char/agp/generic.c. Ло- ный пользователь может отправить произвольные коман-
кальный пользователь может получить доступ к потенци- ды приложению.
ально важным данным в памяти ядра. URL производителя: christophe.varoqui.free.fr.
URL производителя: www.kernel.org. Решение: В настоящее время способов устранения уязви-
Решение: Установите последнюю версию 2.6.30-rc3 с сай- мости не существует.
та производителя.
Составил Александр Антипов
90
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
сеянно бросая взгляды по сторонам, назначении можно было только дога- тов, в отличие от которых «последним
Стас вдруг увидел знакомое название дываться. В центре стояло нечто сред- минутам» никакого стратегического
и остановился. Обычное не очень но- нее между кушеткой и стоматологи- значения не придавалось. Интерес-
вое офисное здание, с небольшим па- ческим креслом, а в уютном уголке ных открытий накопилось достаточно
лисадником вдоль парадной части до- располагался письменный стол с ком- много за годы деятельности, но ранее
ма, обычный вход и только непримет- пьютером, за которым сидел мужчи- они нигде не использовались. Но вот
ная среди других себе подобных таб- на лет 45 на вид, больше напоминаю- руководство сменилось, настали дру-
личка с надписью «компания «Послед- щий ученого, чем офисного сотрудни- гие времена, и было принято решение
ние минуты» освежила воспоминания ка. При входе Стаса он сразу оторвал- продать несколько таких изобретений,
о рекламном баннере из Интернета. ся от компьютера («Явно не в «линей- а другие внедрить самостоятельно. Од-
«Это судьба, – подумал Стас, – вот сей- ку» игрался», – подумал Стас) и, под- ним из таких внедрений и стали «пос-
час я как раз и выясню, в чем у них там нявшись, пошел на встречу. ледние минуты».
подвох!». Он допил остатки жидкости и – Добрый день, меня зовут Анато- – Суть состоит в следующем, – по-
поискал глазами ближайшую урну, ко- лий Петрович, – представился он, про- яснял Анатолий Петрович, – путем раз-
торая оказалась на расстоянии около тягивая руку. дражения особым образом определен-
сотни метров. Это показалось дале- – Здравствуйте, я Стас, – в свою ных участков головного мозга создает-
ко, поэтому пустая банка отправилась очередь представился Стас слегка ся иллюзия наступления смерти. Она
прямиком на газон. Такая характерная сбитый с толку подобным приемом. настолько реальна, что не поверить
для жителей больших городов черта – После нескольких формальных в нее можно только усилием воли. По-
когда знаешь, что твой мусор за тебя фраз и предложения присесть завя- этому главное – сначала расслабить-
уберет кто-то другой, легко привыка- залась беседа, в результате которой ся. Психике кажется, что смерть близ-
ешь к плохим манерам. Поднявшись Стас выяснил, что компания «Послед- ка, и вот тогда-то и происходят очень
на третий этаж, Стас оказался перед ние минуты» использует в своей де- любопытные вещи, названные «пос-
массивной дверью с такой же неброс- ятельности разработки российских ледними минутами». Люди думают,
кой, как и у входа, табличкой и, посту- ученых, работавших на ВПК. Эффект что в такие моменты проживаешь за-
чавшись, вошел. «последних минут» был обнаружен ново всю свою жизнь, только в тыся-
Первое, что бросалось в глаза, – в одном из исследовательских бюро чи раз более сжатые сроки. На самом
это просторная светлая комната и ог- как побочное явление в одном из за- деле у всех это происходит по-раз-
ромное количество аппаратуры. О ее секреченных до сих пор эксперимен- ному. Всю визуальную информацию
92
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Автобус и дорога исчезли, Стас нувшись с тела Стаса, унеслись вверх, – Ну тогда договорились, до связи!
стоял лицом к стене на расстоянии в то время как Стас стремительно по- – До связи, Вика!
нескольких десятков шагов от нее. несся в непроглядную черноту, не сом- На душе у Стаса немного потепле-
Вокруг была мрачная пустынная мес- неваясь, что там его ждет ад. Этого ло. Все-таки о компьютерщиках вспо-
тность, а по небу быстро двигались не должно было быть – ведь это был минают не только тогда, когда лома-
низкие свинцовые тучи. Стена каза- только эксперимент, он не хотел уми- ются компьютеры, но и иногда для то-
лась бесконечной – влево и вправо, рать вот так, он еще многого не сделал го, чтобы вместе провести время. Сле-
насколько хватало глаз, она прости- в своей жизни, это неправильно! От от- дующий звонок Стас сделал родите-
ралась до самого горизонта. Странная чаяния Стас закричал и, сделав пос- лям и сказал, что сумел справиться
стена из LCD-панелей, причем пане- ледний рывок вверх, к тускнеющему со срочной работой, а значит, в вы-
ли были трех видов – одни светились уже свету, не свалился с кресла только ходные сможет поехать на дачу. Мама,
ярко белым светом, другие напротив, благодаря тому, что его вовремя под- с которой Стас разговаривал, очень
были черны как сажа, а третьи были держал Анатолий Петрович. обрадовалась, и от этого ему стало
невзрачные и серые. Стас сделал не- – С возвращением, – сказал тот еще теплее. А может быть, это весен-
сколько шагов вперед, и стена ожи- и широко улыбнулся. Затем он снял нее солнышко, выглянувшее из-за об-
ла. Присмотревшись, Стас на каждом со Стаса провода и датчики и помог лаков? Не важно. Главное, что жизнь
экране начал различать какое-то дви- встать. все-таки весьма приятная штука! Стас
жение. Он подошел еще ближе и ото- – Вот обещанный DVD. Здесь все, спустился по ступенькам и направился
ропел – стена оказалась выложен- что вы видели за эти 7 последних ми- к остановке, потом вернулся, подобрал
ной из фрагментов его жизни! Неко- нут. с газона выброшенную им ранее бан-
торые Стас угадывал, другие смутно Анатолий Петрович помогал пере- ку и побежал к подходящему автобусу.
припоминал, а третьи не помнил сов- живать последние минуты сотням лю- На автобус он успел. Даже успел вы-
сем. Стена не была сплошной – тут и дей. У всех это происходило по-разно- бросить в урну банку и заодно и DVD-
там зияли пустоты, причем пустот бы- му, но яркий свет присутствовал везде, диск с записью его последних минут.
ло достаточно много. Это смущало – и никто его не достиг. Возможно, дейс- Он был уверен, что и без диска будет
наверняка он чего-то еще не сделал твительно у каждого человека есть помнить эти семь минут всю свою ос-
в своей жизни. Не пришел к цели, не миссия в жизни, не выполнив которой тавшуюся жизнь!
выполнил предначертанной ему мис- ему не попасть к этому свету? Вопрос,
сии, и эти пустоты свидетельству- на который не дают точного ответа да- Стас в очередной раз ехал на меж-
ют об этом. И еще была одна законо- же последние минуты, но его получит дугороднем автобусе, возвращаясь
мерность – светлые панели содержа- каждый, когда расстаться с жизнью после выходных, проведенных дома,
ли в себе его добрые дела, в то вре- придется по-настоящему. Вот только в университет. Сразу за дорожной раз-
мя как на черных всплывали не самые рассказать про это хоть кому-то будет вилкой стоял щит с социальной рекла-
приятные и правильные моменты его уже невозможно. мой, на котором большими буквами
жизни. Стас сначала медленно шел Стас вышел из здания, рассеянно написано всего лишь два слова: «Жи-
вдоль стены, потом шаг его стал все вертя диск в руках. Посмотрел на го- вите долго». Вокруг было мрачно, а по
быстрее и быстрее пока уже не пере- лубое весеннее небо с белыми обла- небу быстро двигались низкие свин-
шел в бег. И тут он обнаружил, что бе- ками и улыбнулся. Потом достал мо- цовые тучи. Вдруг пейзаж резко пок-
жит по кругу, что стена окружила его бильник. рылся туманом – это стекло запотело
и он оказался в колодце собственной – Алло, Вика, привет еще раз. Зна- от дыхания Стаса, когда он непроиз-
жизни. Даже не в колодце, а в трубе, ешь, ты извини меня, что так с тобой вольно приблизил голову к окну. Про-
потому что Стас уже не стоял, а ви- говорил в прошлый раз, и если тебе шло уже полгода с момента его «пос-
сел в пространстве. Небо над его го- еще нужна помощь, я с радостью при- ледних минут», но всегда, проезжая
ловой просветлело и засияло чистым еду повозиться с твоим компом и пови- этот рекламный щит, Стас старался
белым светом. Стенки трубы зашеве- дать тебя, ведь мы с тобой не встреча- не пропустить его. Многое измени-
лились и начали вспархивать легки- лись уже несколько месяцев! лось в его жизни за это время, и ему
ми бабочками. Серые бабочки куда- – Ой, Стас, как здорово, что ты пе- бы очень хотелось верить, что он стал
то исчезали, а черные и белые стре- редумал! Ты так быстро в прошлый хоть чуточку, но лучше. И самое глав-
мились к Стасу. Белые садились ему раз бросил трубку, что я не успела те- ное – Стас обнаружил, что это не толь-
на руки, на плечи, на голову – от это- бе сказать, что собираюсь открыть се- ко не сложно, а даже приятно – делать
го он чувствовал невообразимую лег- зон катания на велосипеде и хотела те- что-то хорошее этом мире. И еще он
кость и стремился вверх, к сияющему бе предложить составить мне компа- чувствовал, что вместе с ним в луч-
свету. Но черные бабочки нагоняли его нию. В прошлом году мы иногда ката- шую сторону меняется и окружающий
и облепляли ноги, отчего он тяжелел, лись вместе, а уже весна! мир. Стас улыбнулся… «Живите дол-
и движение вверх замедлялось. Нако- – О, хорошая идея, спасибо, я то- го» – ну что ж, поживем долго! Вот чего
нец оно прекратилось вообще, а затем, же буду рад начать велосезон с сов- он теперь не боялся в жизни – так это
замерев на миг, Стас стал соскальзы- местной покатушки с приятным чело- его будущих последних минут.
вать вниз. Белые бабочки уже не мог- веком, – ввернул небольшой компли-
ли противостоять грузу, и враз взмет- мент Стас. Станислав Шпак
ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ
ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ ɏ
94
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru
Российская Федерация печати «Гасид» (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
без диска
**
по каталогу агентства
«Пресса России»
*
Годовой
**
Полугодовой
***
Диск вкладывается
в февральский
номер журнала,
распространяется
только на территории
России
УЧРЕДИТЕЛИ
Частные лица
РЕДАКЦИЯ
Генеральный директор
Владимир Положевец
Ответственный секретарь
Наталья Хвостова
sekretar@samag.ru
Технический редактор
Владимир Лукин
Главный редактор
электронного приложения
«Open Source» Вы знаете, как бороться
Дмитрий Шурупов с «Просачивающейся А дварью»?
osa@samag.ru
Применяете «Чарующий скрипт»?
Внештатные редакторы
Алексей Барабанов Редакция журнала «Системный администратор» представляет
Александр Емельянов
Кирилл Сухов
вам новый админский сувенир для истинных знатоков своего дела –
Вадим Поданс карточную игру «AYTCOPCEP».
Андрей Бирюков
Олег Щербаков
Андрей Луконькин
В ходе игры участники тянут из колоды карты «Проблем», с которым
Андрей Уваров им предстоит бороться один на один или с помощниками, используя
подручные средства. Успешное решение «Проблемы» добавляет игроку
РЕКЛАМНАЯ СЛУЖБА
тел./факс: (495) 628-8253 (доб. 120)
уровни. Если вы не считаете себя добрым и милым, то для вас в игре
Дарья Зуморина предусмотрена специальная возможность – сделать гадость другому
reсlama@samag.ru участнику и обойти его в погоне за уровнями.
Евгения Тарабрина
expo@samag.ru
Победителем становится тот, кто быстрее всех
Верстка и оформление доберется до 10 уровня. Остальные подробности об игре,
maker@samag.ru
Дизайн обложки
«Чарующем скрипте», «МегаУтилите» и «Клановом коктейле»
Дмитрий Репин вы сможете узнать из правил игры.
По вопросам распространения
обращайтесь по телефону:
«AYTCOPCEP» – это пародия на жизнь, которая позволит вам
Светлана Зобова ощутить всю прелесть аутсорсинга... но без всей словесной мишуры,
(495) 628-8253 (доб. 120) типа, «утром стулья, вечером деньги…»!
107045, г. Москва,
Ананьевский переулок, дом 4/2, стр. 1 Приобретайте игру «AYTCOPCEP» в редакции.
тел./факс: (495) 628-8253
Сайт журнала: www.samag.ru
ИЗДАТЕЛЬ
ООО «С 13»
Отпечатано типографией
ООО «Периодика»
Тираж 17000 экз.
Тираж электронной версии 62000 экз.
96
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC173025. Âëàäåëåö êîïèè: Ñòðèæåíöîâ Âëàäèìèð Âëàäèìèðîâè÷, email:
bobahsmtp.ru