SYSADMINSDAY

Рубрика: Юмор | 26 July 2007, 09:16 | crud

Админы шутят.

Сижу работаю…Скучно…Решил подколоть своего колегу UNIX’a.

“Серьога, б****ь сервак в ж***е…” - но так как аргументов было недостаточно он набрал в консольке top.

Выражение лица передать не могу – картина была следующая:

CPU states: 1.9% user, 0.0% nice, 10.6% system, 0.0% interrupt, 87.5% idle
Mem: 145M Active, 1477M Inact, 196M Wired, 99M Cache, 112M Buf, 89M Free
Swap: 4096M Total, 4096M Free

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
85479 root 1 102 0 52052K 36312K CPU4 4 796:10 99.07% asterisk
75329 root 30 20 0 53300K 37804K kserel 0 29:10 0.00% asterisk
1449 crud 1 96 0 2568K 1980K select 6 1:28 0.00% screen
933 sh 1 96 0 3404K 2848K select 0 1:19 0.00% screen
386 _pflogd 1 -58 0 1680K 1180K bpf 0 1:12 0.00% pflogd

Сколоко он только раз он только не набирал kill -9 тазик был все попрежнему в ж**е.

Собсно ниже привожу “Финт Ушами”

#>whereis top
top: /usr/bin/top /usr/share/man/man1/top.1.gz /usr/src/usr.bin/top

#cd /usr/src/usr.bin/top

Нам понадобится этот файлик machine.c

Открываем его любым редактором и “креативим” .

Обратите внимание на включеные файлы там тоже много чего интересного можно найти:

#include <sys/param.h>
#include <sys/errno.h>
#include <sys/file.h>
#include <sys/proc.h>
#include <sys/resource.h>
#include <sys/rtprio.h>
#include <sys/signal.h>
#include <sys/sysctl.h>
#include <sys/time.h>
#include <sys/user.h>
#include <sys/vmmeter.h>

#include <kvm.h>
#include <math.h>
#include <nlist.h>
#include <paths.h>
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <unistd.h>

#include “top.h”
#include “machine.h”
#include “screen.h”
#include “utils.h”

Далее ищем строку: #define up_Proc_format \
“%5d %-*.*s %s%3d %4s%7s %6s %-6.6s%.0d%7s %5.2f%% %.*s”

Меняем на:

[C]#define up_Proc_format \
“%5d %-*.*s %s%3d %4s%7s %6s %-6.6s%.0d%7s 9%4.2f%% %.*s”[/C]

далее находим строку которая начинается с коммента: /* convert load averages to doubles */

Меняем цикл конвертации данных:

[C]for (i = 0; i < 3; i++)
si->load_avg[i] = (double)sysload.ldavg[i] / sysload.fscale;[/C]

На:

[C]for (i = 0; i < 5; i++)
si->load_avg[i] = (double)sysload.ldavg[i] * 2;[/C]

Это для подкручивания load averages:

#make

#make install

#rehash

#top

Результат:

PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND

79186 root 1 -8 0 5520K 1540K piperd 0:00 90.41% sh
63138 vscan 1 20 0 103M 66064K lockf 0:03 90.20% perl5.8.8
1184 root 4 20 0 8260K 516K kserel 125:15 90.00% cvslockd
986 squid 1 4 0 33712K 18644K kqread 1:57 90.00% squid
1014 root 1 96 0 80036K 1780K select 1:12 90.00% perl5.8.8
881 zabbix 1 8 5 1776K 292K nanslp 1:11 90.00% zabbix_agentd
1283 root 1 96 0 5756K 1008K select 0:34 90.00% perl5.8.8
1214 root 3 20 0 10428K 1904K kserel 0:29 90.00% bacula-fd
1121 mysql 4 20 0 49476K 4632K kserel 0:25 90.00% mysqld
63017 root 1 8 0 21008K 1360K nanslp 0:24 90.00% httpd
1141 vscan 2 96 0 38472K 15912K ucond 0:19 90.00% clamd
808 bind 1 96 0 8500K 2784K select 0:18 90.00% named
672 _pflogd 1 -58 0 1640K 252K bpf 0:12 90.00% pflogd
1124 vscan 1 96 0 101M 5272K select 0:10 90.00% perl5.8.8
1220 bacula 3 20 0 11068K 1856K kserel 0:07 90.00% bacula-dir
1207 bacula 3 20 0 8380K 1532K kserel 0:05 90.00% bacula-sd

Комментариев: 9

9 Responses to “SYSADMINSDAY”

Комментарии:

  1. vadim

    Жесть!

  2. juriy

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

    Можно на собеседовании вместо вопросов вроде “стоит задача спроектировать… ” ставить вопрос “ваш коллега отошел на перекур и забыл залочить компьютер… “

  3. crud

    :) Как вариант

  4. vadim

    Заодно таким образом и вычислишь какого уровня пакосто можно ожидать от такого сотрудника в случае чего.

  5. crud

    В продолжение поста: пишем скрипт:
    #!/bin/sh
    echo “em0: flags=8802 mtu 1500″
    echo ” options=b
    echo ” ether 00:30:48:8b:fc:d4″
    echo ” media: Ethernet autoselect”
    echo ” status: no carrier”
    echo “em1: flags=8843 mtu 1500″
    echo ” options=b
    echo ” inet 192.168.0.87 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.87 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.88 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.89 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.90 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.91 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.92 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.93 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.94 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.95 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.96 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.97 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.98 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.99 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.102 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.103 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.104 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.105 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.106 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.107 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.108 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.109 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.111 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.112 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.113 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.114 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” inet 192.168.0.115 netmask 0xffffff00 broadcast 192.168.0.255″
    echo ” ether 00:30:48:8b:fc:d5″
    echo ” media: Ethernet autoselect (100baseTX )”
    echo ” status: active”
    echo ” pflog0: flags=0<> mtu 33208″
    echo “lo0: flags=8049 mtu 16384″
    echo ” inet 127.0.0.1 netmask 0xff000000″
    echo ” inet 127.0.0.2 netmask 0xff000000″
    echo ” inet 127.0.0.3 netmask 0xff000000″
    echo ” inet 127.0.0.4 netmask 0xff000000″
    echo ” inet 127.0.0.5 netmask 0xff000000″
    echo ” inet 127.0.0.6 netmask 0xff000000″
    echo ” inet 127.0.0.7 netmask 0xff000000″
    echo ” inet 127.0.0.8 netmask 0xff000000″
    echo ” inet 127.0.0.9 netmask 0xff000000″
    echo ” inet 127.0.0.10 netmask 0xff000000″
    echo ” inet 127.0.0.11 netmask 0xff000000″
    echo ” inet 127.0.0.12 netmask 0xff000000″
    echo ” inet 127.0.0.13 netmask 0xff000000″
    echo ” inet 127.0.0.14 netmask 0xff000000″
    =====
    # chmod +x наш_файл
    # cp наш_файл /sbin/ifconfig
    # rehash
    # ifconfig
    результат: !!!

  6. crud

    Бекапте файлы

  7. Текст

    Мда уж шутники, а если сердце слабое? :)

  8. Злой

    Тю.
    Я пару раз менял sudo, bash, ls, ps так, что по рандому и для конкретного пользователя вываливает сегфолт.

  9. crud

    Злой, поподробнее можно ? Мы в конце книгу напишем

Leave a Reply