книги хакеры / журнал хакер / 127_Optimized
.pdf
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
- |
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
P |
|
|
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|||
|
|
|
C |
|
E |
|
|
|||||
|
|
X |
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
BUY |
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
|
n |
e |
|
|||
|
|
|
|
-x cha |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Реклама
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
||||
w Click |
to |
|
|
|
|
взлом |
|||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
ЛЕОНИД «R0ID» СТРОЙКОВ |
||||
|
|
|
|
|
|
|
|
|
/ R0ID@BK.RU /
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
>> взлом
Программы для хакеров
ПРОГРАММА:PHPREMOTEVIEW ОС:*NIX/WIN
АВТОР:DMITRYBORODIN
Рулимсервером
Вповседневныхбудняхмызачастуюиспользуем веб-шеллы.Оноипонятно—болеепростого средствауправлениясвоим(инетолько)сервером ещенепридумали.Вэтотразяпредлагаютебе рассмотреть—phpRemoteView.Скриптпред- ставляетсобойаналогвеб-шелла,оснащенный explorer-интерфейсомипрекрасноработающий подвиндовымииниксовымисерверами:
1.Просмотр содержимого файлов в виде:
• HTML-файлов (полноэкранный режим)
• Plain-текста (полноэкранный режим)
• Файлов PHP-сессий
• Картинок jpeg/jpg/gif/png
2.Действия в режиме просмотра каталогов:
• Загрузка файла (кнопка в виде стрелки вниз)
• Просмотр панели информации и управления (кнопка в виде стрелки вправо)
• Просмотр файла (клик по самому файлу)
3.Доступные операции в файловой системе:
• Просмотр дерева каталогов
• Удаление каталога, всех его подкаталогов и файлов
• Удаление файлов из каталога (но не подкаталогов и не самого каталога)
• Создание каталога
• Создание нового файла в каталоге
• Аплоад файлов
• Просмотр времени создания и модификации файлов/каталогов
• Предпросмотр бинарных файлов
• Кодирование/декодирование файла Base64
• Редактирование файлов
• Удаление файлов
• Обнуление файлов (сброс размера в 0 байт)
• Обновление файлов (установка текущей даты изменения)
• Уничтожение и удаление файлов (за-
щита от восстановления удаленных файлов)
•Копирование файлов 4. Иные возможности:
•Переключение языка: русский/английский
•Просмотр phpinfo()
•Выполнение любого PHP-кода через функцию eval()
•Выполнение команд в командной строке (shell)
•Кодирование текста в MD5-хэш или по алгоритму Base64
•Áðóò MD5-хэшей (для пассов длиной до 6-7 символов)
•Операции с датой/временем и unix timestamp, использование mktime()
•Конвертация русского текста в транслит и обратно
•Конвертация между кодировками cp1251, koi8-r, etc
Всорцескриптаследуетотредактироватьнесколькопараметров:
•$write_access — можно ли тулзе создавать/удалять/модифицировать файлы. False — только чтение, True — полный доступ
•$phpeval_access — можно ли исполнять php-код через функцию eval(). True — можно, False — нельзя
•$system_access — можно ли выполнять команды на сервере (shell). False — нельзя, True — можно
Крометого, длядоступакскриптуможноустановитьпараметрыавторизации:
•$login — логин (false, если авторизация отключена)
•$pass — пароль
•$host_allow — с каких хостов можно коннектиться к скрипту (по дефолту «*» — доступ с любых хостов)
Утила, каквидишь, вполнеактуальнапосейдень, поэтомуможешьсмелосливатьееснашегоДВД иаплоадитьнадоступныетебесервера.
ПРОГРАММА:TFILE.RUBRUTER/ CHECKER/PARSER
ОС:*NIX/WIN АВТОР:MAILBRUSH
Еслитысторонниксвободногораспространения всевозможногофайловСетиинеможешьпройти
Парсимаккисторрент-трекера
стороноймимоторрент-трекеров, следующий наборутилдлятебя:). Говоряточнее, набортулз предназначендлякрупноготоррент-трекераtfile. ru (администрацииресурсапередаемпривет; как говорится, ничеголичного) ивключаетвсебя:
брутер, чекерипарсераккаунтовсвышеупомянутогопроекта. Сейчасмыподробнорассмотрим всетрискрипта. Итак:
1.TFile.RU Parser — PHP-скриптдляпарсинга никовсфорумаресурса. Передзапускомтебе необходимозадатьнесколькопараметров:
• начальныйиконечныйID юзеровнафоруме;
• названиефайластатистики;
• названиефайладлясохраненияников.
2.TFile.RU Bruter — PHP-скриптдлябрутапассов
каккамнаtfile.ru. Используетранеесобранные никисфорума, совмещенныеспассворд-лис- том, тоестьсписокдлябрутадолженбытьв такомвиде: логин:пароль. Вbad-файлпишутся нерабочиеаккаунты, вgood-файл— аккаунтыс правильнымипаролями.
3.TFile.RU Checker — PHP-скрипт, которыйчека-
етаккаунтыизgood-файланарейтинг, количествослитых/залитыхметровипишетлогввиде: username: upload: X download: X rating: X — либо безимениюзера: upload: X download: X rating: X.
Благодаримmailbrush'азаудобныйифункциональныйкомплектскриптов:).
P.S. Кстати, незабывай, чтополучениедоступа
кчужимаккаунтамкатегорическизапрещенои караетсяповсейстрогостизакона!
ПРОГРАММА:FASTWEBSERVER ОС:WINDOWS2000/XP/2003 АВТОР: KNOKSWILLE
Частенькотребуетсяоперативноподнятьсобст- венныйвеб-сервервкомплектесPHP,муску- ломипрочимжизненнонеобходимымсофтом.
Подобныхкомплектовсейчасхватает.Некоторые изнихявыкладывалвпрошлыхвыпускахХ-Тулз, дабытысмогоценитьвсепреимуществаинедостаткикаждогопродукта,начинаяотDenwer'а изаканчиваяTopServer'ом.Сегодняяхочу представитьтебепринципиальноинуюсофтину изсерии«всеводном»—«FastWebServer»от человека,скрывающегосяподникомKnokswille.
Основноеотличиеутилыотаналоговзаключается
070 |
XÀÊÅÐ 07 /127/ 09 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
t |
|
||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
NOW! |
r |
||||||
|
|
|
|
|
BUY |
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
|
w Click |
|
|
|
|
|
|
o |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
df |
|
|
|
|
e |
|
||
|
|
|
|
|
g |
|
|
|
|||
|
|
|
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
вналичииnginx,mod_securityирядаполезных |
||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
фишек.Присборкекомплектабылсделанупорна |
||
|
|
|
|
|
|
|
|
|
стабильностьибезопасность,чеготакнехватало |
||
|
|
|
|
|
|
|
|
|
большинствуаналогичныхпродуктов. Среди |
||
|
|
|
|
|
|
|
|
|
составляющихсофтиныследуетвыделить: |
||
|
|
|
|
|
|
|
|
|
|
|
• Ñîôò: nginx 0.6.35, Apache 2.2.4, |
|
|
|
|
|
|
|
|
|
|
|
PHP 5.2.4, Zend Engine 2.2.0, MySQL |
|
|
|
|
|
|
|
|
|
|
|
5.0.45, phpMyAdmin 2.6.1, Sendmail |
|
|
|
|
|
|
|
|
|
|
|
• Принцип работы: Nginx frontend + |
|
|
|
|
|
|
|
|
|
|
|
Apache backend |
|
|
|
|
|
|
|
|
|
|
|
• Фильтрация GET/POST-запросов |
|
|
|
|
|
|
|
|
|
|
|
• Наличие mod_security (с предуста- |
|
|
|
|
|
|
|
|
|
|
|
новленными основными правилами) |
|
|
|
|
|
|
|
|
|
|
|
• Наличие расширенной защиты от XSS/ |
|
|
|
|
|
|
|
|
|
|
|
SQL-инъекций |
|
|
|
|
|
|
|
|
|
|
|
• Полное логирование событий |
|
|
|
|
|
|
|
|
|
|
|
• Удобная панель управления |
|
|
|
|
|
|
|
|
|
|
|
• Возможность изменения сигнату- |
|
|
|
|
|
|
|
|
|
|
|
ры сервера (по дефолту определяется |
|
|
|
|
|
|
|
|
|
|
|
êàê nginx/0.6.35, Red Hat Enterprise |
|
|
|
|
|
|
|
|
|
|
|
Linux 5.3) |
|
|
|
|
|
|
|
|
|
|
|
• Наличие лицензии GNU/GPL на все |
компоненты
•В пакет входит Visual C++ 2008 Redist (необходим для mod_security)
•Наличие скрипта SQLInfo (необходим для отображения настроек MySQL)
Настроитьсофтинудовольнопросто. Дляэтого:
1. ОткрываемC:\nginx\conf\nginx.conf. Правим:
listen 192.168.94.105:80; #наш IP server_name adsbss 192.168.94.105; #имя нашего сервера
2.ОткрываемC:\nginx\server\usr\local\apache\ conf\httpd.conf. Правим:
RPAFproxy_ips 192.168.94.105
127.0.0.1#ãäå, 192.168.94.105 — íàø IP
3.Заливаемфайлывкореньвеб-каталоганашего сервера:
C:\nginx\server\home\custom\www
Функциональностьпочтовогосервера:
•IMAP и POP3: перенаправление пользователя на IMAP или POP3-бэкенд с использованием внешнего HTTP-сервера аутентификации
•SMTP: проверка юзера с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер
•Методы аутентификации:
1.POP3: USER/PASS, APOP, AUTH LOGIN/ PLAIN/CRAM-MD5;
2.IMAP: LOGIN, AUTH LOGIN/PLAIN/ CRAM-MD5;
3.SMTP: AUTH LOGIN/ PLAIN/CRAM-MD5;
• Поддержка SSL
ФункциональностьHTTP-сервера:
• Работа с виртуальными серверами, оп-
XÀÊÅÐ 07 /127/ 09
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
||||
|
|
- |
|
|
|
|
|
d |
|
|||
|
|
F |
|
|
|
|
|
|
t |
|
||
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
||||
|
>> взломw Click |
|
BUY |
|
|
|||||||
|
to |
|
|
|
|
m |
||||||
|
|
|
|
|
|
|||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
-x cha |
|
|
|
|
ПоднимаемFast Web Server |
|
ределяемыми по IP-адресам/именам |
|
• Поддержка keep-alive и pipelined- |
|
соединений |
|
• Настройка формата ведения логов |
|
• Специальные страницы для отображе- |
Пишемсценарийдляэмуляторасвоихдействий:) |
ния ошибок |
|
• Ограничение доступа по IP либо по |
|
паролю (Basic-аутентификация) |
<?php |
• Наличие методов PUT, DELETE, MKCOL, |
// Данный код необходим для запуска |
COPY è MOVE |
Human Emulatora |
• Ограничение скорости передачи ответов |
require("../../Templates/xedant_ |
• Ограничение числа одновременных |
human_emulator.php"); |
соединений и запросов |
// переходим на страницу регистрации |
• Поддержка SSL |
$browser->navigate("http://www. |
• Распределение нагрузки |
xanga.com/register.aspx"); |
• Отказоустойчивость |
$browser->wait_for(240,1); |
Тулзаимеетполноеправонаместовповседнев- |
// заполняем поля ввода данными |
номарсеналеутил. Еслитебенуженбыстрый |
//логин |
вустановке, простойвуправлении, аглавное |
$input->set_value_by_ |
— безопасныйиотказоустойчивыйвеб-сервер |
number(0,"admygteryrtin1"); |
скомплектомдополнительныхсофтин— ищи |
//пароль |
архивнанашемдиске:). |
$input->set_value_by_ |
|
number(1,"rte34otu2"); |
ПРОГРАММА:HUMANEMULATOR |
// повторим пароль |
ОС:WINDOWSXP/VISTA |
$input->set_value_by_ |
АВТОР: HUMANEMULATOR.INFO |
number(2,"rte34otu2"); |
Прогавоспринимаеттривидасобытий: |
|
|
$input->set_value_by_ |
• Движения мышки |
number(3,"ad456435min1@host.com"); |
• Ввод с клавы |
// вызываем диалог ввода капчи |
• Клики мышки |
$captcha=$app->dlg_captcha_from_ |
|
image_number(1); |
Кактыпонимаешь, сферапримененияутилы |
$input->set_value_by_ |
довольнаширокаиограничиваетсялишьтвоей |
number(4,$captcha); |
фантазией. Дляпримера: |
// устанавливаем дату рождения |
|
// 1 |
• Накрутка счетчиков/автокликинг по |
$listbox->select_num_value_by_ |
ссылкам |
number(1,1); |
• Автоматический сбор данных с веба |
// ìàé |
• Автоматическая регистрация на сайтах |
$listbox->select_num_value_by_ |
• Автопостинг по форумам/блогам/ново- |
number(0,5); |
стным лентам |
// 1980 |
|
$listbox->select_num_value_by_ |
Словом, софтинаобеспечиваетполнуюэмуляцию |
number(2,51); |
действийюзера, включаядвижениямышьюи |
// устанавливаем чек "я согласен" |
работусклавой. Утилаобладаетрядомособен- |
$checkbox->set_checked_by_ |
ностей, средикоторых: |
number(0,"true"); |
|
// нажимаем на кнопку |
• Корректная работа с AJAX |
$button->click_by_number(0); |
• Корректная работа в защищенных об- |
$browser->wait_for(240,1); |
ластях сайта |
// выходим |
• Задание различных параметров брау- |
|
зера (размер окна, etc) |
$app->quit(); |
• Эмуляция движений/кликов мышкой |
?> |
• Эмуляция нажатий клавиш с клавы |
|
|
Длябесперебойнойработысофтиныпотребу- |
ПринципработытулзыоснованнаPHP-сцена- |
етсянеменее256 метровоперативы, 50 метров |
риях, вкоторыхнеобходимоописыватьдействия |
свободногоместанавинтеиWin XP/Vista, атакже |
приложения. Дляпримераприведускриптрегис- |
установленныйPHP ипрямыеруки:). |
трациинапорталеhttp://xanga.com, написанный |
P.S. Утилаплатная, новедьзахорошийсофт |
создателямипродукта: |
заплатитьнежалко, правда? :). z |
|
071 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
||||
w Click |
to |
|
|
|
|
сцена |
|||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Джоэл— частыйгостьна различныхIT-конферен- циях
Внутриофисавсеобустроеноповысшемуклассу
ВходвНью-Йоркский офисFog Creek Software
072 |
XÀÊÅÐ 07 /127/ 09 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
>>
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
сценаw |
|
|
to |
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ДЖОЭЛ ИПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
История ДжоэляСпольски— программистаиписателя
Сегодняярасскажутебеобоченьинтересномчеловеке, которыйвсвои44 годауспелмногое. ЕгозовутДжоэлСпольски, ионнетолькослужилвизраильскойармиииработалвMicrosoft, ноисоздалсобственнуюIT-компанию, вложивнеедушу, написалнесколькокниг, вчислекоторыхимеютсябестселлеры, апотомивовсеувлексяweb 2.0 стартапами.
Высокиетехнологиивходятвнашужизнь |
пробелы. Нашсегодняшнийгеройнетолько |
прожилдо15 лет. Стоитсказать, чтоотецДжоэля |
семимильнымишагами.Знаменитыйкритерий |
интересныйчеловек, ноинеплохойменеджер, |
— новозеландец, и, благодаряэтому, нашгерой |
Дозуа: «High tech. Low life» («Высокиетехноло- |
ипустьтебянесмущает, чтоегоимянеявляется |
теперьимеетдвойноегражданствоивозмож- |
гии. Низкийуровеньжизни») пересталбытьлишь |
нарицательнымизнакомымкаждомушкольнику. |
ностьсвободно, влюбоевремя, посещатьродину |
фразой, емкоописывающейжанркиберпанк. Он |
ПредставляютебеДжоэляСпольски— разра- |
смешныхптичеккиви. Впрочем, мыотвлеклись. |
ужевполнеспособенпретендоватьназвание |
ботчикаПО, экс-сотрудникаMicrosoft, автора |
КогдаДжоэлюисполнилось15, всесемейство |
правдоподобнойхарактеристикинашихреалий. рядакниг, болеечемтысячистатейипопулярного |
Спольскиперебралосьнапостоянноеместожи- |
|
Притакомположениивещейсовсемнеудиви- |
блога«Joel on Software», атакжеуспешного |
тельствавИзраиль, аеслиточнее— вИерусалим. |
тельно, чтоличностей, имеющихтоилииное |
предпринимателяиоснователянескольких |
Школунашгеройзаканчивалнановомместе, и |
отношениексфереIT, скаждымднемстановится |
стартапов. |
ужетогдабылсерьезноувлеченкомпьютерами. |
всебольше. Ипустьвсемнамхорошознакомы |
ИЗАЛЬБУКЕРКЕВКИБУЦУ |
Поегособственномупризнанию, программи- |
именатакихIT-знаменитостейипервопроходцев |
роватьонначалещедопереезда, находясьв |
|
какСтивенДжобс, РичардСтоллманилидядюш- |
Исходяизперечисленныхзаслуг, ужеможно |
Альбукерке. Плюс, умистераСпольски, очевидно, |
каБиллиГейтс(кудаужбезнего), мынезнаемни |
понять, чтомистерСпольски— личностьвесьма |
оченьхорошаяпамятьнадатыицифры, так |
влицо, нипоименимногихдругихталантливых |
многограннаяинепривыкидтипонакатанной |
каконуточняет, чтонадворебыл1978 годиего |
специалистов. |
колее. Забегаявперед, скажу, чтоэтовпечат- |
первоймашинойсталIBM-360, стоявшийв |
Засценойсегоднягораздосложнееследить— в |
лениесовершенноверно— егосудьбу, всамом |
вычислительномцентреУниверситетаНью-Мек- |
последние5-10 летонасильноразрослась, |
деле, трудноназвать«обыкновенной» или |
сико. Замечу, чтоэтосегоднялюбой15-летний |
конкуренция, всвоюочередь, тожесталагораздо |
«ничемнепримечательной». |
мальчишкаувлеченкомпамиивних, какмини- |
жестче, адалеконевсеталантливыеспециа- |
Нокакимбычеловекнибылособенным, начало |
мум, неплохоразбирается, автовремяинтерес |
листыещеихорошиеменеджеры. Имзачастую |
жизненногопути, какправило, сводитсяксухим |
Джоэляможнобылоназватьэкзотическим. |
неудаетсяудачно«продатьсебя» илисвои |
строчкам, похожимнаанкетныеданные— |
Впрочем, думатьовысокихтехнологияхбыло |
разработки. Многиетакиостаютсяличностями |
«родился, учился». Сэтимврядлиможночто-то |
несколькопреждевременно. Деловтом, чтов |
«широкоизвестнымивузкихкругах». |
поделать, такчтонебудемимипренебрегать— |
Израилевоеннообязаннымиявляютсядаже |
Норубрика, вчислепрочего, былапридумана |
ДжоэлСпольскиродился1965 году, вгородеАль- |
девушки, неговоряужеопарнях. Такчтопосле |
именнодлятого, чтобыликвидироватьэти |
букерке, штатНью-Мексико, гдеблагополучно |
окончанияшколыДжоэлотправилсявовсене |
XÀÊÅÐ 07 /127/ 09 |
073 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
||||
w Click |
to |
|
|
|
|
сцена |
|||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
САЙТSTACK OVERFLOW. НАЙ- |
САЙТSERVER FAULT, — |
ДИ10 ОТЛИЧИЙССОСЕДНИМ |
ПРАКТИЧЕСКИКЛОНSTACK |
СКРИНШОТОМ:) |
OVERFLOW |
грызтьгранитнауки, ачестноотдаватьдолг названномуотечеству.
Онотслужилвпарашютно-десантныхвойсках двагода, правда, споправкойнаспециальнуюпрограммуNachal. Благодаряпоследней, большуючастьслужбыСпольскипровел, отнюдь немаршируяпоплацувуниформесавтоматом наперевес, авкалываянахлебозаводеOranim. Тоесть, программафактическизаменяласлужбу неменееполезнойработойвкибуце— сельскохозяйственнойкоммуне. Впрочем, оттакой заменыпребываниеСпольскивармиинестало болеерадужным. Полученноепоокончании службызваниесержантаондосихпорназывает «абсурдом» иослужбевспоминает, восновном, в негативномключе. «Ясовершеннонеспособенподчинятьсядисциплине, ужасенвлюбых вопросах, касающихсяфизическойподготовки, иненавижукаждуюминуту, которуюпровелв армии», — пишетонвсвоемблоге.
ЧЕЛОВЕК,КОТОРЫЙ УВОЛИЛСЯИЗMICROSOFT
Нетничегостранного, что, освободившисьот военныхобязанностей, Джоэлнавсехпарах помчалсяобратновШтаты, получатьобразование(видимо, стремясь, заодно, убраться подальшеотвсехэтиххлебозаводовикоммун). Итаккакприпоступленииречьшлауженеофиз. подготовке, аонежнолюбимыхкомпьютерах
имозговойдеятельности, всесложилоськак нельзялучше. Спольскибезпроблемпоступилв университетПенсильвании, гдеотучилсягод, а послеперевелсяводинизпрестижнейшихвузов планеты— Йельскийуниверситет. Именноего-то Джоэлиокончилсотличиемв1991 году, получив желаннуюстепеньбакалавравобластивычислительнойтехники.
Адальше, какэтоибываетсовсемивыпускниками, начиналасьвзросло-самостоятельнаяжизнь. Пришлапоразадуматьсяокарьере. ВэтомвопросеДжоэлюСпольски, можносказать, повезло
— послеокончанияуниверситетапервымместом егоработыстала, нимного, нимало, компания Microsoft. Конечно, «мелкомягкие» ещенебыли темВеликимиУжаснымMicrosoft, коимявляются сейчас, но, всеже, вMS работалопорядкапяти тысяччеловек, ужевышлавсветWindows 3.1 и 3.0, придумалиисобралиMicrosoft Office, инеза горамибылрелиз95-ой. Джоэлзанялвмолодом
истремительноразвивающемсяMicrosoft далеко непоследнююдолжность— онсталруководите-
лемпроекта, возглавивкоманду, работавшую надExcel. Спольскирассказывает, чтоотвечал за«программируемость», планомернозаменяя ранееиспользовавшийсяязыкExcel macro (XLMs) наExcel Basic, которыйсоздавалсяна основеVisual Basic. ВпоследствииязыкпереименоваливVisual Basic дляприложений. Ивсебыничего, Джоэлдействительноочень хотелделатькарьеруидерзать, аMicrosoft быладляэтогоотличнымплацдармом, только вотпривсемпритом… Спольскиещехотелось
иметьхотькакую-тожизньвнеработы. Например, личную. Так, разнообразияради. Преследуятакие, вобщем-то, нехитрыецели, онперебралсяв Нью-Йорк, гдечестнопопыталсяработатьвконсультационномцентреMicrosoft. Джоэляхватило минутнадесять, послечегоонвужасеуволился изкомпании, решив, чтоэтоявнонедлянего. Чтоподелать, невсемпуть«отсамыхнизов» или возложениелучшихлетжизнинаалтарькарьеры кажутсяперспективным, заманчивымиинтереснымделом. ИдажеизMicrosoft, когдатотпребывалвсамомзените, тожесбегали. Суммарно Спольскипроработална«мелкомягких» 4 года, уволившисьв1995. Следующиедесятьнедель Джоэлпровел, колесяпоШтатамнавелосипеде иразмышляя, кудабыподаться. Врезультате, уезжатькуда-либоизНью-Йоркаоннепожелал, хотятамвыборвакансийдляIT-шника, конечно, гораздобеднее, чемвтойжеКремниевойдолине. ПослеMicrosoft Спольскидовелосьпоработать ещевдвухконторах, недотягивающихдоуровня софтверногогигантадажепримерно— вViacom Interactive ServicesиJuno Online Services. Первые являютсяогромныммедийнымхолдингом,
чьеназваниерасшифровываетсякакVideo & Audio Communications. Импринадлежат, например, студииParamount иDreamWorks,
атакженесколькосотентелеканалов, вчисло которыхвходитMTV. Именнопоследним-тои занималсянановойработеСпольски. Нет, не самимканалом, конечно, асозданиемдлянего сервераприложений. НановойдолжностиДжоэл задержалсяещенадвагода, послечегоперешел кJuno Online Services — крупномуамериканскому провайдеру.
Ноктомумоментусталоясно, что«работатьна дядю» уСпольскиполучаетсяоткровенноплохо, дажееслиречьидетодружномколлективе, в которомвсевтойилиинойстепенипроникнуты идеямикомпании. Немалуюрольсыгралоито, чтомысльосноватьсобственнуюкомпаниюза-
ОДИНИЗБЕСТСЕЛЛЕРОВСПОЛЬСКИ— «ДЖОЭЛОПРОГРАММИРОВАНИИ»
селауДжоэлявголовеужеоченьдавноиплотно. Длявоплощенияидеивжизньонокончательно созрел, лишьсменивнесколькоместработы, набравшисьнемалогоопытаиобзаведясьсвязями иединомышленниками.
СВОЙЛУНА-ПАРК
Как-тоуДжоэляСпольскиспросиливинтер- вью, чтобыонпосоветовалтем, ктособирается начинатьсвоедело(речь, конечноже, шлаоб IT-сфере). Джоэлпошутил, сказав: «Одумайтесьи неделайтеэтого!», нопотомвсежеответилсерьезно. Иглавнойрекомендациейбыло: «Найдите себехотябыодногосооснователя, алучшедвоихтроих, потомучтовамдействительнопонадобятсяпартнерыиединомышленники».
КогдасамСпольскирешилсяосноватьсвою фирмуиуволилсяизJuno, надворестоял2000-й год. Партнеромпобизнесудлянашегогероястал егодруг— МайклПраойр. СнимДжоэлпознакомилсянапоследнемместеработы, всевтомже
Juno Online Services. Майкл— тожеспециалист вобластивычислительнойтехникисдипломом Дартмутскогоколледжаитожеимеетопределеннуютягукписательству, например, некоторое времяонвелсобственнуюколонкувжурнале
Make Magazine.
СпартнеромСпольскинепрогадал. Когдас моментастартаобщегоделапрошло6 лет, Прайорнаписалусебянасайте: «Мывбизнесе ужецелых6 лет, ияснетерпениемждуследующихшести». Какпоказаловремя, слованаветер Майклбросатьнесклонен— онипосейдень работаетвFog Creek Software. Да, именнотакое названиев2000 годуполучилоихначинание. Чтолюбопытно,никакихконкретныхзадумокили наработокуначинающихстартаперовнебыло. Имелосьразвечтобольшоежелание«построить свойЛуна-парк»,тоесть—создатьтакуюсофтвер- нуюкомпанию,вкоторойдействительнохотелось быработать,своегородаидеалиэталон.Иэтот
074 |
XÀÊÅÐ 07 /127/ 09 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
>>
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
сценаw |
|
|
to |
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
СОТРУДНИКИВFOG CREEK НЕ УЮТНЫЙБЛОЖЕКМИСТЕРА СКУЧАЮТ СПОЛЬСКИ
идеалонипредставлялисебеоченьхорошо, вплотьдосамыхмелкихподробностей(достаточнопочитатьвблогеСпольскиотом,сколько вниманияуделялосьпроектированиюофисаи его«начинке»).Сейчас,спустядевятьлетсмоментаоснованиякомпании,можносказать,что почтивсезадуманноеунихполучилось.Джоэл, например,любитпохвастатьсявинтервьюили усебявблогецифрамистатистики,которыена определенныймоментвременигласили,что
изFogCreekSoftwareвотуже6летнеувольнялось ниодногосотрудника.Совсемнеудивительнодля компании,наофициальномсайтекоторойкрасуетсясхема:«ЛучшиерабочиеусловияÆЛучшие программистыÆЛучшееПОÆProfit!».
«ТУМАННАЯГАВАНЬ»
ЧемжеименнозанимаетсяFog Creek Software? Этонебольшойштатталантливыхпрогеров, чья работаполностьюсосредоточиласьвокругсозданияинструментовдляпланированияпроектов, хотяисходнофирманачиналасконсалтинговой деятельности. Но«завязать» сконсультациями Fog Creek пришлосьдовольнобыстро. Такуж совпало, чтовначале2000 годалопнулпузырь доткомов, утянувнадноогромноеколичествоITкомпанийиподорвавдовериектакимпроектам вообще. Впоследствииспроснаконсалтинговые услугивэтойобластитожерезкопошелнаспад. Тогдакомпанияипереориентироваласьна созданиеипродажусофта, притомбезкакоголибоущербадлясебя. Ужев2001 годуFog Creek выпустилавсветсразудвесофтины— FogBugz и CityDesk. FogBugz изначальнобылпрограммой длявнутреннегопользования, нонаступили тяжелыевремена, консультациямпришелконец, ионпревратилсявПродукт. Современемиз обыкновеннойбаг-трекалкиFogBugz эволюционировалвполноценнуюсистемууправленияпроектами. CityDesk, всвоюочередь, был
CMS-кой(content management system, система управленияконтентом, илиже«конструктор сайтов»). ВотличиеотFogBugz, онстреском провалился, пустьинесразу. НадCityDesk продолжалиработатьвплотьдо2003 года, нопотом всежеоставилипопыткиреанимировать, посути, мертворожденнуюпрогу. Проблемазаключаласьвналичиинарынкеболееинтересныхи продуманныхконкурентскихпрограмм— взять хотябытуJoomla, которая, ктомуже, совершенно бесплатна.
XÀÊÅÐ 07 /127/ 09
ВFOG CREEK МОЖНОВСТРЕТИТЬДАЖЕБЕТМАНА!
ПозжеуFog Creek появилсяитретийпродукт— Fog Creek Copilot: удаленнаяадминистрилкав помощьспецамтехническойподдержкиииже сними. Новотнанем-тосписокпродукцииFog Creek изаканчивается. Этитрисофтины— все, чтобыловыпущеноСпольскиисотоварищами запрошедшиегоды, ивсе, чемониторгуют.
Какнипарадоксально, компанияприэтомне обанкротиласьипродолжаетуспешноработать(в основном, получаяденьгисобновленияверсий имеющегосяПО).
ДРУГИЕИПОСТАСИ ДЖОЭЛЯСПОЛЬСКИ
ПустьпокоритьрынокпрограммногообеспеченияуFog Creek невышло, ДжоэлСпольски несильнорасстроилсяпоэтомуповоду. Создав компанию, котораянехватаетзвездснеба, но вкоторойемуиегосотрудникамхорошоикомфортноработается, он, похоже, вполнеудовлетворилсядостигнутым. Ктомуже, одновременно соткрытиемсобственнойфирмыДжоэлдал зеленыйсветиещеодномуначинанию— в2000 годуонзавелличныйблог, найтикоторыйможно поадресуhttp://www.joelonsoftware.com.
Каквыяснилось, умистераСпольскиесть, чтоповедатьлюдям, ионоченьлюбитписать: часто, со вкусоминеограничиваясебяобъемамиирамками. ВблогеДжоэлрассказываетосамыхразных вещах, начинаяотстатей, целикомиполностью посвященныхразличнымсторонампрограммированияизаканчиваясоветами, каклучшевести себявовремясобеседованияприприемена работу. Управлениюперсоналом, менеджментуи другим«социальным» аспектамведениябизнеса здесьвообщеуделяетсянемаловнимания— это однаизизлюбленныхтемнашегогероя.
Витоге, ресурсJoel on Software набралогромную популярностьнетольковпрограммерскихи IT-шныхкругах— своимлегкимстилемиюмором Спольскисумелпривлечьинестольискушенных читателей. Одното, чтоегостатьипереведены
добровольцамина42 языка(ВеликийиМогучий тамтожеимеется), ужеговоритсамозасебя.
ИхотяДжоэлвоткрытуюникогданеназывалза- пускблогаPR-ходом, егопопулярность, конечно, немогланесказатьсянарепутацииифинансовыхпоказателяхFog Creek Software. Широкая публикаузналаомаленькойкомпаниисуникальнымиусловиямиработывомногомблагодаря именноэтомублогуиталантумистераСпольски красивоияркоизлагать. Однимтольковедением блоганашгеройнеограничился. Натекущий моментоннаписалужепятькниг, втомчислеипо мотивамсвоихсетевыхпубликаций. Некоторые еготруды(вчастности, «Джоэлопрограммировании», «ЛучшиепримерыразработкиПО»и«РуководствоДжоэляСпольскипоподборупрограммистовиуправлениюими») былипереведенына русскийикупитьихнесоставитбольшоготруда. ЛишьпарулетназадДжоэлСпольскирешил отвлечьсяотработынаднемногочисленными проектамиFog Creek иписательства. Видимо, емузахотелосьпопробоватьчто-нибудьновое,
итогданасветпоявилсясайтStackOverflow
(http://www.stackoverflow.com). Краткоэтот ресурсможноохарактеризоватькакпомесьDigg
сWikipedia илюбымсайтомвопросов-и-ответов. Изназваниялегкопонять, накакуюаудиторию ориентированпроект. Совершенноверно— на программистов. Предполагается, что, когдаутебя
вмозгуужепроисходит«переполнениестека», можнозайтисюдаипоискатьрешениепроблемы, илиже, еслиготовогоответаненашлось, задать вопрос. Удобнаясистемаголосованиязавопросы
иответы(аналогичнаяDigg), системарепутации, возможностьправкичужихпостовикомментариев(всеобщее, каквWiki) ивозможность писатьикомментироватьиз-подanonymous’а— делаютStack Overflow оченьполезнымресурсом. Брат-близнецStack Overflow — сайтServer Fault(http://www.serverfault.com) появилсячуть позже, ион, какнетруднодогадаться, охватывает несофтверные, а«железные» проблемы. Что касаетсяпринципаработы, здесьServer Fault совершенноаналогиченStack Overflow. Оба сайтаюзаютOpenID. Покаэтипроектысовершеннобесплатны, нанихнетниконтекстной, ни какой-либодругойрекламы, ниплатныхуслуг. Какдолгоэтопродлится, неизвестно, потому какопределеннуюпопулярностьобасайтауже снискали, идальшеонаявнобудеттолькорасти. ОмонетизациисвоихновыхстартаповДжоэл Спольскипоканеговорилнислова.z
075
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|||
|
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
BUY |
>>m |
|
|
|
|
|
|
|
|
|
||||
|
w |
Click |
to |
|
|
|
|
unixoid |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
||||
|
|
X |
|
|
|
|
|
||||
|
- |
|
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЕВГЕНИЙ ЗОБНИН
/ZOBNIN@GMAIL.COM /
НАПУТИ КСОВЕРШЕНСТВУ
ОбзоринтересныхновшествмираLinux
Linux развиваетсястремительно. Каждыйгодмыстановимсясвидетелямиочередныхвитковэволюцииэтойоперационнойсистемы. Развиваютсядажетечасти, развитиекоторых, казалосьбы, уженетребуется. Совершенствуютсяфайловыесистемы, обновляютсяпланировщикипроцессов, заменяетсясистемафильтрации пакетов. ВэтойстатьемырассмотримнаиболеезначимыеновшестваLinux. Опробоватьихможнобудетужевэтомгоду.
>> unixoid
ОЧЕЛОВЕЧИВАНИЕ ПАКЕТНОГОФИЛЬТРА
СистемафильтрациипакетовядраLinux прошладолгийпутьразвития. Вядреверсии2.0 появиласьперваяреализацияBSD-подобного межсетевогоэкранаipfw изакрепленнаяза нимутилитауправленияipfwadm. Вверсии2.2 ихсменилфайрволipchains. Свыходомветки 2.4 он, всвоюочередь, былвытесненсвязкой netfilter/iptables. Netfilter действительно хорош: онграмотноспроектирован; обладает мощнымивозможностямидляконфигурированиятакихфич, кактрансляциясетевыхадресов, прозрачноепроксирование, перенаправлениетрафика, балансировканагрузки; умеет отслеживатьсостояниесоединений(stateful firewalling). Этопозволяетраспознаватьи блокировать, например, stealth-сканирование; аблагодарядополнительнымплагинамон способенобрабатыватьпакетыпрактически любоготипа. Огорчаеттолькоспособегоконфигурирования, которыйоснованнапередаче
невнятныхаргументовкоманднойстроки утилитеiptables.
Можнодолгоспоритьопреимуществахи недостаткахспособанастройки, предлагаемого iptables, нофактостаетсяфактом: онслишком громоздокиориентированнамашину, анечеловека. Командаразработчиковnetfilter ужене разсмотрелавсторонуальтернативныхсистем конфигурирования, предложенныхпакетным фильтромpf иразличнымиоберткамивокруг iptables (напримерferm, ferm.foo-projects.org).
Переписатьтолькосамуутилитунепредставлялосьвозможным, потомукаконабыла тесносвязанаскодомядра. Patrick McHardy, одинизактивныхразработчиковподсистемы netfilter, взялсязапереработкувсейсистемы фильтрациипакетов. Надосказать, онаибез тогострадалаотдругихнедостатков(необходимостьвперезагрузкевсехправилвовремяих обновления, возможностьзадаватьтолькоодну цельдлякаждогоправила, непродуманныймеханизмрасширений, слишкомплоскаямодель
кода, недопускающаясоздаватьвысокоуровневыеабстракции, противоречивыеспособы сопоставлениясшаблоном).
Врезультатенасветпоявилсяnftables — пакетныйфильтрновогопоколения, состоящийиз трехвзаимосвязанныхчастей:
1.Пакетныйфильтр, работающийвнутриядра.
2.Утилитапользовательскогоуровняnft.
3.Библиотекаlibnl, связывающаякодядраи утилитуnft черезмеханизмnetlink.
Утилитаnft читаетфайлконфигурации(который теперьпохожскореенаскрипт, чемнасписок правил), генерируетнаегоосновепростой компактныйпсевдокодипередаетэтиданные ядру. Кодnftables, работающийвнутриядра, разбираетпсевдокодиприменяетегоправила кпроходящимпоцепочкампакетам.
Дляконфигурированияnft применяетсянастоящийязыкпрограммирования, которыйпозволяетзадаватьусловия, создаватьпеременные, выполнятьматематическиеоперации. Онпрост восвоенииидостаточноразвитдлясоздания
076 |
XÀÊÅÐ 07 /127/ 09 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
||||||||
P |
|
|
|
|
|
NOW! |
o |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
unixoidw |
|
|
to |
|
|
|
|
|
|||
|
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
|
o |
m |
||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из-за отсутствия требований к обратной |
|
|
|
|
совместимости разработчики ext4 смогли |
|
|
|
|
применить самые изощренные техники для |
|
|
|
|
повышения производительности, надеж- |
|
|
|
|
ности и расширяемости файловой системы. |
|
|
|
|
Далее мы рассмотрим все ключевые нов- |
|
ФАЙЛОВАЯСИСТЕМАEXT4 ИТЕСТЫBONNIE++ |
шества ext4, которые позволили ей стать од- |
||
|
ной из самых производительных и богатых |
|||
|
|
|
|
на функциональность файловых систем: |
|
|
|
|
• 48-битная адресация блоков. Размер |
|
|
|
|
файловой системы ext3 ограничен 16 |
|
|
|
|
терабайтами, а размер файла — двумя, |
|
|
|
|
что может быть недостаточно для больших |
|
|
|
|
хранилищ данных и систем потокового ве- |
|
|
|
|
щания мультимедиа. Файловая система ext4 |
|
|
|
|
использует 48-битную адресацию блоков и |
|
ФАЙЛОВАЯСИСТЕМАEXT4 ИТЕСТЫIOZONE |
доводит эти ограничения до фантастичес- |
||
|
ких в наши дни 1 экзабайта (1 Эб = 1048576 |
|||
|
|
|
|
Тб) и 16 Тб соответственно. |
|
|
|
|
• Механизм пространственной записи |
|
сложнейшихправилобработкипакетов. При- |
|
обладающихсовершенноинымсинтакси- |
файлов. Файловая система ext3 исполь- |
|
веденныйавторомпроектакодфильтрации |
|
сомправил, вытекаетизобщейархитектуры |
зует традиционную методику слежения |
|
исходящеготрафикавыглядиттак: |
|
системы. |
за блоками данных файлов, основанную |
|
|
|
ОЧЕРЕДНОЕРАСШИРЕНИЕ |
на карте соответствия. Последняя пред- |
|
Примерконфигурационного |
|
ставляет собой закрепленный за файлом |
|
|
файлаnftables |
|
Для Linux было создано и портировано из |
список адресов блоков файловой системы, |
|
include "ipv4-filter" |
|
других операционок огромное количество |
хранящих информацию этого файла. Во |
|
||||
|
|
|
файловых систем, но только одна из них |
время чтения или записи в файл файловая |
|
chain filter output { |
|
может гордо носить имя официальной — это |
система проходит по карте соответствия в |
|
ct state established,related |
|
файловая система ext3. |
поисках нужного блока. Недостаток: низкая |
|
accept |
|
ФС ext3 — уже третья эволюция стандартной |
эффективность. Карта соответствия боль- |
|
tcp dport 22 accept |
|
файловой системы Linux. До нее была ext2, |
шого файла может содержать от нескольких |
|
counter drop |
|
в основном отличающаяся отсутствием |
десятков до сотен тысяч записей, проход по |
|
} |
|
журнала. Еще раньше была ext, первая |
которым отнимет значительное время. ФС |
|
|
|
файловая система, созданная специаль- |
ext4 использует более современный подход. |
|
|
|
||
|
Аспособинкрементальногодобавления |
|
но для Linux. Однако надолго в ядре она |
Он основан на так называемых экстентах, |
|
правилоченьпохожнато, какэтоделаетсяв |
|
не задержалась (этому способствовали |
которые представляют собой непрерывную |
|
OpenBSD: |
|
многочисленные ограничения, такие как |
последовательность блоков, закрепленных |
|
|
|
максимальный размер в 2 Гб и отсутствие |
за файлом. Там, где ext3 требовалась карта |
|
# nft add rule output tcp dport 22 |
|
поддержки дат модификации файлов). |
соответствия с 10 тысячами элементов, |
|
log accept |
|
Четвертая реинкарнация файловой |
ext4 может хранить информацию о закреп- |
|
|
|
системы ext (июнь 2006) стала следстви- |
ленных за файлом блоках всего лишь в |
|
|
|||
|
Генерируемыйнавыходепсевдокодпрост |
|
ем требований разработчиков — новые |
нескольких экстентах. Благодаря этому ме- |
|
ипрямолинеен. Львинуюдолюработыпо |
|
функции и возможности могли нарушить |
ханизму ext4 стала более производительной |
|
проверкеправилвозложилинакомпилятор |
|
обратную совместимость или сделать |
и менее подверженной фрагментации. |
|
nft. Этопозволилосущественносократитькод |
|
файловую систему нестабильной и слишком |
• Многоблочноераспределение. Перед |
|
фильтрации, работающийвнутриядра. Теперь |
|
сложной для поддержки. Спустя 5 месяцев |
записью данных на диск файловая система |
|
онвыполняеттолькобазовыйнабордействий, |
|
предварительная версия ext4 появляется в |
должна найти нужное количество свободных |
|
такихкакразборпакетов, сравнениеданных |
|
ядре Linux 2.6.19, помеченная как «экспе- |
блоков для размещения данных. ФС ext3 |
|
ит.д. |
|
риментальная разработка». Допиливание |
использует для этого технику поблочного |
|
Вотличиеотiptables, утилитаnft нетактесно |
|
файловой системы продолжалось больше |
распределения, когда за один проход может |
|
связанасядромипредставляетсобойвсего |
|
года, и только с выходом ядра версии 2.6.28 |
быть найден только один свободный блок. |
|
лишьфронтенддлягенерациипсевдокодаили |
|
(25 декабря) ext4 становится стабильной |
Эта особенность делает ext3 более медлен- |
|
инкрементальногодобавленияновыхправил. |
|
и рекомендованной для повсеместного |
ной в сравнении с другими современными |
|
Возможностьсозданияновыхфронтендов, |
|
тестирования. |
файловыми системами. ФС ext4 хранит не |
XÀÊÅÐ 07 /127/ 09 |
077 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|||
|
|
|
|
|
BUY |
>>m |
|
|
|
|
|
||||
w |
Click |
to |
|
|
|
|
unixoid |
|
|
|
|
||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ПРОИЗВОДИТЕЛЬНОСТЬTOMOYO LINUX
только информацию о количестве и адресах свободных блоков, но и данные об их непрерывных областях, которые обрабатываются за один проход. Это позволяет сократить время распределения блоков для новых данных и снизить уровень фрагментированности ФС.
•Отложенное распределение. В отличие от ext3, которая распределяет блоки под новые данные сразу, ext4 откладывает эту операцию насколько это возможно. Например, если приложение делает системный вызов write(), чтобы дописать данные к существующему файлу, выделение блоков для этой операции в ext4 будет отложено до момента фактической записи на диск. Та может произойти либо после вызова sync(), либо в момент записи кэша на диск. В совокупности с многоблочным распределением новый подход дает существенный прирост производительности.
•Предварительное распределение. Существует целый класс приложений, которым необходимо заранее выделять дисковое пространство под файлы. Это различные системы бэкапа, клиенты p2p-сетей и любые программы, от которых требуется стабильная и устойчивая работа. Еще совсем недавно для выполнения этой операции приложениям приходилось самостоятельно создавать пустые файлы, заполненные нулями. Затем разработчики ввели функцию libc posix_fallocate(), которая, по сути, занималась тем же самым.
И только в последних версиях файловой системы ext3 и новой ext4 появилась возможность заранее распределить дисковое пространство на уровне файловой системы. Это позволило поднять скорость выполнения операции и снизить фрагментацию за счет однократного непрерывного выделения блоков.
•Больший размер inode. Размер inode увеличен со 128 до 256
байт, и появилась возможность увеличить точность временных меток (время создания и модификации файлов) до наносекунды и вместить в inode несколько расширенных атрибутов. Последнее означает, что доступ к атрибутам ACL, SELinux, Samba и другим теперь может происходить до 3-7 раз быстрее.
•Резервирование inode. При создании каталогов файловая система заранее выделяет несколько inode, за которыми в будущем могут быть закреплены вновь созданные файлы. Такая техника увеличивает скорость создания файлов за счет экономии времени на выделение для них inode.
•Группы неиспользуемых inode. Файловая система ext4 хранит информацию о неиспользуемых inode, что позволяет утилите fsck обойти эти индексные дескрипторы стороной во время проверки файловой системы. Выигрыш в скорости проверки может составить от 2 до 20 раз, в зависимости от заполненности файловой системы.
•Контрольные суммы журнала. ФС ext4 хранит контрольные суммы для каждой журнальной транзакции. Это делает файловую систему более надежной в сравнении с ext3, ошибка в журнале которой может привести к последующей порче данных во время проверки файловой системы.
•Онлайн-дефрагментация. В будущем планируется реализовать возможность «самодефрагментации» файловой системы по мере появления в этом необходимости. Пока же доступна специальная утилита e4defrag, способная дефрагментировать как отдельные файлы, так и всю файловую систему.
•Неограниченное количество подкаталогов. Максимальное коли-
чество подкаталогов в ext3 — 32000. Новая ФС полностью снимает это ограничение.
Несмотря на отсутствие поддержки обратной совместимости в самой ФС, драйвер ext4 поддерживает прямую совместимость со своей предшественницей. ФС ext3 можно смонтировать в режиме ext4, используя при этом большинство преимуществ новой ФС.
НОВЫЙ ЭТАП В РАЗВИТИИ GRUB
Вместе с пингвином развиваются и средства его загрузки. Еще совсем недавно единственным загрузчиком Linux был неуклюжий, но хорошо справляющийся со своими задачами LiLo. Позднее его сменил пришедший из мира GNU/Hurd «многоцелевой» grub, который по уровню функциональности вполне мог потягаться с первыми версиями операционной системы MS-DOS.
Хотя в дальнейшем развитии grub не было никакой насущной необходимости, разработчики продолжали совершенствовать свой продукт, наводить блеск, повышать эффективность и исправлять ошибки. В результате на свет появился grub2. Это загрузчик нового поколения, который обладает следующими достоинствами:
•Поддержка скриптинга, включая условия, циклы, переменные и функции.
•Графический интерфейс.
•Динамическая загрузка модулей (дает возможность расширения загрузчика во время работы, а не во время компиляции).
•Портабельность на множество архитектур.
•Интернационализация. Поддержка не-ASCII кодировок, каталоги сообщений по типу gettext, шрифты, графические консоли и т.д.
•Настоящее управление памятью (делает загрузчик более расширяемым).
НАЗАДВПРОШЛОЕ:
КОМАНДНЫЙ ИНТЕРПРЕТАТОРВЯДРЕ
Unix стал первой операционной системой, командный интерпретатор которой был вынесен в отдельный процесс. Matt Ranon решил вернуть все на прежние места и представил патч с реализацией интерфейса командной строки в ядре Linux. Kcli базируется на библиотеке libcli и предназначен для применения в монолитных образах Linux для встраиваемых систем.
•Модульный, иерархический, объектно-ориентирован- ный фреймворк для файловых систем, файлов, дисков, терминалов, команд, таблиц разделов и загрузчиков ОС.
•Кросс-платформенная установка (позволяет инсталлировать grub с разных архитектур).
•Спасательный режим для «незагружаемых случаев».
•Избавление от Stage 1.5.
•Исправление ошибок дизайна grub1, которые не могли быть решены с сохранением обратной совместимости (например, способ именования разделов).
С точки зрения рядового пользователя grub2 интересен красивым внешним видом, поддержкой различных шрифтов и полностью автоматизированным процессом настройки. Впечатляет, что варианты графического оформления — не просто шкурки, а совершенно разные
078 |
XÀÊÅÐ 07 /127/ 09 |