четверг, 16 октября 2014 г.

Об администрировании UNIX

Можно выделить четыре типа системных администраторов UNIX:
  • Технический бандит. Обычно в прошло программист, вынужденный заниматься администрированием. Пишет скрипты на смеси языков интерпритатора Bourne shell, sed, C, awk, perl и APL.
  • Администратор-фашист. Обычно законченный тунеядец (реже - бывшая ведьма-секретарша), вынужденная заниматься администрированием системы.
  • Маньяк. Стареющий хакер, обнаруживший, что ни Массада, ни Куба не собираются оплачивать достойно его улуги по компьютерному шпионажу, вследствии чего подавшийся в системные администраторы.
  • Идиот. Полный кретин или старый программист на Коболе, выбранный в админы комитетом, состоящим из таких же кретинов или старых программистов на Коболе.
Как определить, к какому типу принадлежит ваш администратор.
Ситуация 1. Нехватка дискового пространства.
Технический бандит. Пишет набор скриптов для мониторинга использования дискового пространства, для сопровождения базы данных статистики использования диска, для прогнозирования будущего использования с помощью регрессионого анализа, для выявления пользователей, котороые превысили стандартное отклонение от среднего значения и, наконец, для отправления нарушителям почтовых сообщений. Помещает скрипты в cron. В результате дисковое пространство не увеличивается, посколько "дисковые обжоры" обычно почту не читают.
Администратор-фашист. Помещает правила использования диска в сообщение motd. Активно пользуется квотированием диска. Не допускает никаких исключений, чем полностью останавливает деятельность разработчиков. Блокирует регистрацию пользователей, превысивших квоту.
Маньяк:# cd /home
# rm -rf `du -s * | sort -rn | head -1 | awk '{print $2}'`
Идиот:
# cd /home
# cat `du -s * | sort -rn | head -1| awk '{printf "%s/*\n",$2}'`
# compress

Ситуация 2. Избыточная загрузка процессора.
Технический бандит. Пишет скрипты мониторинга использования ресурсов, для сопровождения базы данных их использования, для выявления процессов, превысивших стандартное значение и для изменения приоритета таких процессов. Помещает скрыпты под управление cron. В результате понижения приоритета офисный базы данных, предает ее забвению, ставя все работы на грань срыва к немалой радости поклонников игры в xtrek.
Администратор-фашист. Помещает правила использования вычислительных ресурсов в сообщение дня motd. Активно квотированием процессорных ресурсов. Не допускает никаких исключений, чем полностью останавливает деятельность разработчиков к немалой радости поклонников игры в xtrek.
Маньяк:# kill -9 `ps -augxww | sort -rn +8 -9 | head -1 awk '{print $2}'`
Идиот:
# compress -f `ps -augxww | sort -rn +8 -9 | head -1 awk '{print $2}'`

Ситуация 3. Регистрация новых пользователей.
Технический бандит. Пишет скрипт на Perl, создающий домашний каталог пользователя, определяющий непонятное окружение и помещающий записи в файлы /etc/passwd/etc/shadow, /etc/group. Устанавливает на скрипт бит SUID и обязывающий секретаршу обеспечить регистрация новых пользователей. Поскольку обычно секретарша так и не может разобраться в разнице между <Enter> и <Return>, ни один новый пользоватей не зарегистрирован.
Администратор-фашист. Помещает правила регистрации пользователей в motd. Поскольку незарегистрированные пользователи не могут прочитать это сообщение, никто не выполняет бюрократические ьребования, и, как следствие, ни один новый пользователь не зарегистрирован.
Маньяк. "Если ты настолько глуп, что не можешь взломать машину и самостоятельно зарегистрироваться, тебе нечего делать в моей системе. В этом ящике и так слишком много придурков"
Идиот:
# cd /home; mkdir "Bob's home directory"
# echo "Bob Simon:gandalf:0:0:/dev/tty:compress -f" > /etc/passwd

Ситуация 4. Авария загрузочного диска.
Технический бандит. Чинит диск. ОБычно ему удается восстановить систему прямо из приглашения загрузки. Если это не помогает, запускает микроядро, которое запускает на соседнем компьютере скрипт, копирующий на аварийную машину загрузочный код, переворматирущий диск и инсталирующий операционную систему. Оставляет скрипт работать до конца уик-энда, а сам отправляется в поход в горы.
Администратор-фашист. Начинает расследование аварии. Отказывается исправить аварию до тех пор, пока виновный не найден, и с него не взыскана стоимость сломанного оборудования.
Маньяк. Извлекает диск. С помощью кузнечного молота пытается подогнать отдельные пластины. Звонит производителю. Во время установки нового диска и операционной системы наносит оскорбления присланному инженеру.
Идиот. Не заммечает ничего необычного.

Ситуация 5. Слабая производительность сети.
Технический бандит. Пишет скрипт для мониторинга сети, переписывает программное обеспечение, чем повышает производительность на 2%. Пожимает плечами, говорит "Я сделал все, что мог", и отправляется в поход в горы.
Администратор-фашист.Помещает правила работы в сети в motd. Звонит в Беркли и в AT&T, приставая к ним, как установить сетевые квоты. Пытается уволить поклонников игры в xtrek.
Маньяк. Каждые два часа размыкает кабедь Ethernet и ждет тайм-аута на сетевых соединениях.
Идиот. # compress -f /dev/en0

Ситуация 6. "Глупые" вопросы пользователей.
Технический бандит. Отвечает на вопросы в шестнадцатеричном или двоичном виде, иногда по-французки, пока пользователь не уходит.
Администратор-фашист. Блокирует вход пользователя в систему, пока тот не предоставит веские доказательства своей квалификации.
Маньяк. 
# cat >> ~luser/.cshrc
alias vi 'rm \!*; unalias vi; grep -v BoZo ~/.cshrc > ~/.z;
mv -f ~/.z ~/.cshrc'
^D
Идиот. Отвечает на все вопросы в меру своего понимания. Приглашает пользователя в группу администрирования системы.

Ситуация 7. Установка новой операционной системы.
Технический бандит. Изучает исходные тексты новой версии и выбирает из них только то, что ему нравиться.
Администратор-фашист. В первую очередь изучает законодательные акты против производителя, постовляющего программное обеспечение с ошибками.
Маньяк.
# uptime
1:33pm up 19 days, 22:49, 167 users, load average: 6.49, 6.45, 6.31
#wall
Итак настало время установки новой версии. Займет несколько часов, и если нам повезет - управимся к 5-00.Мы работаем для вас !
^D
Идиот. # dd if=/dev/rmt8 of=/vmunix

Ситуация 8. Пользователям необходима электронная телефонная книга.
Технический бандит. Пишет программу на RDBMS, Perl и Smalltalk. Отчаявшиеся пользователи возвращаются к использованию записных книжек.
Администратор-фашист. Устанавливает Oracle. Отчаявшиеся пользователи возвращаются к использованию записных книжек.
Маньяк. Предлагает пользователям хранить данные в едином сплошном файле и применять grep для поиска телефонных номеров.
Идиот. # dd ibs=80 if=/dev/rdisk001s7 | grep "Fred"

Данные были взяты из книги "Операционная система UNIX".