понедельник, 26 ноября 2007 г.

Найдена критическая уязвимость всех версий Windows

Я просто не мог пройти мимо. Вот выдержка из текста новости CNews: «Теоретически, один человек мог взять под контроль ПК по всему миру - украсть данные, пароли, управлять интернет-траффиком, распространять спам или вирусы. Уязвимость демонстрировалась Бо Батлером (Beau Butler) на конференции по ИБ Kiwicon в Новой Зеландии на прошлой неделе...»
Только подозреваю что нашли «не баг, а фичу» - универсальный черный ход для САМИЗНАЕТЕКОГО. Подозрение особенно сильно после августовских событий с несанкционированным обновлением Windows. После признания этого факта потом Microsoft отмазывалась тем, что в скрытых обновлениях Windows виновата Live OneCare. Но чуть ранее пела совсем другое, что-то про обновления для самой Windows Update, без которых эта служба не могла жить. И уж совсем весело, если узнать что данный баг/фича не затрагивает компьютеры в далекой Северной Америке (попросту говоря в США).

воскресенье, 25 ноября 2007 г.

Сброс буфера системных сообщений FreeBSD

Сбросить буфер системных сообщений (вывод команды dmesg) можно с помощью sysctl:
# sysctl kern.msgbuf_clear=0

пятница, 23 ноября 2007 г.

Подгонка всплывающего окна под размер изображения

Как подогнать размер всплывающих окон браузеров под размер показываемого изображения? Сегодня задался именно таким вопросом и наклепал работающий в Mozilla Firefox и в Internet Explorer скрипт.

Я бы хотел отметить один нюанс, который нужно учесть для работоспособности скрипта в Internet Explorer. Если задать DOCTYPE отличный от "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN>" то document.body.ClientHeight возвращает размер изображения вместо размера окна браузера, в результате высота окна не меняется. Функции img_popup() передается URL изображения.

function img_popup (image_path) {
var ph = window.open("", "popup_img", "location=0,toolbar=0,resize=0,status=0,scrollbars=0");
ph.document.write('<'+'!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"'+'>');
ph.document.write('<'+'html'+'>');
ph.document.write('<'+'head'+'><'+'title'+'><'+'/title'+'>');
ph.document.write('<'+'style type="text/css"'+'>body { text-align: center; margin: 0px; padding: 0px; }<'+'/style'+'>');
ph.document.write('<'+'script language="javascript" type="text/javascript"'+'>');
ph.document.write('window.onload = function ()');
ph.document.write('{ var a_img = document.getElementById("auto_img");');
ph.document.write('var NS = (navigator.appName == "Netscape") ? true : false;');
ph.document.write(
'if (a_img && NS) '
+'{ window.resizeTo(a_img.width + window.outerWidth - window.innerWidth, '
+'a_img.height + window.outerHeight - window.innerHeight); }'
);
ph.document.write(
'else { '
+ 'var x_ = a_img.width - document.body.clientWidth;'
+ 'var y_ = a_img.height - document.body.clientHeight;'
+ 'window.resizeBy(x_, y_);'
+ '}}'
);
ph.document.write('<'+'/script'+'><'+'/head'+'>');
ph.document.write(
'<'+'body'+'><'+'img id="auto_img" '
+'src=' + image_path + '" '
+'border="0" align="center" /'+'><'+'/body'+'><'+'/html'+'>'
);
ph.document.close();
}

Ссылки пишутся примерно так:
<a href="/path/to/big_image.jpg" onClick="img_popup('/path/to/big_image.jpg'); return false;"><img src="/path/to/thumbnail.jpg" border="0"/></a>

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

sftp

Раньше для закачивания файлов на сервер изощрялся как мог: ftp на сервере поднимал; на веб-сервере каком-нибудь выкладывал, чтоб потом оттуда скачать. Про SFTP (secured file transfer protocol) я конечно знал, но по необъяснимой мне причине ниразу им не пользовался.
Сегодня таки вспомнил о нем и решил попробовать. Оказалось что им просто пользоваться - почти как FTP. Ничего дополнительно на сервер ставить не нужно, т.к. он работает через SSH-сервер системы.

Синтаксис запуска: $ sftp -h
usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config]
[-o ssh_option] [-P sftp_server_path] [-R num_requests]
[-S program] [-s subsystem | sftp_server] host
sftp [[user@]host[:file [file]]]
sftp [[user@]host[:dir[/]]]
sftp -b batchfile [user@]host

Команды sftp:
sftp> ls - смотреть список файлов на удаленном сервере.
sftp> lls - смотреть локальный список файлов.
sftp> lcd - изменить текущий локальный каталог.
sftp> cd - изменить текущий каталог на удаленном сервере.
sftp> put - положить файл на удаленный сервер.
sftp> get - скачать файл с удаленного сервера.
sftp> help - помощь по командам.

Из Windows доступ к серверу по
sftp можно получить посредством программы EngInSite DataFreeway.

понедельник, 12 ноября 2007 г.

Копирование писем в Exim.

Перейдите в секцию ROUTERS файла конфигурации /usr/local/etc/exim/configure и перед роутером dnslookup добавьте:
archive_all:
driver = accept
transport = tr_archive_all
unseen

В секции TRANSPORTS добавьте:
tr_archive_all:
driver = appendfile
maildir_format
mode = 0660
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true
directory = /var/mail/archive@domain.com

Перезагрузите Exim. Теперь вся входящая и исходящая почта будет сохраняться в директории
/var/mail/archive@domain.com.

пятница, 2 ноября 2007 г.

ASUS GigaX 1024P

На работе купили коммутатор ASUS GigaX 1024P (польстились на то, что он по описанию управляемый и в принципе недорогой - 4900 рублей). В итоге нас ожидало несколько сюрпризов:
1. В идущей с коммутатором книжке отсутствовал даже намек на управляемость этого девайса.
2. Путем долгого гугления выяснил что коммутатор управляется неким ПО Centralized Network Managment. На сайте производителя (http://www.asus.com/) сперва не нашел никакого упоминания этого ПО. Потратив час на поиски, таки нашел (причем только под нелюбимую мною платформу Windows) и установил.
3. При попытке соединиться с коммутатором тот запросил пароль, который я естественно не знаю. Гугл тоже не знал. Зато узнал как сбросить пароль, только не решился на такой шаг. Решил для начала попробовать примеры, которые выдает CNM при попытке авторизоваться с пустым паролем (3112, 2379, A123) и, к моему удивлению, один подошел.