Система Orphus

четверг, 31 декабря 2009 г.

spam-cheсk 0.3: Быстрее, больше, сильнее

Я уже выкладывал и писал предыдущие версии скрипта spam-check. Сегодня же, в преддверии Нового 2010 года, хочу поделиться новой, третьей версией данного скрипта.
Напомню, скрипт предназначен для проверки своих (и не только) серверов на их наличие в черных списках (DNSBL).<
[]

среда, 9 декабря 2009 г.

Vnstat 1.9 и Ubuntu 9.10 - исправление бага

Я уже рассказывал про vnstat в своем посте "Собираем vnstat в ubuntu и настраиваем lighttpd для vnstati", но все же напомню: это простенькая консольная программа для учета потребляемого трафика, т.ж. есть веб-морда.
Что за баг? Простое переполнение буфера при попытке построить картинку с почасовым графиком. Пример:
$ vnstati -h -o /tmp/vnstatcgi/vnstat_0_h.png -i wlan0

среда, 25 ноября 2009 г.

Пришли диски от Canonical

Наконец-то пришли диски от Canonical с Ubuntu 9.10 Desktop и Server.
Вот такие они красивые :)


Спасибо тебе, Canonical, за твои замечательные продукт :)

пятница, 13 ноября 2009 г.

Троян ворующий пароли "В Контакте" и "Одноклассники" (Trojan.Win32.Sasfis.tzv / Trojan.Siggen.18292)

Пару дней назад мне на стенке в контакте один из друзей оставил граффити с сообщением, что он взломал мой аккаунт, т.ж. там была ссылка на сайта vk-****.msk.ru. Ну да... Еще бы... :) Ему я сразу отписал, чтобы полечил себя да пароль сменил. Но вот ссылка меня все же заинтересовала, хотя я точно знал, что это троян (именно он меня и заинтересовал). Решил сходить по этой ссылке. В результате мне предложили скачать программу, которая якобы юзает недавно найденную уязвимость контакта и позволяет взломать любую учетку. В общем поржал немного и скачал эту дрянь :) Уж очень захотелось вспомнить студенческие года, когда изучал вирусы. Да и почитывая блог другана порой накаляет меня - это же как охота на дичь :)
В этом посте опишу этого троя, че делает, как работает, какую деструктивную активность проявляет, как лечить, а так же дам самописную программку для вычистки этой гадости с потрохами. А в конце приведу техническую информацию для IT'шников и исходники вышеупомянутой программки.

Краткое описание
Троянская программа mvk.exe не попадает на компьютер без ведома пользователя, как это бывает с другими. Пользователь сам скачивает и запускает его т.к. думает, что это другая программа (для взлома контакта). Простенькая социальная инженерия :)

Что творит в системе или деструктивная активность
После запуска файла mvk.exe он удаляется, после чего появляется окно, в котором предложено ввести ID юзера "В Контакте". Если ввести любой ID и нажать кнопку, то появляется сообщение, что не возможно получить данные, т.к. уязвимость контакта уже закрыли.
Т.ж. троян создает 3 файла во временной папке пользователя (%TMP%), один ярлык в папке автозагрузки, который запускает файл из %WinDir% (этот файл тоже трой делает) и 1 файл в %System%. Т.е. получается 6 файлов.
В добавок трой изменяет ключ запуска проводника в реестре. И файл hosts.

А теперь конкретнее... Файлы:
%WinDir%\activate.exe
%System%\loio.jho
%TMP%\2.tmp
%TMP%\3.tmp
%TMP%\4.tmp
%StartDir%\Quick Office.lnk

И реестр:
Ветка - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\, параметр - Shell, его значение - Explorer.exe rundll32.exe loio.jho soalsv. А должно быть просто - Explorer.exe.

Как лечить
Загрузиться в безопасном режиме (жать F8 после включения компа). Открыть диспетчер задач (Ctrl+Alt+Del или Ctrl+Shift+Esc) и "убить" процесс "activate.exe", если таковой имеется. Потом удалить файлы C:\Windows\activate.exe и C:\Windows\System32\loio.jho, удалить ярлык из папки Автозагрузка (Пуск -> Программы -> Автозагрузка) и удалить все файлы из временной папки пользователя (обычно C:\Documents and Settings\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Local Settings\Temp). Открыть редактор реестра (Пуск -> Выполнить..., ввести regedit и нажать ОК), перейти в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\, найти параметр Shell, дважды щелкнуть по нему мышкой и заменить его значение на "Explorer.exe" (без кавычек). Т.ж. нужно перейти в папку C:\Windows\System32\Drivers\etc\, открыть файл hosts в блокноте и удалить из него все строки за исключением "127.0.0.1 localhost".

Вы так же можете скачать мою программку для удаления этого вируса - anti_mvk.exe. После запуска anti_mvk.exe и нажатия кнопку "Лечить" исчезнет рабочий стол, а потом компьютер будет перезагружен, поэтому предварительно лучше закрыть все открытые программы для предотвращения утери не сохраненной информации.
ВАЖНО!!! Утила не сообщает есть ли троян или нет, а тупо пытается вычистить все, что может указывать на наличие трояна в системе, поэтому перезагрузка произдойдет не зависимо от того, есть ли троян или нет.



Краткая техническая информация для IT'шников
В этом разделе кратко опишу как я его анализировал. Может кому будет интересно. Размер файла 19456 байт. MD5-хэш - d5dbd34b12eb653d07ec17287fd3f26c. Судя по всему, написан на Delphi и упакован UPX'ом.
Как уже говорил, спам был в виде граффити на моей стенке в контакте, там была нарисована "ссылка" на vk-****.msk.ru. Если зайти на этот адрес, то происходил редирект на http://vk****-****.blogspot.com/ и уже в этом блоге предлагают скачать этот самый троян, под видом программы для взлома аккаунтов контакта и "включить защиту от взлома своей анкеты" (от последнего чуть под стол не свалился).
В анализе участвовали след. утилиты:
Autoruns - Позволяет определить, какие приложения запускаются автоматически при загрузке системы и выполнении входа в систему. Также показывает полный перечень путей в реестре и на диске, где может быть настроен автоматический запуск приложений.
Process Explorer - Отображает файлы, разделы реестра, библиотеки DLL и прочие объекты, открытые или загруженные различными процессами, а также другую информацию, включая владельца процесса.
AVZ4 - Очень хорошая утилита, помогающая исследовать систему (ВАЖНО!!! В кривых руках может загубить систему!!!).
VirtualBox - виртуальная машина, на ней я исследовал (запускал) вирус.

Для начала запустил Autoruns, подождал пока он отработает и сохранил список. Потом перешел к AVZ4. В нем задействовал функции "Исследование системы", "Резервное копирование" и "Ревизор". После чего запустил Process Explorer, чтобы можно было видеть какие дополнительные (под)процессы запускает троян. Положил на рабочий стол и запустил файл трояна, Process Explorer тут же был закрыт, поэтому я не смог увидеть то, что хотел. Файл трояна с рабочего стола исчез (удалился). Через пару секунд появилось окно трояна, о котором говорилось во втором разделе поста. Снова запустил Process Explorer и увидел от моего имени запущенные процессы svchost.exe и 4.tmp. Первый - родной процесс (файл) винды и запущен был из %System%. Зачем его запустил троян, не знаю, не разбирался. Второй это компонент трояна. Закрыл окно трояна.
Снова запустил Autoruns и AVZ4 и повторил те действия, которые делал до запуска трояна. После чего перезагрузился в безопасный режим и снова повторил эти действия. Далее скинул полученные файлы-отчеты себе на хоста машину (Linux Ubuntu 9.10 Desktop) и уже на ней произвел анализ этих логов (отчетов).
На основе анализа логов, т.е. их сравнении, выяснилось то, что было описано во втором разделе данного поста. Компоненты трояна анализировать не стал. Вот скрины с сайта VirusTotal, на которых видно, как и какие антивири идентифицируют троян и его компоненты (NOD32 меня просто убил своей реакцией на ярлык о_О ) на данный момент, если кому интересно:




Далее была написана не большая "антивирусная" утилита anti_mvk.exe, на AutoIT. Забрать можно тут - бинарники и исходники.





Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

пятница, 30 октября 2009 г.

Kerio Mail Server: Дублирование входящих и исходящих писем с/на опр. адрес на другой адрес

[offtop]Может тема и запутанная, но другой, к сожалению, не придумалось.[/offtop]
Попросили меня сделать в Kerio Mail Server'е так, чтобы все входящие и исходящие письма с/на email_for_spy@server.ru автоматически дублировались на spy@server.ru.
Со входящими проблем нет, но об этом в конце поста. А вот с отловом исходящих пришлось изрядно повозиться. Чуть голову не сломал. Просто в KMS нет стандартных средств для этих целей (а я искал именно там). Вот поэтому и хочу рассказать в первую очередь о том, как отлавливать исходящие письма.

Для начаа нужно сделать новый ящик, который у нас будет выступать в качестве посредника. Это элементарно, поэтому не будем тут останавливаться. Скажу только, что я выбрал адрес redirector@server.ru. Далее понадобится доступ к диску сервера, где стоит KMS, либо к его вебморде, но я расскажу о первом варианте, а второй осталю тебе в качестве домашнего задания ;). Идем в папку "%KMS_INSTALL_DIR%\mail\server.ru", если тут еще нету папки redirector, то создаем ее. Теперь в этой папке нужно создать файл "filter.siv", а в нем написать следующее:
#!1 Forward messages
if address :all :contains "From" "email_for_spy@server.ru"
{
redirect "spy@server.ru";
}

#!1 Discard all messages
if true 
{
discard;
}
Поясню, чтобы было понятнее. Первые четыре строки отлавливают все входящие письма (почему входящие, узнаешь ниже), отправитель которых email_for_spy@server.ru и перенаправляют их на spy@server.ru. Вторые четыре строки тупо удаляют все письма (а зачем нам засорять дисковое пространство сервера?). Почему-же мы сделали фильтр для входящих писем, а не для исходящих?. А потому-что на этот адрес (redirector@server.ru) будут дублироваться все исходящие письма, а значит они будут для него входящими. Просто нет в KMS возможности отлавливать исходящие письма, поэтому и пришлось так поизвращаться %)
Но это еще не все. Исходящие письма еще не дублируются. Давай покажем KMS'у, что мы хитрее :) Идем в Configuration -> Backup -> Archiving, ставим галочку "Enable mail archiving" и "Archive to remote address", а справа от нее пишем адрес редиректора, т.е. redirector@server.ru. Затем отмечаем галками пункты "Local messages (local sender, local recipient)" и "Outgoing messages (local sender, remote recipient)", а всех остальных галок беспощадно растреливаем (читай, убираем). И не забываем нажать кнопку "Apply".
Вот и все, с исходящими покончено :)
А теперь пора вернуться к входящим... Идем в Domain Settings -> Users, находим "email_for_spy", выделяем его и жмем "Edit". Потом идем на закладку "Forwarding", ставим преключатель в положение "Forward to addresses", жмем "Add...", указываем там "spy@server.ru" и жмем "ОК". Теперь внизу ставим галочку "Deliver messages to both mailbox and forwarding addresses", чтобы копии писем оставались в ящике "email_for_spy@server.ru". И опять-же не забываем нажать кнопку "Apply", после кнопки "ОК" ;)

Вот и все :)
До новых постов :)


ЗЫЖ Хочу выразить огромную благодарность своему коллеге Леониду, который сейчас работает и живет в Америке. Благодаря нашей с ним "перепалки" на эту тему, я в конце концов догадался, как реализовать задуманное. Лёня, мегареспект тебе!!! :)



UPD: Прошу иметь ввиду, что на все вопросы в комментариях я отвечаю, исключительно, по памяти, т.к. я уже давно не работаю в компании, где использовался Kerio и не имею к нему доступа, и не могу проверить свой ответ.





Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

вторник, 20 октября 2009 г.

Блаженный сон сисадмина

Вспомнил сон, который мне приснился где-то год назад...

Я на работе, беру в руки витую пару [в реале я всегда работаю через wifi] чтобы воткнуть ее в свой ноут, коснулся контактов и тут меня как-будто током ударило, хотя кабель из рук я не выпустил. Через секунду я понял, что чувствую каждый бит, который проходит по витой паре, т.е. как комп обрабатываю пакеты на физическом уровне (и уровнями выше тоже) и все без проблем понимаю, еще через секунду начинаю сам "формировать" и "отправлять" пакеты. Сижу в шоке, не могу выпустить кабель из рук, чувствую полное блаженство.
Через некоторое время начинаю улавливать wifi, а еще через несколько секунд уже и "ломать" силой мысли все доступные мне точки доступа. Через пару минут бросил кабель (витую пару) и пошел гулять по улице [только почему-то я был в Москве, хотя живу в Калининграде], попутно "ломая" все встречающиеся мне точки доступа и выходя через них в инет. Дошел до кафе, заказал пива, сижу довольный. "Подключился" к своим серверам, проверил их состояние, разгреб почту. Потом полез на википедию, за 30 минут всю ее прочитал, но мне было мало... Полез на разные ресурсы, вызубрил инглиш за какие-то минут 15 и далее перерыл за час всю англоязычную википедию. Потом отправился в гугл пополнять багаж знаний по ИТ.
Через пару-тройку часов я уже чувствовал себя могущим гуру и мне захотелось "приключений". Поэтому первое, что я сделал это полез на всякие правительственные и военные ресурсы с целью их пентеста. За 1.5 часа было найдено более миллиарда критических уязвимостей и разослана туева куча уведомлений админам соответствующих ресурсов.


Зазвенел будильник... Я открыл глаза и понял, что это был сон. Следующие 2 часа я лежал в кровати и долго матерился... На работу опоздал на 3 часа.
А ведь это было настоящее админское блаженство. Такого блаженства я еще никогда не испытывал, даже в сексе.
Эх... как же хочется все это вернуть...


UPD: Отправил этот сон на IThappens.




Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

[] []

среда, 14 октября 2009 г.

GLPI: Экспорт в PDF по русски

Меня (и не только меня) не мало людей спрашивают (через джаббер/мыло/блог/etc), как сделать экспорт в PDF, чтобы корректно отображались русские буквы. Решение есть и подсказал мне его уважаемый SGG, за что ему отдельное спасибо. Решение рассказал Сергей Яремчук в своем замечательном посте "Учет оборудования с OCS Inventory NG и GLPI", за что и ему отдельное спасибо. :)
Почему же я решил "перепостить" кусок вышеназванного поста? Из-за большого кол-во вопросов на эту тему, а заодно чтобы по сабжу было сразу видно, что речь идет именно об этом.

пятница, 25 сентября 2009 г.

RE: Про линукс

Прочитал пост Lex Kravetski под названием "Про Линукс" и хорошенько прифигел... Такое ощущение, что это заказ мелкомягких...
В этом посте хочу прокомментировать пост Lex Kravetski, а именно высказать свое мнение и указать на реальные оплошности, автора вышеприведенного поста. Поэтому в этом посте я буду цитировать слова автора и давать свои комментарии.

> Хотя иллюзии относительно Линукса у меня всё-таки присутствовали.
У меня они тоже были перед тем как я решил полностью перейти на линукс... но сейчас их нет. Я просто знаю, что линукс это стабильная, надежная и достаточно безопасная система!

> ...всё работает стабильно, легко управляется...
Так оно и есть. Работает без лагов и кернел паников (ака синий экран смерти). Вот уже почти год, как я настроил один из серваков на линуксе (Ubuntu 8.04 Server) и до сох пор его ни разу не ребутали и ни разу не было глюков!!!

> В общем, как Винда. Выглядит на первый взгляд козырно. Графические окошки, всякие там спецэффекты...
Ндя... Только чайникам эти спецэффекты нужны. Опытным юзерам они нафиг не нужны, т.к. им некогда любоваться этой "прелестью", они работают. В прочем это тоже самое, что и обои; у меня же обои это серый фон рабочего стола, который я вижу раз в день, если не в неделю.

> В Винде меня раздражает манера программ вписывать разные свои в реестр, в Документс энд Сеттингс и ещё в папку Винды.
А что тут такого? Неужели тяжело распаковать инсталлятор и посмотрть, что да куда он кладет? А если нужно саму программу отследить, то всегда есть Process Monitor.

> На мой взгляд, эту муйню следует убрать и программы должны ставиться в одну единственную папку, где хранить по умолчанию и свои настройки и свои документы.
Вы наверное всегда работали под админской учеткой и не знаете, что такое юзерская учетка и учетки для разных юзеров без админских прав на одном компе... А жаль, очень жаль... Специально для вас расскажу: если прогу поставит в опр. каталог опр. юзер, то в этот каталог, как правило, будет иметь доступ только он, а другой юзер уже обломается (рачь идет о юзерских учетках, а не об админских). Поставить для каждого юзера в отдельную папку нужную прогу? Даже если она нужна для всех? Ну раз вы такой богатый, то наймите себе программеров, которые сделают специально для вас "правильную" ОСь! А если серьезно, неужели вы не знаете про экономию дискового пространства? Или может предложите пустить всех юзеров под одной учеткой? А как же быть с AD? А как же админы? Вам нас не жалко? Или может просто дать всем юзерам доступ в эту папку? А как же быть с индивидуальными настройками для каждого юзера?

> Реестр — вообще зло.
Ага... Я его тоже не люблю, но не более того. А зло это только для тех кто не шарит. Реестр это почти тоже самое, что туева куча подпапок и файлов в каком-либо каталоге. А вот настройки программ ищутся там с пол пинка и точно так же легко бэкапятся (дрова и т.п. я не учитываю)! Автор, учитесь юзать консольные команды и писать скрипты!!!

> Но вот софт, который нельзя целиком забэкапить просто копированием одной папки — отстой.
А в чем проблема? Не нравится - юзайте портативный софт.

> Проинсталлированная программа ... размазывает себя ровным слоем по всей системе. ...там чуть не все файлы программы направляются в разные места. И не только разные, но и слабопредсказуемые вдобавок... И отыскать, куда себя разослала программа можно чисто поиском по всему винту.
Ндя... Да вы хоть основы *nix-подобных систем знаете-то? Фишка как раз в том, что это почти тоже самое, что и рекомендации мелкомягких, о которых вы сами говорили выше... В никсах почти каждая папка, особенно первого уровня, зарезервирована под опр. цели. Например, в /etc хранятся общесистемные конфиги, в /bin - стандартные программы, в /usr/bin - установленные юзером и/или не являющиеся обязательными/основными, в /sbin и /usr/sbin - аналогично, но требующие права супер юзера и т.д., что очень даже удобно. Т.ж. вы еще и не знаете про ключи сборки, такие как "--PREFIX" и т.д. Ну, а если ставить из пакетов, то есть отличные средства, например (для Debian подобных линуксов, т.к. другие не юзаю, но и в yum и т.п. подобное тоже есть), "dpkg -L <имя_пакета>" - покажет вам, куда какие файлы "ставятся", чего винда вовсе не умеет, а вот "apt-file search <имя_файла>" - покажет в каком покете есть искомый файл. Ну, а на худой конец есть скрипты для автосборки программ и всех зависимостей с выкачкой из сети, т.ж. есть гугль, в добавок в каждом архиве с исходниками есть файлы "README" и "INSTALL", в которых исчерпывающая информация. А вот если вы не умеете читать, то это уже исключительно ваша проблема.

> ...менеджер приложений yum ... Однако он работает только с теми приложениями, которые под него были собраны.
LOL!!! Во первых, это не менеджер приложений, а менеджер ПАКЕТОВ, что очень даже разные вещи. Во вторых, собираются пакеты, а не приложения; последние компилируются. В третьих, под yum пакеты не собираются, они собираются в опр. тип, в данном случае это RMP-пакеты!

> Но собранные приложения — для лохов.
Оооо о_О... А вы, автор, и под винду из исходников собираете приложения??? Преклоняюсь! LOL!!!

> Поэтому большинство софта лежит в виде исходников, которые надо собственноручно собирать.
Ну да уж... Допустим, что это реально так, тогда в чем проблема прочитать README и INSTALL??? А если быть более точным, то почти все программы, которые могут пригодиться обычному пользователю, собраны в пакеты, которые легко поставить через менеджер пакетов из репозитория. А для программеров и сисадминов сборка из исходников не должно являться проблемой.

> Там всё-таки обычно есть сценарии конфигурирования и сборки. Одна проблема — зависимости почему-то не разрешаются самостоятельно.
Это не забота программера, который писал скрипт конфигурации (сборки) и саму программу! Для разрешения зависимостей в авторежиме есть спец. скрипты, о чем я уже говорил выше.

> ...комп ведь не для тупых юзеров, которые хотят всё делать одним кликом.
Вы, автор, извините конечно, похожи как раз на такого юзера.

> Это, товарищи, даже не проблема непосредственно линукса, это проблема всего сообщества.
Нет уж... Это проблема кривых рук и мозгов без извилин. А именно: ламеров, считающих себя гуру.

> «Свобода» обычно примерно такое и означает: ты, типа, сам разбирайся, а мне всё пофиг.
Программеры пишут софт, на который тратят свое собственное время, силы и нервы, да еще при этом отдают свои труды даром... Так чтож фишка в том, что опенсорсные разрабочитки в первую очередь делают софт для себя, а если тебе что-то не нравится, то дорабатывай и затачивай его как тебе надо сам. Ну или предложи им бабла, чтобы они сделали это за тебя и так как тебе надо. Логика проста.

> Я бы ещё понял, если бы сборка была каким-то запредельно сложным процессом. Однако все вот эти хитровывернутые сценарии сборки и установки, поставляемые с исходниками, на порядки сложнее мавеновского сценария, который выкачает и соберёт всё сам. За один клик со стороны пользователя.
Ха... Это сложно только для чайников. Документаци куча, это раз. Разработчики юзают шаблоны, это два. Продолжить?

> Само собой, половина программ содержит ошибки прямо в исходниках из-за которых программа не просто не работает, она (!!!) не собирается.
Ваших программ??? Поздравляю!!! Вы же вроде как программер... или нет?

> Иными словами, когда вам говорят «под современным Линуксом может работать кто угодно», не верьте. Работать кто угодно сможет в лучшем случае с предустановленным офисом.
Опять же бред полный... Про менеджеры пакетов вы, автор, не знаете? Видать не знете... А выше вы же говорили про yum... Так чтож не надо перегибать палку!!! Вот вам пример: дочка (14 лет) моего начальника спокойно использует Ubuntu, сама ставит нужные ей программы из репозиториев и разбирается в них, папа ей почти никогда не помогает.

> А для чего-то чуть более продвинутого вам надо быть квалифицированным программистом, обладающим познаниями в целом множестве языков — чтобы исправить ошибки в исходниках, сценариях и так далее.
Как раз таких ошибок почти нет. Есть кривые руки юзеров с мозгами без извлин и не умеющих читать.

> Ведь библиотека, про нехватку которой вам сообщат, совершенно не обязательно называется так же, как пакет, в составе которого она поставляется. И совершенно не факт, что не хватает только её.
Опять же это говорит о вашем неумении читать! Как раз компиляторы и конфигураторы очень даже подробно сообщают обо всех ошибках, к тому же ни кто не запрещает переключиться на более подробный вывод сообщений об ошибках (--verbose, --debug и т.п.). А как узнать в каком пакете поставлятеся тот или иной файл я уже выше написал.

> Да-да, вы установили уже библиотеку, а вам всё равно говорят «нет её». Потому что на самом деле нет другой, сопутствующей библиотеки.
Это на столько редкий случай, что раз-два и обчелся... Обычно не библиотеки нет, а версия не соответствует той, которая нужна!

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

> В общем, дома у меня под Виндоусом уходило дня эдак два на установку и настройку вообще всего — системы, всех необходимых утилит, программ, игр, драйверов и так далее. Под Линуксом установка десятой части всего этого заняла неделю с лишним. И я ещё не закончил.
У меня же под винду уходило не более 10 часов на это же (т.е. тонкую настройку под себя) и так же часть работы у меня была автоматизирована (заранее подготовленные скрипты), вместо того, чтобы кликать мышкой по каждой кнопке. А под линукс не более 2-15 (от двух до пятнадцати!!!) минут, в зависимости от того, что надо настроить (преварительно один раз написал скрипты для настройки линукса под себя для дома и работы, на что потратил менее одного выходного дня, и пару рабочих дней для настройки серверов). И это при том, что мой опыт работы в форточках более 10 лет, а в *nix'ах почти полтора года. Просто вы, автор, видать не знаете, что такое консоль и скрипты!

> Вместо ПунтоСвитчера тоже есть некая программа...
Ну всякие там пунты и ей подобные это для чайников. Опытный пользователь должен уметь работать не глядя на клаву. ИМХО. А вот множественный буфер обмена это реально бонус для пунты, т.к. это не ее прямая забота.

> «Убийца Аутлука» под название Evolution не позволяет настроить почти вообще ничего.
Ничего подобного! Эволюшн конечно не такой уже и шустрый как, например, claws-mail или виндовый The Bat!, но настраивается очень даже хорошо и работает стабильно. Да и шаблоны у него достаточно легко использовать. Вылеты и сбои - очень редкий случай. Именно с него я и начинал, а потом уже перешел на claws-mail (мне он просто приятнее внешне).

> При этом «убийца» не способен нормально справляться с кодировками писем и упорно шлёт тему письма в одной кодировке, а тело — в другой.
А это уже откровенное враньё! Я полгода (если не больше) просидел на нем и ни разу такого не было! А вот этот самый аутглюк как раз и делает это, притом постоянно, пока его как следует на проковыряешь.

> Замена Тотал Коммандеру отсутствует в принципе.
Попробуйте muCommander. Он хоть и на яве написан, но работает очень даже хорошо. Лично меня полностью устраивает.

> Фанаты Линукса часто хвалятся, будто бы под Линуксом пользователь главнее ОС, а под Виндой — она главнее...
Дык, вы не верно понимаете толкование этого термина! Тут имеется ввиду, что никсы ничего не запрещают пользователю, даже если "rm -rf /" из под рута выполнить, то тут же будет эта воля исполнена. А в винде попробуй... Сразу на х%й пошлет. Теперь вы, автор, поняли, что к чему?
А вот папки, это уже другая история! Юзеру кроме его домашнего каталога больше ничего не нужно! Да и диски не нужны вообщем в ОСях, в принципе, без них удобнее, ИМХО. В общем в винде этот самый домашний каталог еще дальше лежит, как правило, C:\Documents and Settings\%UserName%\, и попробуйте записать чего-нить куда-нить за пределы домашнего каталога под юзером без админских прав в грамонтно настроенной системе. Хрен получится! И обратите внимание, винду еще и настроить надо грамонтно, чтобы несколько юзеров могли работать на одной машине, не имея доступа к системным папкам и папкам других юзеров. А в линуксе-же это не получается, потому что у него по дефолту (в большинстве случаев) грамотно настроены права! Да и не должен юзер иметь прав на запись чего-либо за пределы своего домашнего каталога.
Почему же тогда в домашнем каталоге юзера куча файлов и папок от программ создается? Чтобы настройки для каждого юезра были свои, это же многопользовательская ОСь. К тому же, решили вы пересесть на другой дистрибутив: поставили новый дистрибутив и все содержимое совего домашнего каталога со старой системы скопировали в новую. Делов то. В 99,9% все настройки сохранятся и можно продолжать работать (только софт не достающий поставить надо). А в винде хрен! А если не хрен, то слишком дохрена мусора включая вирусы и другую гадость! Да и файлы реестра не всега корректно переносятся.

> Вдобавок эта хрень ещё и виснет регулярно.
Какая хрень? Линукс? Ну не надо ляля... Нифига ничего не виснет. Вы лучше свое железо проверьте, наверняка пора уже от пыли почистить! Винда виснет сама по себе, либо от кривых дров, которые сплошь рядом (самое распространенное - драйвера встроенных в мамку звуковых карт).

> Винда и МакОС при всех их недостатках хотя бы позволяют быстро всё настроить и приступить к работе.
Быстро??? 2 дня, как вы, автор, сами это утверждаете, разве это быстро? А в шоке!!! о_О

> Свободный Линукс же требует от пользователя сначала подробно изучить нюансы самого себя, сборки и установки программ, языки программирования и всё такое прочее.
Ваааааууу!!! У меня нет слов, от глубины вашей фантазии, уважаемый автор!

> Вообще у меня сложилось подозрения, что Линукс существует преимущественно с целью рекламы Виндоус.
А у меня подозрение, что ваш пост заказной, т.е. мелкомягкие вас наняли для написания этого поста.



МОИ ВЫВОДЫ:
Автор поста "Про линукс" просто толком то и не видел линукс и не работал в нем и с ним, проще говоря новичок в мире пингвиноводов (как неверное и в винде).

К АВТОРУ:
Я ни в коем случае не хочу вас оскорбить. Просто мне очень не приятно, что человек не знающий толком системы (уверен, что и винду вы тоже не знаете толком), начинает нести всякую чушь про линукс. Как-будто ваш пост был написан под заказ. К тому же рекомендую вам прочитать статью "Один на один с Windows XP" (автор не я), там очень хорошо описывается, что такое винда в глазах человека, который раньше с ней не работал. Надеюсь она вам откроет глаза.
Лично я начинал свое знакомство с линксом с CygWin, т.е. голая консоль линукса в винде (если ничего не настраивать и не доустанавливать). В это время я читал книгу по линукс - "Руководство системного администратора Linux", но не для того чтобы разобраться, а потому что люблю читать и потому что мне было интересно. Потом решился снести винду и поставить MOPS (это "руссифицированная" Slackware) на свой ноут, завел, настроил, поработал пару дней. Все было ок, все устраивало. Но хотелось попробовать другие дистрибутивы, поэтому через 2 дня работы в слаке в ход пошли Gentoo, CentOS, Debian, Fedora, Mandriva, OpenSUSE, kUbuntu, Ubuntu, ALT Linux, ASP Linux (порядок уже не помню). Т.к. впереди были тяжелые трудовые будни и дело было под самую ночь, остановился на Ubuntu 8.04 Desktop и решил не сносить ее, а поработать денек с ней (уж очень хотелось спать, ведь я субботу и воскресень так и не поспал, провозившись почти 48 часов без отрыва с ноутом, пробуя разные дистры пингвинов). Так за понедельник я ее настроил очень тонко под себя, отыскал в репозиториях и поставил весь необходимый мне софт и было как-то жалко все сносить и заново ставить слаку (либо центось, она мне тоже понравилась очень). В это время я еще не знал, что для сохранения настроек достаточно было скопировать домашний каталог в другую систему :( Это был всего пятый день, с тех пор как я поставил слаку (на первомайские праздники в 2008 году). Так Ubuntu'а у меня и прижилась. До сих пор ее использую, уже по привычке, и жалоб нет никаких.

Зачем же я вообщем этот пост написал? Мне стало очень обидно и даже противно, что так говорят про линукс и опенсорс. Люди же стараются, тратят свое личное время, нервы, знания и т.д., при этом не получая в замен толком ничего, ни копейки. Они это делаю, как правило, в первую очередь для себя, но не зажимают, как большинство виндовых программеров и самого мелкософта, требуя взамен денег, а отдают даром(!). Уже за это им стоит сказать спасибо и отнестись с терпением и понимание, если что-то работает не так, как вам хочется. Уж лучше написать разработчикам письмо с просьбой/предложением добавить функцию/возможность, которой вам не хватает (и если есть возможность, то и donate), вместо того, чтобы вот так негативно высказываться, как это сделали вы. Надеюсь вы меня правильно поняли.



UPD: Оставил ссылку на этот ответ в комменте к посту "Про Линукс". В ответ автор назвал меня малышом и удаляли мой коммент... Жжет парень. В общем я понял одно, что это просто какой-то идиот.




Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

[]

четверг, 10 сентября 2009 г.

Настройка Fn-клавиш в ubuntu на ASUS M50Vc. Часть 2

В прошлом посте я рассказывал как настроить Fn-клавиши на ноуте, точнее дал вводную информацию, показал простейший пример и дал "пищу" для дальнейших размышлений. Сегодня я хочу показать пример настройки Fn-клавиш для обработки событий вкл/выкл touchpad, wifi и bluetooth, который значительно сложнее приведенного в предыдущем посте и требует значительно больше телодвижений (для ASUS M50Vc тебе не придется делать много телодвижений, я ведь заботливый ;) ).

И так, сегодня мы узнаем:
1. Как настроить вкл/выкл touchpad и его диодного индикатора;
2. Как настроить вкл/выкл wifi и bluetooth и его диодного индикатора (правда у меня, к сожалению, не работает, хотя должен :( );
3. Сохранять их статус, т.е. если при выключении/перезагрузке ноута у тебя, например, был выключен touchpad, то и после загрузки системы он будет выключен;
4. Включать/выключать/мигать диодным индикатором почты, когда есть новые сообщения (на примере claws-mail).
[]

среда, 9 сентября 2009 г.

Настройка Fn-клавиш в Ubuntu на примере ASUS M50Vc

Эх... Давненько я ничего не писал... Надо исправляться :)
В этом посте хочу рассказать о том как настроить хоткеи типа Fn+F1 и т.д. на ноуте в ubuntu, но это так же справедливо для любого другого дистрибутива linux/bsd (уверен, хотя не проверял).
[]

пятница, 21 августа 2009 г.

Picasa & Ubuntu 9.04

Раньше я никогда еще не пробовал ставить Picasa в linux, но в этот раз уж очень захотелось. Скачать и поставить ее не проблема... Но работать она отказывается, выдавая сообщение об ошибке, что типа нету какого-то там префикса, либо что стоят 2 разные версии... В общем я не вчитывался, а поступил проще...

Отыскал, где лежит сам файл пикасы. Оказалось, что у меня это - /opt/google/picasa/3.0/wine/drive_c/Program Files/Google/Picasa3/Picasa3.exe. Так и думал... Работает через вино :)
Ну и фиг с тобой думаю... У меня уже стояло вино, поэтому запустил этот файл через вино, которое стояло у меня. И, вауля, все работает на 5 баллов :)


Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

[]

среда, 19 августа 2009 г.

Загрузка файлов в Dropbox (скрипт для Nautilus)

Увидел сегодня на хабре топик "Загрузка файлов в Dropbox в один клик", подумал... А чего это я молчу, если у меня давно уже это на баше реализовано? Пора поделиться.

Скрипт состоит из двух файлов, точнее это 2 немного разных скрипта, которые и юзаются по отдельности. Первый называется "Залить на DropBox (в корень)", который ничего не спрашивает, а тупо льет указанный файл в корень (относительно дропбокса) и в буфер обмена кладет сслыку на залитый файл. Второй называется "Залить на DropBox (выбрать каталог)" и отличается только тем, что он спрашивает в какой каталог залить (показывает диалог выбора каталога) и подставляет ~/Dropbox/Public/, а ты уже можешь уточнить.

Для работы скриптов их достаточно скопировать в каталог ~/.gnome2/nautilus-scripts/ и пользоваться контекстным меню наутилуса. Т.е. кликаем по файлу правой кнопкой мыши и выбираем пункт "Сценарии", а там уже нужный вариант скрипта.

Сам скрипт забираем тут.


ЗЫЖ Забыл упомянуть, что клиент DropBox'a нужен обязательно! Скрипт тупо копирует файло в папку, за которой следит клиент DropBox'a, а потом запрашивает у него ссылку на этот файл и копирует ее буфер обмена.





Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

понедельник, 17 августа 2009 г.

GLPI: Переносим на винду (из Linux)

Вот стряслось... Пришлось свой хелпдеск перекинуть на виндовый 2003 сервак :(
Все оказалось не так гладко, как я думал...

А проблема была в том, что в никсах, как правило, используется кодировка utf-8 (у меня именно так), а в винде cp1251. Вроде бы, какое это имеет значение? Да вот дело в том, что база тоже в кодировке uft-8. Ну и что? А то, что файлы, которые прикрепляют к заявкам, хранятся не в базе на на диске, а "ссылки" на эти файлы в базе. А так как кодировки разные, то GLPI не может найти файлы на диске, если в имени файла содержатся символы с кодом больше 128 или, проще говоря, символы кириллицы.

Решений в голове назрело 2:
1. Перекодировать БД в cp1251
2. Подправить PHP-код, чтобы перед отдачей файла исправлялась кодировка, т.е. перекодировывать из утф в сипи

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

Для второго способа у меня вышло аж 2 решения, начну с более простого, которое мне подсказал Hubbitus.
1. Чтобы GLPI отдавал файлы с русскими именами нужно отредактировать файл %GLPI_DIR%\front\document.send.php. А именно, надо найти строки
if ($send&&file_exists(GLPI_DOC_DIR."/".$_GET["file"]))
sendFile(GLPI_DOC_DIR."/".$_GET["file"],$splitter[1]);
которые в самом низу файла и заменить их на
if ($send&&file_exists(GLPI_DOC_DIR."/".iconv('UTF-8', 'CP1251', $_GET["file"])))
sendFile(GLPI_DOC_DIR."/".iconv('UTF-8', 'CP1251', $_GET["file"]),$splitter[1]);
Тут функция iconv тупо перекодировывает все, что ей скармливают из utf-8 в cp1251.

2. Второй способ более универсален, т.к. сам определяет кодировку строки и перекодировывает ее в cp1251. И так, нам нужно отправиться в гости к Юрию Попову и забрать у него php-библиотечку a.charset.php (на этой же страничке вы и узнаете все про нее и скачаете) и положить ее в папку %GLPI_DIR%\inc\. Теперь в файле %GLPI_DIR%\front\document.send.php в самом начале, после первого инклюда (у меня это строка 40) нужно добавить:
include (GLPI_ROOT . "/inc/a.charset.php");
А в конце этого файла нужно сделать тоже самое, что в первом варианте, только те строки заменить на:
if ($send&&file_exists(GLPI_DOC_DIR."/".charset_x_win($_GET["file"])))
sendFile(GLPI_DOC_DIR."/".charset_x_win($_GET["file"]),$splitter[1]);
Все :) Теперь GLPI без проблем отдает файлы с русскими именами.



Осталось только одно НО... :(
К сожалению, я пока не нашел, как добиться, чтобы GLPI принимал файлы с русскими именами.
Как только найду, обязательно сразу напишу след. пост.




ЗЫЖ Сменил версию GLPI на 0.72.1, поэтому заново пришлось править скрипты, чтобы добавить свои статусы для заявок, о чем я писал в посте "GLPI: Добавляем свои статусы для заявок". Поэтому прикрепил к этому посту архив, в который положил исправленные скрипты, а так же файлы document.send.php и a.charset.php.





Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

четверг, 6 августа 2009 г.

Отпуск закончен...

Привет. Вот и прошел мой отпуск. Теперь снова сижу в своем админском кресле...
В этой заметке хочу кратко рассказать как прошли отпускные времена...

Ничего такого особенного за время отпуска у меня не было. Купил себе ноут ASUS M50Vc, доволен как черт :) Все на ноуте летает. Дефолтово стояла виста премиум. Сносить не стал. Виста с максимальными своими красивостями летает не хуже самолета. Понравился еще логин по отпечатку пальца и по распознавании моего лица через веб камеру. Прикольная штучка. Игры идут на ура. Хоть я и не геймер (Urban Terror не в счет), но все же решил погамать пока время в отпуске было немножко. Assasin Creed, Need for Speed Carbon, Splinter Cell (теория хаоса) - это то, что я прошел за 3-4 вечера (ночи?). Все эти игры летали с максимальным настройками графики. При покупке в ноут сразу воткнул еще 2 гига, теперь 4 гига оперы, из которых 1 гиг отбирает видяха (GeForce 9300M GT) когда гамаю, у нее встроенная 256 метров всего, получается что теперь (с оперой) у нее 1250 метров (класс :)). Проц Core 2 Duo на 2 гигагерца, но мне этого хватает с лихвой.
Убунта встала без проблем, все оборудование распозналось и работает прямо из коробки, за исключение видяхи, но для нее не проблема поставить драйверок от производителя. Весь софт встал разом. VirtualBox 3.0.4 работает очень резво. Все аппаратные ускорители задействованы. Поставил винду хрюшку в нее игрушку... директикс пашет. :) В общем ноутом я доволен полностью :)


В понедельник, 27 июля, мне надо было выходить из отпуска. Но в воскресенье, 26 июля, решил со знакомыми погулять ночью. В нашей компании была девочка (15 лет), чья-то сестра. Смотрю замерзла, дал ей куртку погреться. Потом сам замерз. Не буду же куртку у нее отбирать... Пошел в магаз, взял кофе и... пиво, похолоднее и так раз 5 повторялось. В понедельник отсидел на работе хорошо. Во вторник приехал с температурой, думал 37 с копейкой, а когда приехал домой (с работы ушел на 2 часа раньше) и проверил температуру, то ужаснулся, она была аж 41 градус. На след. день позвонил начальнику, попросил отлежаться. За весь день температура так и не упала. В четверг вызвал врача, диагноз АНГИНА! Так и пролежал неделю дома, 3 дня температура ниже 38 не опускалась. Вот так воть... Джентльменом не всегда быть полезно, а иногда даже опасно :) Теперь буду впредь внимательнее.


За время отпуска было много разных мероприятий. И пейнтбол, и страйкбол, и картинг, и вечерины (брат DJ, я иногда с ним играю как VJ, а этим летом открыли серию вечерин под названием Night M). Если кому интересно, фотки с последней вечерины (M 3D) можно глянуть тут (я на первой и четвертой, т.ж. на др. страницах тоже есть, там уже сами ищите).


Вроде бы все... для краткости хватит :)


Впереди много планов, о которых буду писать конечно же тут :)
До встречи :)




Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

вторник, 7 июля 2009 г.

OpenVPN: Мой опыт

Буквально перед отпуском надо было настроить 3 сервера и 1 комп на резервное копирование, которые территориально разнесены. Времени было мало. Вариантов было много... Но я остановился именно на OpenVPN, как не наиболее гибком (его ведь можно и для других целей использовать) и безопасном (трафик ведь шифруется) решении.
Один из серверов на Ubuntu 8.04.3 Server, 2 на винде 2000 и 2003 и комп на винде ХРюшке домашней. Данные надо было бэкапить на сервак с 2003 виндой, поэтому он выступает в роли OpenVPN сервера.

Для начала я поставил на свой ноут (Ubuntu 9.04 Desktop) сам OpenVPN и сгенерировал все необходимые сертификаты, которые потом полетели на комп и серваки.
Ставим OpenVPN в ubnutu:
sudo aptitude install openvpn
Теперь нужно сделать папку, в которую скопируем скрипты (в общем скрипты копировать не обязательно, но зато это удобнее):
mkdir ~/openvpn
cp -vR /usr/share/doc/openvpn/examples/easy-rsa/2.0/* ~/openvpn
cd ~/openvpn
Теперь нам нужно экспортировать необходимые переменные (очень важно находиться в папке, из которой будут запускаться скрипты, у меня это ~/openvpn):
source ./vars
Если в этом файле (./vars) подправить последние 5 строчек, то в дальнейшем в большинстве случаев вам не нужно будет вводить одно и тоже :) Вот эти строчки (дефолтовые):
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
Теперь делаем подготовку. Этот скрипт подготавливает минимум необходимого для начала работ по созданию сертификатов, а именно создает папку ./keys, в которой будут создаваться сертификаты, и в ней создает 2 файла index.txt и serial:
./clean-all
Настало время сгенерировать корневой сертификат и Diffie-Hellman, а т.ж. ключ для tls аутентификафии. Запускаем:
./build-ca
./build-dh
openvpn --genkey --secret keys/tls.key
Часть работы сделана. Теперь нужно создать ключи для сервера и клиентов. Создаем ключ для сервера:
./build-key-server root.server.ru
И для клиетов:
./build-key helpdesk.server.ru
./build-key mail.server.ru
./build-key KM.Guest

С ключами и сетификатами закончили. Теперь пора переходить к настройке OpenVPN сервера. Для начала нужно скачать и установить сам OpenVPN. Я его взял на сайте http://openvpn.se/ (мне он больше нравится). Теперь необходимо скопировать по безопасному каналу созданные ключи и сертификаты на сервер в папку C:\Program Files\OpenVPN\config\keys из папки ~/openvpn/keys. Теперь нужно создать файл с конфигом, я его расположил в C:\Program Files\OpenVPN\config\server.ovpn (дефолтовый путь). Создаем этот файл и пишем в него слующее:
#daemon # Эту строчку надо расскомментировать, если сервер будет на пингвине, а т.ж. подправить пути к ключам и сертификатам
mode server
tls-server
ifconfig 10.77.0.1 255.255.255.0
port 1194
proto tcp-server
dev tap
keepalive 10 120
# client-to-client # Это чтобы клиенты могли обмениваться трафиком, но для режима tun
comp-lzo
persist-key
persist-tun # В режиме tap игнорируется, но почему добавил уже не помню
ca "C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\keys\\root.server.ru.crt"
key "C:\\Program Files\\OpenVPN\\config\\keys\\root.server.ru.key"
dh "C:\\Program Files\\OpenVPN\\config\\keys\\dh1024.pem"
tls-auth "C:\\Program Files\\OpenVPN\\config\\keys\\tls.key"
client-config-dir "C:\\Program Files\\OpenVPN\\config\\clients" # Тут у нас будут лежать конфиги для клиентов
#push "route 10.77.0.0 255.255.255.0 10.77.0.1" # Мне не нужно видеть внутренню сеть за серверами, поэтому я эту команду не использую
verb 3
log-append "C:\\Program Files\\OpenVPN\\config\\openvpn.log"
status "C:\\Program Files\\OpenVPN\\config\\openvpn.stat"
Теперь нужно создать папку C:\Program Files\OpenVPN\config\clients с конфигами для каждого клиента. Я приведу пример только для одного, т.к. остальные создаются аналогично. Нужно создать файл C:\Program Files\OpenVPN\config\clients\helpdesk.server.ru.ovpn, который записать слудеющее:
# приcваиваем ip-адрес клиенту
ifconfig-push 10.77.0.11 255.255.255.0
# роутинг на сеть сервера (чтобы видеть его локальную сеть)
#push "route 192.168.0.0 255.255.255.0 10.77.0.1"
# роутинг на сеть второго клиента (это чтобы клиенты могли обмениваться трафиком)
#push "route 192.168.2.0 255.255.255.0 10.77.0.12"
Замечу, что если у всех сетей будут одинаковые адреса (например, 3 сети и все 192.168.0.0/24), то компы, на которых стоит OpenVPN, могут жутко глючить с передачей пакетов, а то и вовсе не будут видеть сеть (ни OpenVPN, ни реальную).

Переходим к клиентам. Тут я приведу пример для двух клиентов, на пингвине и винде. В первую очередь скопируем по безопасному каналу ключи и сертификаты на машины-клиенты. На понадобятся файлы tls.key, helpdesk.server.ru.* и ca.crt (они уже лежат на сервере в каталоге C:\Program Files\OpenVPN\config\keys, ты ведь их копировал), их надо скопировать в каталог /etc/openvpn/keys клиента. Теперь в папке /etc/openvpn нужно создать файл с произвольным имененем и расширением (суффиксом) .conf, я обозвал его to_root.server.ru.conf, и заполнить следующим содержанием:
client
pull
tls-client
dev tap
proto tcp
remote root.server.ru 1194 # Правда я указал IP-адрес сервера
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/helpdesk.server.ru.crt
key /etc/openvpn/keys/helpdesk.server.ru.key
tls-auth /etc/openvpn/keys/tls.key
log-append /var/log/openvpn.log
status /var/log/openvpn.stat
Теперь можно запустить OpenVPN и проверить работу (потом лучше остановить, зачем он нам постоянно работающий на клиентах?):
sudo /etc/init.d/openvpn start
ping -c 3 10.77.0.1
На винде все аналогично, за исключением путей. Ключи и сертификаты кладем в папку C:\Program Files\OpenVPN\config\keys, а конфиг в C:\Program Files\OpenVPN\config, только расширение я указал .ovpn, т.к. это нужно для виндового порта, т.е. имя файла конфига на виндовом клиенте у меня будет таким - to_root.server.ru.ovpn.
client
pull
tls-client
dev tap
proto tcp
remote root.server.ru 1194 # Правда я указал IP-адрес сервера
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca "C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\keys\\helpdesk.server.ru.crt"
key "C:\\Program Files\\OpenVPN\\config\\keys\\helpdesk.server.ru.key"
tls-auth "C:\\Program Files\\OpenVPN\\config\\keys\\tls.key"
log-append "C:\\Program Files\\OpenVPN\\config\\openvpn.log"
status "C:\\Program Files\\OpenVPN\\config\\openvpn.stat"
И точно так же проверяем работоспособность:
net start OpenVPNService
ping -n 3 10.77.0.1

На этом настройка OpenVPN закончена :) Ну а раз речь шла о бэкапах, то приведу пару очень простых примеров, по одному для винды и пингвина.
# Копирование бэкапов (Linux)
/etc/init.d/openvpn start >>~/copy_bak.log 2&>1
sleep 3s
smbmount //10.77.0.1/bak ~/smb/ -o rw,iocharset=utf8,codepage=cp866,username='UserName',password='passwd' >>~/copy_bak.log 2&>1
sleep 3s
cp -Rfv /backup/folder ~/smb/ >>~/copy_bak.log 2&>1
sleep 5s
smbumount ~/smb/ >>~/copy_bak.log 2&>1
/etc/init.d/openvpn stop >>~/copy_bak.log 2&>1


# Копирование бэкапов (Windows) (тут пинг выступает в роли паузы)
net start OpenVPNService
ping -n 10 localhost
net use S: \\10.77.0.1\baks "PaSSwd" /user:UserName
ping -n 5 localhost
xcopy C:\path S:\ /e /h /r /y /f
ping -n 5 localhost
net use S: /delete
net stop OpenVPNService


ЗЫЖ-1 Не ручаюсь, что все сделал правильно. Это мой первый опыт. Комменты приветствуются.
ЗЫЖ-2 Выложил раньше времени, т.к. одному человеку сильно нужна была помощь. Жалко мне его стало :)
ЗЫЖ-3 Очень хороший ЧАВО по OpenVPN





Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

Отпуск | Vacation

Друзья, я до 3 августа сего года я в отпуске. Поэтому за это время новых статей в блоге наверное не будет.
После отпуска расскажу о своем опыте настройки OpenVPN для резервного копирования данных на компах, которые разнесены территориально. Что мне собственно и пришлось сделать буквально за день до отпуска.
В отпуске хочу купить себе новый ноут ASUS, какую модель пока еще не решил.
Еще есть планы воссоздать виртуальную инфраструктуру сети, для тестирования и обкатки новых решений, перед их внедрением в реальной сети.
О чем тоже расскажу.


До скорых встреч! :)

четверг, 2 июля 2009 г.

macfinder: Узнаем производителя сетевой железяки по его MAC'у

В сети есть замечательный инструмент для определения производителя сетевого оборудования по MAC-адресу. Точнее не по самому MAC-адресу, а по его первым 24 битам (3 байтам). Т.ж. поддерживается и обратная "работа".
Когда я узнал про эту онлайновую утилиту, то не долго думая сварганил скрипт, который позволяет не заходя на сайт узнать... Ну ты уже понял ;)

Сам скрипт прост как две копейки. Смотрит, что ему передали, делает запрос на сайт, получает ответ, парсит и показывает результат тебе.
$ macfinder

Использование:
macfinder MAC | -m Manufacturer

MAC - первые 24 бита mac-адреса (например, 00d0b7)
-m Manufacturer - название производителя (например, Intel)


Вот собственно и все :)
macfinder забирай тут.




Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

понедельник, 22 июня 2009 г.

Какое оружие вам подходит - психологический тест



Вы мыслитель
Вы много думаете и не редкость для вас это уход в собственные мысли настолько глубоко, что можете забыть о том, кто вы есть на самом деле. Ваш интеллект превышает нормы. Вам тяжело найти собеседника, но вы легко можете найти друга. Вы не очень любите лишние движения, за что вас многие считают лентяем. Вы любите рассуждать и учить, но сами вы не очень-то готовы действовать. Любите вкусно поесть удобно на мягком полежать да поразглагольствовать. Романтика в вас присутствует, как и жалость, но все это лишь небольшие дополнения к вам как к личности с незаурядным мышлением. Поэтому, если такой человек, как вы решит убить, то правоохранительные органы вас никогда не заподозрят, да и улик вы не оставите вовсе. По этому ваше лучшее оружие это - Steyr AUG, автомат (штурмовая винтовка), калибр 5.56 NATO, Австрия image
Пройти тест


Хм... А ведь так оно и есть :)
И на счет правоохранительных органов... Меня в школе ни разу не заподозрили, что я шпоры использовал... Но с органами играть что-то не хочется :)




Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.
[]

Обновил ppa-key-import до версии 1.0

Я уже рассказывал про этот скрипт несколько раз, все темы по этому скрипту можете глянуть в теге ppa-key-import.

Напомню, что скрипт нужен для того, чтобы не выискивать ключи репозиториев на просторах launchpad.net, а просто импортировать их в систему одним махом.

Что же нового на этот раз?
Теперь скрипт умеет самостоятельно проверять файлы /etc/apt/*.list и импортировать ключи для тех репозиториев, для которых ключи еще не были импортированы.
Т.ж. скрипт можно установить в систему и при обновлении по списка пактов через sudo apt-get uptade будут импортированы ключи, которых еще нет в системе.
И еще появился импорт ключей для бета-репозиториев.

А теперь подробнее...


Если скрипт запустить без параметров, то он лезет в файл(ы) /etc/apt/*.list и "выковыривает" оттуда все репозитории с launchpad.net. После чего для каждого репозитория проверяется наличие в системе ключа-подписи. Если ключ есть, то об этом сообщается, а если нет, то ключ будет импортирован о чем так-же будет сообщено.

Чтобы скрипт установить в систему и интегрировать в apt-get есть параметр "-a":
ppa-key-import -a 
Т.ж. скрипт будет скопирован в /usr/bin. Это делается для того, чтобы если вы переместите скрипт в другое место он продолжал функционировать (apt-get же не знает о том, что вы переместили скрипт). Если добавить ключ "!", то скрипт перезапишет себя в /usr/bin и заново интегрируется (переинтегрируется) в apt-get:
ppa-key-import -a !
Для удаления скрипта из системы и его интеграции из apt-get есть ключ "-a -":
ppa-key-import -a -
Ключ скрипта "-b" предназначен для импорта ключей от бета-репозиториев:
ppa-key-import -b
Он был добавлен из-за UbuntuOne, т.к. я не захотел ставить предложенный пакет, а решил все сделать ручками :)


В части скрипта используются наработки, которые написал Dominic Evans, за что ему огромное спасибо :) А т.ж. спасибо Антону, автору блога "Крапленая колода", за то, что обратил мое внимание на этот скрипт и за тестирование ранних версий этого скрипта :)


Кстати, чуть не забыл, если скрипт установить (интегрировать) в систему, то каждый раз при выполнении команды "sudo apt-get update" вначале будет отрабатывать скрипт, а уже потом apt-get.


Скачать ppa-key-import :)





Информация с сайта http://angel2s2.blogspot.com/.
Если Вы читаете эту информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

вторник, 9 июня 2009 г.

В Москве пропал человек!

В Москве пропал человек 31 мая. Москвичи, загляните на эту страничку - http://quod-sciam.livejournal.com/352329.html - там фото и описание. Жалко парня, 28 лет, IT'шник.

понедельник, 8 июня 2009 г.

Лог загрузки Debian и Ubuntu

Команда dmesg и содержимое файла /var/log/dmesg позволяют посмотреть сообщения ядра Linux при последней загрузке. При этом строки, которые видно на экране при загрузке Debian, заметно отличаются от этих самых сообщений ядра так как содержат вывод скриптов инициализации. Иногда получается что какое-нибудь сообщение об ошибке мелькает при загрузке, но потом в dmesg его невидно. Что делать? А варианты такие...
1. Кнопками Shift+PgUp/Shift+PgDn можно листать не влезающие в экран сообщения.
2. При загрузке нажатием Ctrl+S можно остановить вывод сообщений на экран, Ctrl+Q -- продолжить.
3. В файле /etc/default/bootlogd поправить BOOTLOGD_ENABLE=No на BOOTLOGD_ENABLE=Yes и с комфортом смотреть лог загрузки в файле /var/log/boot.

UPD. Последнее я пробовал только в Debian, очень полезная штука, а в Ubuntu, говорят, нормально не работает с тех пор как появилась прогрессивная система загрузки Upstart. Сейчас может и починили, может кто проверить?

Источник: http://rulinux.net.ru/node/118

ЗЫЖ: На всякий случай, цитирую первый коммент из первоисточника:
В Ubuntu — Неа, не починили, и врядли скоро починят. Я спрашивал у разработчиков этого самого upstart на их официальном IRC канале — они сказали, это пока не работает (хотя в конфиге даже ручкая такая есть чтоб покрутить) и когда заработает они не знают. А дальше они между собой стали обсуждать вопрос что файловая система находится в readonly в момент загрузки, или что-то в этом духе, но я уже невнимательно следил за их обсуждением. Вот так, то.

[]

man: Читаем man'ы на русском

Не всегда хочется читать man на английском... Порой хочет почитать его на родном языке. Это возможно и тут я расскажу как.


В Ubuntu есть некоторые маны на других языках. Как в других дистрибутивах не знаю, но думаю, что там тоже есть. Все английские маны лежат в каталоге /usr/share/man/man{1..8}. А маны на других языках располагаются в /usr/share/man/ЯЗЫК/man{1..8}.
У утилиты man есть ключ -L, которому передается нужный язык.

Пример 1. Почитаем man mc на русском:
man -L ru mc
Пример 2. Почитаем man bash на русском?:
man -L ru bash
В результате получаем облом... Нету мана для баша на русском, поэтому man показал нам его на английском :)

Исходя из этого, можно в ~/.bashrc добавить вот такой простенький алиас:
alias man='man -L ru'
Теперь всегда вначале будет искаться ман на русском, а если его нет, то будет показываться на английском :)


ЗЫЖ Как заметил Olly Cat, правильнее будет не алиас делать, а добавить переменную в башэрси:
export MANOPT="-L ru"
За что ему огромное спасибо :)

понедельник, 1 июня 2009 г.

#932: Заправка в стиле «хаус» (IT Happens)

Сидели мы с дружбаном, печатали фотки на моём струйнике. Цветной картридж заканчивается. «Надо заправить!» — гордо изрекает мой друг.Заправили. Страница пробной печати огорчила нас — сопла картриджа забиты. Цикл очистки ситуацию не исправил. Пока я оплакивал картридж, друг внезапно поинтересовался: «А ты знаешь, как в металлургии делают порошковые пресс-формы?» Оказывается, для равномерного распределения порошка по форме детали используют вибростанок. Недолго думая, мы решили положить несчастный картридж на мой сабвуфер, включив погромче «умц-умц».Через полторы минуты под картриджем появилась небольшая лужица. С обиженным криком я пошёл чистить картридж, в то время как друг под то же «умц-умц» бодро оттирал краску с саба, хихикая в прокуренные усы.После музыкальной терапии картридж перестал «полосить» и отлично допечатал остаток фотографий.

Источник: http://ithappens.ru/story/932
[]

суббота, 30 мая 2009 г.

Google: Как сменить аккаунт.

Не так давно мне знахотелось поменять аккаунт на google'е. Причина тому была банальна: мне надоело старое имя, не красиво оно как-то было, да и не клеилось с моим текущим ником. Порыв справку гугла и погуглив поиском, я узнал, что гугл не позволяет поменять имя аккаунта, точнее говорит, что в настоящий момент это не возможно. У меня уже чуть было руки не опустились... Но не давала покоя одна мысль: "Че это же ты за админ такой? Не возможного не бывает."
Так вот, в этом посте пойдет речь о том, как я сменил аккаунт на гугле и при этом перенес все свои данные со старого аккаунта на новый.


1. Начнем с почты
1.1. В старом ящике...
1.1.1. Идем в "Настройки", а там в "Пересылка и POP/IMAP", включаем доступ по POP3, т.е. отмечаем пункт "Включить POP для всех писем".
1.1.2. Теперь заходим в "Экспериментальные функции". Тут находим "Импорт/экспорт фильтров" и ключаем эту функцию.
1.1.3. После чего идем в "Фильтры", опускаемся в самый низ, жмем линк "Все" и под ним кнопку "Экспорт" и сохраняем на компе список фильтров.
1.1.4. Теперь переходим к адресной книге. Тут есть один нюанс: у меня не все контакты загрузились, гугл ругался, что либо файл большой, либо он поврежден. Я не стал разбираться что да почему, а экспортировал только "Адресную книгу", а не "Все адресаты", т.к. последние мне не нужны. В общем делается это так: жмем в правой части адресной книги линк "Экспорт", на вопрос "Какой адрес вы хотите экспортировать?" отвечаем "Только Адресная книга", а "Формат экспорта" выбираем первый, т.е. "Формат CSV, используемый Google", жмем кнопку "Экспорт" и сохраняем файл на диск (у меня он почему-то был с японскими иероглифами в имени, поэтому при сохранении я указал др. имя, вместо предлагаемого по умолчанию).
1.1.4.1. Так же можно экспортировать контакты (все) в "Формат CSV программы Outlook", а потом импортировать их из этого файла. Это может пригодиться в том случае, если гугл будет ругаться (см. п.1.1.4). Т.е. в этом случаем, можно просто открыть этот файл в текстовом редакторе и разделить его на несколько файлов, а потом загрузить по частям (с "Формат CSV, используемый Google" это не прокатит, т.к. он зашифрован).
1.2. В новом ящике...
1.2.1. Идем в адресную книгу и импортируем контакты, т.е. слева в адресной книге жмем линк "Импорт", потом кнопку "Обзор", выбираем файл с контактами, который мы экспортировали ранее из старого ящика и жмем кнопку "Импорт". Немного ждем и... готово :)
1.2.2. Идем в "Настройки", а там в "Фильтры", опускаемся в самый низ и жмем линк "Импортировать фильтры". Ниже появляется соответствующее поле, в котором жмем кнопку "Обзор", выбираем сохраненный файл с фильтрами (см. п.1.3) и жмем кнопку "Открыть файл". Фильтры импортировались :)
1.2.3. Теперь идем в "Аккаунты" и в разделе "Получать почту из других аккаунтов" жмем линк "Добавить свой почтовый аккаунт". Откроется новое окно (вкладка), в которой вводим мыло старого ящика, жмем далее, выполняем нужные настройки (думаю, что ты и сам сможешь разобраться в них, там ничего сложного) и жмем кнопку "Добавить аккаунт".
Все письма начали потихоньку загружаться в новый ящик, а мы пока поедем дальше :)

2. Наш любимый блог :)
2.1. В старый блоге идем в "Настройки" в раздел "Разрешения", жмем кнопку "Добавить авторов", в появившемся поле вводи свое новое гугломыло и жмем кнопку "Пригласить".
2.2. Проверяем мыло, перходим по линку, который в соответствующем письме.
2.3. Вводим логин и пароль и жмем кнопку "Принять приглашение"
2.4. В старом блоге в разделе настроек "Разрешения" выставляем права "администратор" для нового аккаунта.
2.5. Все :)

3. Блокнот
3.1. В старом аккаунте выбираем первый блокнот из имеющихся и жмем линк "Параметры доступа".
3.2. В соответствующем поле вводим адрес нового мыла и жмем "Сохранить".
3.3. Повторяем п.п.3.1-3.2. для всех остальных блокнотов.
3.4. Проверяем новую почту и переходим по ссылкам, которые будут в письмах.
3.5. Заходим в новый аккаунт в блокноты и видем что там есть блокноты из старого аккаунта.

4. Календарь
4.1. В старом аккаунте идем в "Настройки" и переходим на закладку "Календари".
4.2. Если календарей несколько, то нижеперечисленные действия надо выполнить для каждого.
4.3. Жмем линк "Открыть доступ к календарю".
4.4. Вводим адрес нового мыла и в выпадающем списке справа выбираем "Вносить изменения + предоставлять доступ", а потом жмем кнопку "Добавить".
4.5. Проверяем новую почту и переходим по ссылке, которая в письме.
4.6. Теперь календарь(и) в новом аккаунте.

5. Документы
5.1. В документах страрого аккаунта влевой части выбираем "Все записи".
5.2. Жмем внизу линк "Все ХХХ" (ХХХ - кол-во документов), вправой части.
5.3. Теперь "Дополнительные действия" -> "Сменить владельца".
5.4.1. У две электронные таблицы не захотели переноситься, поэтому их просто скопипастил.
5.5. Вводи мыло нового аккаунта и жмем кнопку "Сменить владельца". У меня с первого раза не прокатило, т.е. не все документы переносились, нажимал эту кнопку несколько раз.
5.6. Если у вас документы не одним скопом, а разложены по папкам, как сейчас у меня, то лучше делать так:
5.6.1. В новых документах создать всю структуру папок как в старых документах (папки не переносятся).
5.6.2. В старом аккаунте войти в первую папку и выделить все докуметы, затем перенести в новый аккаунт, как это было описано выше.
5.6.3. В новом аккаунте переместить эти документы в нужную папку.
5.6.4. Повторить пп.5.6.1-5.6.3 для всех остальных папок.
5.7. Теперь доки в новом аккаунте.

6. Читалка новостей, т.е. Google Reader
6.1. В старом аккаунте идем в "Настройки" на закладку "Импорт и экспорт", жмем ссылку "Экспорт подписок в виде файла OPML"
6.2. В новом аккаунте повторяем тоже самое, только импортируем OPML файл.
6.3. Все. У меня даже папки перенеслись :)

7. Picasa Web
7.1. В старом аккаунте заходим в первый альбом, жмем кнопку справа "Совместный доступ".
7.2. Вводим новое мыло и жмем отправить.
7.3. Повторяем пункты 7.1.-7.2. для каждого альбома. Теперь они будут в новом аккаунте в избранном.
7.4. Одно НО(!) - Это не полноценный перенос :( Для полноценного переноса нужно скачать и установить программу Picasa, слить из старого аккаунта фотки и загрузить их в новый.

8. Google Analytics
8.1. В старом аккаунте заходим в "Настройки Google Analytics".
8.2. Жмем линк "Изменить" для первого профиля.
8.3. Опускаемся вниз и жмем линк "+ Добавить пользователя".
8.4. Вводим новое мыло и ниже в поле "Тип доступа" выбираем "Администратор аккаунтов" и жмем кнопку "Сохранить изменения".
8.5. Повторяем пункты 8.2.-8.4. для остальных профилей.
8.6. Проверяем мыло, переходим по линку, наслаждаемся :)


Всё! :) Другие сервисы я не переносил, т.к. не было нужды. Но делается все аналогичны образом. Удачи :)



ЗЫЖ: Все писал по памяти, поэтому возможно не везде надо будет подтверждать что-либо по мылу. Если мыло не пришло попробуй просто войти в блог/календарь/блокнот/т.д. и посмотреть, не поясилось ли чего нового. В противном случае запроси подтверждение повторно.

[]

пятница, 22 мая 2009 г.

SendXMPP: Мониторим сервер с помощью Jabber

Нам, админам, нужно постоянно следить за серверами. Создавать кучу подключений по SSH или ssh-туннели не очень удобная вещь. E-mail, как правило, отсталый по времени, т.к. не у всех постоянно запущен e-mail клиент. А вот jabber запущен постоянно и всегда и зачастую даже на мобильнике. Почему бы его не заюзать для слежки за серваком?

SendXMPP - это Perl-скрипт для отправки сообщений на XMPP (Jabber) сервер. Работает почти так же, как программа mail при отправке почты. SendXMPP можно использовать для отправки сообщения на xmpp сервер для предупреждения или уведомления пользователей.

Итак, для начала нам нужно поставить SendXMPP. Для Debian/Ubuntu это можно сделать так:
sudo aptitude install sendxmpp
Готово. Теперь надо настроить SendXMPP, чтобы он знал на какой сервер под каким логином и паролем ему коннектиться. Для этого нужно создать файл ~/.sendxmpprc и записать в него настройки:
vim ~/.sendxmpprc
servername@jabber.domain.ru:5222 PaSSwD
Тут servername@jabber.domain.ru:5222 - логин, сервер и порт, PaSSwD - пароль.
Теперь нужно выставить на него такие права, чтобы этот файл мог читать только тот юзер, от имени которого будет зпапускаться SendXMPP:
chmod 400 ~/.sendxmpprc
Все, готово. Установка и настройка закончены.

Теперь пара примеров по использованию SendXMPP.
Пример 1:
Задача: Узнать когда процессор сервера будет под большой нагрузкой.
Решение: Запихнуть в кронтаб вот этот однострочник, чтобы "каждые 5 сек." выполнялся:
if [[ $(ps aux | awk '{print $3}' | sort -nr | head -n 1 | sed 's/\..*//g' ) -ge 70 ]] ;\
then ps aux | awk '$3>70' | sendxmpp -s 'CPU Load > 70%' admin@jabber.domain.ru ; \
fi
НО(!) имей ввиду, что это просто пример, в реальной жизни такой однострочник не стоит использовать, т.к. если какой-либо процесс загрузит проц, то тебе будут постоянно идти сообщения, что не есть гуд. В реальной жизни надо сделать провеку, т.е. типа если уже отправлено сообщение, то "поднимаем флаг" и больше не отправляем, когда нагрузка спала, "опускаем флаг".

Пример 2:
Задача: Нужно отслеживать все подключения к SSH-серверу.
Решение: Создать файл /etc/ssh/sshrc с содержанием:
echo "Date:\t\t$(date +%d.%m.%Y\ %H:%M:%S)\nRemote Host:\t$SSH_CONNECTION\nUser:\t\t$USER\nShell:\t\t$SSH_TTY" |\
sendxmpp -s 'SSH Login on GLPI Server' -r 'GLPI Server' -u UserName -j jabber.domain.ru:5222 -p 'PaSSwD' admin@jabber.domain.ru
Теперь при любом подключении будет приходить сообщение в jabber с указанием даты, времени, ip подключившегося, имя этого юзера и на какой шелл он повесился.


Пояснения ключей:
-s - тема сообщения (у меня русские буквы не отображает, в теле все хорошо)
-r - ресурс
-u - имя юзера, для логина на jabber-сервер
-j - адрес jabber-сервера и его порт
-p - пароль





ЗЫЖ: Если у кого бедет проблема с русской кодировкой попробуйте открыть файл sendxmpp, найти строки
use Net::XMPP;
use Getopt::Long;
use strict;
и сразу после них добавить строку
use encoding 'koi8-r';
или
use encoding 'utf-8';

Возможно поможет. Я не пробовал, т.к. у меня с русскими в Gajim'е все хорошо, кроме темы сообщения, а тут они мне и не нужны.

четверг, 21 мая 2009 г.

!!! Изменение адреса ленты новостей !!!

Друзья, я перенес RSS ленту новостей на FeedBurner, т.к. хочется иметь возможность отслеживать кол-во подписчиков. Поэтому убедительная просьба измените в своем RSS ридере адрес фида моего блога на http://feeds2.feedburner.com/angel2s2

Надеюсь на ваше понимание :)
Заранее спасибо!



ЗЫЖ:
На данный момент (с 20.01.09), по данным Google Analуtics, блог посетили 4346 человек, всего было просмотрено 14428 страниц различными посетителями. Подробнее.
13 мая 2009 года был пик по кол-ву просмотров страниц и составил он 522 просмотра, а так же в этот же день был пик по кол-ву уникальных посещений - 109.
Первая тройка стран по кол-ву посещений: Россия (2787), Украина (797), Белоруссия (268) - подробнее.
Первая тройка Российских городов по кол-ву посещений: Москва (947), Питер (374), Калининград (180) - подробнее.

Честно признаться я не ожидал таких результатов, тем более всего за 5 месяцев. А если учесть, что многие используют FireFox со включенным дополнением NoScript и Google Analitycs у них не разрешен, то получается, что посещений еще больше %)
Спасибо вам, что читаете мой блог, значит не зря его веду :)

вторник, 19 мая 2009 г.

Учебник по сетевым технологиям [юмор]

Искал щас кое-что у себя в базе NoteCase и наткнулся на эту заметку, но не помню уже откуда она. Хоть и баян, но все же смешно. К тому же сравнения приводятся очень удачно. Например, если так чайнику объяснить что да зачем, то, уверен, он поймет это дело лучше, чем если ему нормальным языком расталковывать, да и весело будет.
В общем читайте и смейтесь :)

DHCP
Вы проснулись после дикой пьянки. Первые ваши слова «кто я?» и «где я?». Сосед, который не запивал водку пивом, вам сообщает все ваши параметры: кто вы и где. Этот сосед выступает в роли DHCP-сервера. Учтите, что в сети могут быть так называемые «ложные DHCP-сервера», например жена – на ваш вопрос «кто я?» она выдаст неверную информацию: «алкоголик ты проклятый». Так что не всегда динамическая выдача параметров безопасна, рекомендуется записывать свои параметры (как зовут, ваш адрес и т.д.) на бумажке.

Маршрут по умолчанию
Подойтите к прохожему и спросите «не подскажите ли вы как пройти к моргу имени Невмировича-Данченко?». С большой долей вероятности вас пошлют нахуй. Так вот это и есть маршрут по умолчанию, другими словами если адрес назначения не известен, то пакеты посылаются на маршрут по умолчанию (синонимы: шлюз по умолчанию, dafault gateway).

Понятие TTL
Представьте себе, что вам 5 лет и вы хотите кушать. Вы идете к папе и говорите: «Папа, я хочу кушать». Ваш папа смотрит телевизор, согласно таблице маршрутизации о посылает вас к маме. Вы идете к ней и просите «Мамааа, я хочу кушать». Мама болтает с подругой по телефону и согласно своей таблице маршрутизации посылает вас к папе. И так вы ходите как дурак от папы к маме и обратно, туда-сюда, туда-сюда, а все потому что криворукие админы (родители папы и мамы) неправильно настроили таблицу маршрутизации. Чтобы защититься от таких ситуаций придумали понятие TTL (Time To Live), что применительно к нашей ситуации означает количество терпения у мальчика, пока он не скажет «заебало» и не упадет перед ногами мамы или папы в беспомощном состоянии. Последний, по правилам (стандарты – это «так заведено в семье»), обязан послать короткий нелестный отзыв адрес того, кто послал мальчика кушать. Это так называемый icmp-пакет «мальчик издох»

Ping
Вы конечно бывали в ситуации «сам дурак». Вы кричите «Петя ты, еблан», а в ответ слышите «Вася, сам еблан». Это простеший пинг. Вы только что пропинговали Васю. Не все отвечают на пинги, особо культурные, например Microsoft.com не утруждают себя реагированием на ваши запросы. С такими переругиваться бесполезно, мы знаем, что они слышат и злятся, но реакции добиться не можем. Тем не менее, пинг – неплохой способ узнать жив ли хост, ведь пиная труп ногами не добьешься реакции «сам дурак»

Traceroute
Представь себе, что ты живешь на 9м этаже и хочешь узнать всех жильцов которые живут от тебя до Клавки с 3го. Ты берешь взрывпакет и, исходя из формулы свободного падения, рассчитываешь время взрыва пакета над 8м этажом. Это TTL=1. После того как пакет ибанет - выглянет озверевшая рожа соседа с 8го этажа. Время реакции зависит от загруженности сервера, т.е. от занятости соседа и от шейпов, т.е. в воздухе ли ваша система или ты живешь на планете, где атмосфера жидкий азот. Так вот, если вообще не дождешься ответа - твой сосед глухой - у него запрещены icmp ответы, либо он запретил их только для тебя если его уже подзаебали твои финты и он научился тебя игнорировать. Дальше выставляешь TTL=2 и т.д. Не забывай, что если Клавка живет выше тебя – это No route to host.

Microsoft сообщает об уязвимости в IIS 6

Технический персонал Microsoft в рамках рассылки бюллетеня по безопасности для пользователей сегодня предупредил клиентов компании о наличии серьезной и пока не закрытой уязвимости в веб-сервере Microsoft Internet Information Services. В рассылке корпорации говорится, что известно об уязвимости стало от нескольких пользователей, сообщивших о взломе их веб-проектов.

Точных данных Microsoft не раскрывает до момента выпуска соответствующего исправления.

Тем не менее, техперсонал указывает на то, что эксплуатация уязвимости позволяет злоумышленнику поднять привилегии без соответствующих на то санкций. Сбойный компонент находится в расширении WebDAV, управляющем запросами HTTP. "Атакующий может сформировать специальный HTTP-запрос, который предоставит ему доступ к директории, обычно доступные только по паролю", - говорят в Microsoft.

В корпорации отмечают, что пока атака имеет очень ограниченную популярность. Если всплеска активности подобных атак не будет, то патч для IIS выйдет в рамках традиционного ежемесячного выпуска (первый вторник нового месяца), если же будет отмечен всплеск атак, то патч выйдет вне очереди.


Источник: http://www.cybersecurity.ru/

[]

пятница, 15 мая 2009 г.

Автоматизируем telnet и ftp сессии [expect]

Типичная ситуация: в офисе есть сетевой принтер, который расположен на другом этаже, мне звонят и говорят, что он "начал плеваться бумагой", ясное дело, что очередь забилась, чтобы не идти на другой этаж можно подключиться к принтеру по telnet и очистить очередь печати, но каждый раз вводить логин, пароль и команды уж очень не хочется, хочется максимально сократить телодвижения. Вот об этом и пойдет речь в этом посте на примере ftp и telnet сессий.

Для таких целей есть замечательная утилитка, имя которой expect. Работает она просто: ждет приглашения ввода и, когда дожидается, посылает заданную команду.

Ниже приведу два примера для telnet и ftp сессий, с подробными комментариями, так чтож сможет разобраться даже новичек.

telnet сессия:
#!/usr/bin/expect -f

# $remote_server - сервер, к которому осуществляется доступ
# $my_user_id - имя пользователя на сервере
# $my_password - пароль пользователя на сервере
# $my_command - команда, которая будет запущена на сервере

# Отключаем вывод, чтобы не мешался
log_user 0
# Открываем telnet сессию на удаленном сервере
spawn telnet $remote_server
# Дожидаемся запроса имени пользователя и посылаем имя пользователя
expect "Username :" {send "$my_user_id\r"}
# Дожидаемся запроса пароля и посылаем его
expect "Password :" {send "$my_password\r"}
# Дожидаемся приглашения ввода командного интерпретатора и посылаем нашу команду
expect "{Administrator}=>" {send "$my_command\r"}
# Включаем вывод, нам же нужен результат работы нашей команды :)
log_user 1
# Завершаем сессию telnet
send "exit\r"
# Ждем символа конца строки (eof)
expect eof


ftp сессия:
#!/usr/bin/expect -f

# remote_server - сервер, к которому осуществляется доступ
# my_user_id - имя пользователя на сервере
# my_password - пароль пользователя на сервере
# my_command - команда, которая будет запущена на сервере

# Отключаем вывод, чтобы не мешался
log_user 0
# Открываем ftp сессию на удаленном сервере
spawn ftp $remote_server
# Дожидаемся запроса имени пользователя и посылаем имя пользователя
expect "username:" {send "$my_user_id\r"}
# Дожидаемся запроса пароля и посылаем его
expect "password:" {send "$my_password\r"}
# Ждем приглашения ввода ftp и переключаемся в бинарный режим
expect "ftp>" {send "bin\r"}
# Дожидаемся следующего приглашения ввода ftp и посылаем нашу команду
expect "ftp>" {send "$my_command\r"}
# Включаем вывод, нам же нужен результат работы нашей команды :)
log_user 1
# Завершаем сессию ftp
send "bye\r"
# Ждем символа конца строки (eof)
expect eof



На этом все :)
Надеюсь этот небольшой пост поможет не раз сэкономить тебе время, силы и нервы :)



UPD: Павел, спасибо тебе, за найденный "баг" в оформлении :)
[]

среда, 13 мая 2009 г.

Bash: Добавляем дату и время в историю команд (history)

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

Отредактируйте ~/.bashrc добавив внизу такую строку:
export HISTTIMEFORMAT="%t%d.%m.%y %H:%M:%S%t"
и выполните команду (команда начинается с точки, за которой идет пробел)
. ~/.bashrc

Теперь вместо
$ history | awk '/history/'
1897 history | awk '/aptsearc/'
1898 history | awk '/aptsearch/'
1899 history | awk '/history/'
будет такой вывод
$ history | awk '/history/'
1897 13.05.09 13:20:11 history | awk '/aptsearc/'
1898 13.05.09 13:20:15 history | awk '/aptsearch/'
1899 13.05.09 13:20:34 history | awk '/history/'

Удобно? Для меня ДА :)



ЗЫЖ-1 Подсмотрено на http://guruadmin.ru/.
ЗЫЖ-2 Если кто захочет сделать свой формат даты-времени, то читаем тут.

вторник, 12 мая 2009 г.

Маленький однострочник на баше для получения погоды в консольку. Вариант 2.

Немного упростил и улучшил "Маленький однострочник на баше для получения погоды в консольку", о котором рассказывал в предыдущем посте (спасибо FrBrGeorge за напоминание про lynx :) )

Фарш получился такой:
lynx -nolist -dump http://wap.gismeteo.ru/wap2/towns/26702.wap2 | sed -e '1d' | sed -n '1,32p;32q'
Чтобы выводились нормальные русские буквы надо поставить пакеты lynx-cur и lynx-cur-wrapper.

пятница, 8 мая 2009 г.

Отключить DEP в Windows Vista

Сегодня принесли ноут в Windows Vista на борту. Там не работали hta-файлы, что критично, т.к. человеку они нужны для работы с корпоративной программой.

В этом посте я расскажу как я это поборол и как отключить DEP из командной строки.


Запустил этот hta файлик, открывается окошко и сразу появляется сообщение "Microsoft(R) HTML приложение не работает" и кнопка "Закрыть программу". В трее появляется значек и всплыла подсказка, не читая тыкнул ее, открылась справка, в которой рассказывалось, что такое DEP и т.д. Не долго думая полез в "Свойства системы", чтобы отрубить этот поганый DEP, но тут меня ждал облом. Некоторые апплеты панели управления, такие как Система, Учетные записи пользователей, Родительский контроль не открываются, что очень странно. Просто кликаю дважды и ничего не происходит. Другие открываются нормально. Вирусов на машине нет, прогнал аж четырьмя антивирями, к тому же там стоит антивирь.
Думаю: "Ну и фиг с тобой". И полез в безопасный режим. Тут меня тоже ждал облом, все точно так же как в обычном, нормальном режиме.
Загрузился обратно в номарльный режим. Минут 5 смотрел в монитор, потом думаю: "Какого черта я админю винду мышой? В лине я ведь все в консольке любимой делаю." Да, да, знаю, что в винде командная строка отстой (как и сама винда, имхо). Но почему бы не попробовать? И попробовал :)

А делается это очень просто:
bcdedit.exe /set {current} nx AlwaysOff
После ребута hta-файлы сразу заработали :)

Правда те апплеты панели управления так и не заработали, но и фиг с ними, меньше вероятности, что этот злобный дядька, который ноут принес, убьет свою висту :)


четверг, 7 мая 2009 г.

Маленький однострочник на баше для получения погоды в консольку (на 3 дня)



wget -q -O - http://wap.gismeteo.ru/26702.wml |\
sed -e '/^<br\/>.*\|<\/\?p>\|<a href.*\|(c).*\|.*wapstart.ru.*\|.*wml.*\|.*?xml.*\|<\/card>/d;s/^.*title="\(.*\)">/\1\n\n/;s/<br\/>//g;s/<img src=.*alt="\(.*\)"\/> <b>\(.*\) .*<\/b>/\1 - \2/g'
Описание:

Чтобы получить погоду на свой город, идем по линку http://wap.gismeteo.ru/, жмем линк "Другие города", дальше находим свой город и смотрим его адрес, для Калининграда это http://wap.gismeteo.ru/wap2/towns/26702.wap2, вот тут нам нужно число, которое стоит перед ".wap2". Запоминаем его и вписываем в скрипт перед ".wml". Все :)


ЗЫЖ-1 Кстати, мой скрипт выводит инфу не на 3 дня, а на 9 кварталов (квартал = 6 часов, т.е. утро, день, вечер, ночь). Ошибся когда писал пост. Просто чтобы получить прогноз на 3 дня, надо еще одну страницу парсить, чего я не стал просто делать.

ЗЫЖ-2 Благодаря блогу Unix way из поста Погода в консоли узнал про хорошую утилитку weatherget написанную на питоне. Погоду она утягивает с http://xoap.weather.com/.
Пример использования:
weatherget -s RSXX0058 -m -e 3
В консольке будет погодка на 3 дня для Калининграда.



UPD: Есть обновочка :)