Темы экзамена BSDA

Аннотация

Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Содержание

1. Введение
1.1. Аудитория экзамена BSDA
1.2. Операционные ситемы объединяемые в BSDA и их версии
1.3. Переэкзаменовка
2. Описание экзамена
2.1. Официальное описание экзамена BSDA
3. Как использовать экзаменационные темы BSDA
[-]1. Установка и обновление операционной системы и програмного обеспечения
[-]1.1. Разбираться в программах установки каждой операционной системы
[-]1.2. Разбираться какие команды доступны для upgrade'а операционной системы
[-]1.3. Понимание разницы между заранее скомпилированными бинарными дистрибутивами и компиляцией из исходников
[-]1.4. Понимание когда выгодно инсталлировать прекомпилированные бинарники и как это делать
[-]1.5. Разбираться в методах настройки и компилирования бинарников
[-]1.6. Определять, какое програмное обеспечение инсталлировано в системе
[-]1.7. Определять, какое програмное обеспечение нуждается в обновлении
[-]1.8. Обновлять установленное програмное обеспечение
[-]1.9. Определять, какое програмное обеспечение имеет проблемы с безопасностью
[-]1.10. Следовать инструкциям секьюрити-консультантов и накладывать security-patch
[*]2. Безопасность в операционной системе
[*]2.1. Определить уровень безопасности системы
[-]2.2. Конфигурирование сервера SSH в соответствии с требованиями
[-]2.3. Конфигурировние SSH сервера для аутентификации по ключу
[-]2.4. Предохранение ключа при обновлении системы
[-]2.5. Разбираться в альтернативных механизмах аутентификации
[-]2.6. Разбираться в альтернативных методах авторизации
[-]2.7. Разбираться в основных рекомендованных методах доступа [до хоста]
[*]2.8. Разбираться в брандмауэрах BSD и синтаксисе конфигурационных файлов
[-]2.9. Разбираться в механизмах использования шифровальных устройств BSD
[-]2.10. Разбираться в методах проверки аутентичности бинарного файла
[*]2.11. Разбираться в способах запуска сервиса в изолированной среде (restraining service)
[+]2.12. Смена алгоритма шифрования используемого для защиты базы с паролями
[-]2.13. Смена приветствия системы
[-]2.14. Защита аутентификационных данных
[-]3. Файлы, файловые системы и диски
[-]3.1. Монтирование и размонтирование файловых систем
[-]3.2. Конфигурирование NFS
[-]3.3. Определение какие файловые системы смонтированы и какие будут смонтированы при загрузке
[-]3.4. Определять ёмкость диска и какие файлы занимают больше места
[-]3.5. Создание и просмотр символических и жёстких ссылок
[-]3.6. Просмотр и изменение ACL
[-]3.7. Просмотр и изменение пермиссий с использованием как символьных, так и восьмеричных мод
[-]3.8. Изменение владельца файла и группы
[-]3.9. Резервное копирование и восстановление файлов и директорий на локальный диск или ленту
[-]3.10. Резервное копирование и восстановление файловой системы
[-]3.11. Знание структуры каталогов системы
[-]3.12. Ручной запуск программы проверки файловой системы и средств её восстановления
[-]3.13. Определение и изменение флагов файлов
[-]3.14. Слежение за состоянием виртуальной памяти системы
[*]4. Пользователи и управление учётными записями
[*]4.1. Создание, изменение и удаление учётных записей
[*]4.1.1. Изменение параметров пользовательской учётной записи
[*]4.2. Создание системных учётных записей
[-]4.3. Отключение или включение учётной записи (lock и unlock)
[-]4.4. Идентификация и членство в группах
[-]4.5. Определение кто сейчас присутствует в системе или последнего времени входа в систему
[-]4.6. Включение слежения за учётными записями и просмотр статистики
[-]4.7. Изменение пользовательской оболочки
[-]4.8. Контролировать какие файлы будут копироваться в новую пользовательскую директорию при создании учётной записи
[-]4.9. Смена пароля
[-]5. Основы системного администрирования
[-]5.1. Определение какой процесс расходует основную часть ресурсов ЦПУ
[-]5.2. Определять активные процессы и посылать им сигналы
[-]5.3. Использование скриптов rc(8) для определения запущенных сервисов, их запуск, остановка и перезапуск
[*]5.4. Определение установленного оборудования и его конфигурирование
[+]5.4.1. Утилита dmesg(8)
[-]5.5. Определение какие модули ядра загружены, их загрузка и выгрузка
[-]5.6. Изменение на лету переменных ядра
[-]5.7. Изучение состояния програмного RAID'а (mirror or stripe)
[-]5.8. Определение какой MTA используется системой
[-]5.9. Конфигурирование системы ведения системных журналов
[-]5.10. Просмотр журналов для разрешения проблем и слежения за поведением системы
[-]5.11. Понимание основных проблем с принтером
[-]5.12. Создание или изменение почтовых псевдонимов в Sendmail и Postfix
[-]5.13. Остановка, перезагрузка или перевод системы в однопользовательский режим
[-]5.14. Отличие жёстких ограничений от мягких и изменение существующих системных ограничений
[-]5.15. Знание утилит BSD для регулировки трафика и контроля за полосой пропускания
[-]5.16. Знание распространённых конфигурационных системных файлов и, возможно, сторонних конфигурационных файлов различных сервисов
[-]5.17. Конфигурирование сервисов для автоматического старта при запуске системы
[-]5.18. Конфигурирование скриптов, нужных для различных задач по обслуживанию системы, для периодического запуска
[-]5.19. Просмотр очереди Sendmail'а или Postfix'а
[-]5.20. Определение когда последний раз была запущена система и какова её загруженность
[-]5.21. Слежение за операциями ввода/вывода на диске
[-]5.22. Работа с занятыми устройствами
[-]5.23. Определение информации характеризующей операционную систему
[-]5.24. Понимание преимуществ использования лицензии BSD
[*]6. Сетевое администрирование
[+]6.1. Определение существующих установок TCP/IP
[+]6.2. Установка параметров TCP/IP
[+]6.3. Определение какие TCP или UDP порты открыты в системе
[*]6.4. Проверка доступности TCP/IP сервиса
[*]6.5. Запрос к серверу DNS
[+]6.6. Определение кто ответственный за зону DNS
[+]6.7. Изменение порядка разрешения имён
[+]6.8. Перевод сетевой маски между системами точечно-десятичной, точечно-шестнадцатеричной или CIDR
[+]6.9. Собирать информацию используя IP адрес и маску подсети
[+]6.10. Понимание теории адресации IPV6
[+]6.11. Демонстрация основных навыков работы с утилитой tcpdump(1)
[+]6.12. Работа с ARP и кешем найденных соседей
[+]6.13. Конфигурирование системы для использования NTP
[-]6.14. Просмотр и обновление «арендованных» данных DHCP
[-]6.15. Знание как и когда устанавливать или удалять алиасы сетевого интерфейса
[+]7. Базовые навыки работы в Unix
[+]7.1. Перенаправление вывода и использование tee(1)
[+]7.2. Определение просмотр и изменение переменных окружения
[+]7.3. Навыки работы в vi(1)
[+]7.4. Определение является ли файл бинарным, текстовым или содержащим данные
[+]7.5. Поиск файлов и бинарников в системе
[+]7.6. Поиск файла по заданным атрибутам
[+]7.7. Написание несложных Bourne-скриптов
[+]7.8. Поиск нужной документации
[+]7.9. Понимание различий в страницах man
[+]7.10. Проверка контрольной суммы файла
[+]7.11. Продемонстрировать знакомство с оболочками используемыми по умолчанию в системе
[+]7.12. Чтение почты на локальной машине
[+]7.13. Использование контроля за задачами (job control)
[+]7.14. Применение регулярных выражений
[+]7.15. Преодоление ограничений на длину командной строки
[-]7.16. Понимание значения термина домен в различных контекстах
[+]7.17. Работа с cron
11. Заключение
[+]A. Список команд и файлов обсуждаемых в книге

Список таблиц

A.1. Раскладка файлов и команд по операционным системам

Здравствуйте! В этом документе подробно, в деталях, описаны темы встечающиеся на экзамене по операционным системам BSD (BSDA). Экзамен касается всех четырёх основных ветвей BSD UNIX — NetBSD, FreeBSD, OpenBSD и DragonFly BSD.

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

В этом документе преобладают термины «разбираться» и «понимать» вместо «продемонстрировать» и «проделать». Первое означает, что требуется понимание предмета, а второе — демонстрация конкретных действий. Запомните, разница значительная.

В большинстве случаев удачная сдача экзамена требует учёбы и практических навыков. Для экзамена требуется чтобы кандидаты по возможности имели опыт в BSD. Сознательным решением BSD CG было создание перекрёстных тем: широкие знания приобретать столь же трудно как и глубокие. Результатом станет появление большего числа пропагандистов BSD и большего числа грамотных системных администраторов.

The BSD Certification Group www.bsdcertification.org October 4, 2005

Глава 1. Введение

Данный документ описывает требования сертификационной группы операционных систем семейства BSD (BSDA — BSD Associate). BSDA это первый экзамен из серии экзаменов, которые будут разработаны нашей группой для продвижения BSD Unix в мире.

Документ служит двум целям. Он описывает сертификацию как таковую, включая названия, описание, рассматриваемые операционные системы и их версии и требования по вторичной переэкзаменовки. Кроме того, он предоставляет семь учебных блоков с экзаменационными темами. В них детально описаны экзаменационные темы. В целом, учебные блоки описывают необходимый на данном уровне минимум знаний у системного администратора.

Данный документ будет интересен следующим лицам:

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

На момент написания данного текста не существует официальных учебных материалов по данной теме. По этой причине каждая тема снабжена подробным описанием нужной теоретической базы и списком команд, которые кандидат должен освоить для сдачи экзамена. Желательно чтобы кандидат в целом имел опыт работы с командами, необходимый для сдачи экзамена, и был бы способен использовать самообучение для приобретения недостающих навыков. Самообучение должно базироваться на руководствах соответствующих проектов BSD (handbook) и online документации, страницах man, существующих руководств (tutorials) и howto, а так же Google.

Так же существуют кандидаты, желающие влиться в ряды администраторов BSD и желающие получить программу обучения. BSD CG рекомендует:

  • Тренерам и разработчикам учебных материалов рекомендуется включить все экзаменационные темы в курс. Материалы должны включать в себя понятные концепции. Студенты должны получить ответ на вопрос «почему» и должны иметь возможность выполнения лабораторных работ, чтобы уметь ответить на вопрос «как».
  • Кандидатам рекомендуется внимательно сравнить имеющиеся учебные материалы с данным списком тем. Перед покупкой проверить наличие в учебном пособии перечисленных здест тем.

1.1. Аудитория экзамена BSDA

Сертификационный экзамен BSDA создан как экзамен начального уровня для администраторов BSD Unix. Сертификация рекомендуется для кандидатов имеющих основные знания в Unix, но имеющих опыт работы с BSD менее шести месяцев (или тех кто хочет получить работу по администрированию BSD). Отделы кадров предприятий могут расчитывать, что кандидат сдавший экзамен BSDA может выполнять каждодневные работы связанные с существующими системами BSD под управлением старшего администратора.

Сдавший экзамен BSDA кандидат должен уметь решить любую обычную администраторскую задачу, разрешить возникающие проблемы, иметь хорошие представления об основах Unix и принципов работы сети. В добавок он должен демонстрировать основные навыки по работе с операционными системами BSD: DragonFly BSD, FreeBSD, NetBSD и/или OpenBSD.

Это не значит, что кандидат должен полностью учить детали четырёх операционных систем. Это значит, что кандидат знает основные утилиты общие для систем BSD, утилиты упомянутые в экзаменационных темах, и уникальные особенности систем BSD. Кандидату рекомендуется иметь доступ ко всем операционным системам BSD при подготовке к экзамену. Ко всем четырём системам имеется документация в сети: страницы man online, wiki, почтовые списки рассылки.

[Замечание]Замечание
Сдача экзамена BSDA не требуется для сдачи BSDP (BSD Professional). Если вы чувствуете в себе силы сдать экзамен на должность старшего администратора, вам следует сдавать BSDP вместо BSDA.

1.2. Операционные ситемы объединяемые в BSDA и их версии

Для того, чтобы сертификация обладала практическим смыслом, мы должны освещать известные операционные системы, которые можно встретить на рабочих станциях. Изначально BSDA включает следующие операционные системы:

  • NetBSD: 2.x и 3.x
  • FreeBSD: 4.11, 5.x, 6.x
  • OpenBSD: 3.6, 3.7, 3.8
  • DragonFly BSD: 1.2, 1.4

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

Однако мы предупреждаем кандидата, чтобы он внимательно изучил темы экзаменационных вопросов в этом отношении. Пример: кандидат использующий FreeBSD 4.11 не будет иметь опыта работы с gmirror(8) появившемся в FreeBSD 5.3 и доступном лишь в поздних релизах. Рекомендуется изучить «Release Notes» операцинной системы, если в экзаменационном вопросе встретилась функция отсутствующая в его операционной системе.

1.3. Переэкзаменовка

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

После того, как кандидат успешно сдаст экзамен, он НЕ ДОЛЖЕН заново сдавать его в следующих случаях:

  • Изменение тем экзаменационных вопросов
  • изменении самих вопросов
  • выход новых релизов операционных систем

Однако сертификация BSDA действует только 5 лет, по прошествии пяти лет кандидату следует сдать экзамен повторно. Подробности отностительно переэкзаменовки будут опубликованы в 2006 году.

Глава 2. Описание экзамена

2.1. Официальное описание экзамена BSDA

Ниже приведено официальное описание экзамена BSDA предназначенное для тренерских центров и центров тестирования и для использования в учебных материалах:

Сертификационный экзамен BSDA (объединённые системы BSD Unix) требует показать основные навыки по администрированию систем BSD Unix. Кандидат должен продемонстрированить понимание основ системного администрирования и продемонстрировать мастерство в следующих областях:

  1. Установка и обновление операционной системы и програмного обеспечения
  2. Безопасность в операционной системе
  3. Работа с файлами, файловыми системами и дисками
  4. Управление пользовательскими учётными записями
  5. Основы системного администрирования
  6. Сетевое администррование
  7. Основные Unix-навыки

По каждой из упомянутых областей существуют подробные экзаменационные темы полностью описанные в 'BSDA Certification Requirements Document', доступном на website'е BSD Certification Group www.bsdcertification.org.

Официальный номер экзамена будет сообщён когда экзамен будет готов. Анонсы для всех прочих экзаменов будут доступны так же на website'е Сертификационной группы BSD (BSDCG) www.bsdcertification.org.

Глава 3. Как использовать экзаменационные темы BSDA

Экзамен BSDA сотоит из семи учебных блоков, каждый из которых содержит некоторое количество тем:

  1. Установка и обновление операционной системы и програмного обеспечения (10 тем)
  2. Безопасность в операционной системе (13 тем)
  3. Файлы, файловые системы и диски (14 тем)
  4. Пользователи и управление учётными записями (9 тем)
  5. Основы системного администрирования (24 тем)
  6. Сетевое администрирование (15 тем)
  7. Базовые навыки работы в Unix (17 тем)

Для сдачи экзамена кандидаты должны знать все темы, хотя и не все темы могут попасться на экзамене.

Темы экзаменационных вопросов, это ещё не сами экзаменационные вопросы. Темы экзаменов доступны к публичному распространению, тогда как экзаменационные вопросы являются частной интеллектуальной собственностью BSD CG. Те, кто имеет доступ к экзаменационным вопросам — психометристы(?), переводчики, центры тестирования и кандидаты прошедшие экзамен должны подписать соглашение о неразглашении (NDA — Non Disclosure Agreement) и будут наказываться в случае его нарушения.

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

  1. Номер и название темы
  2. Описание. , в котором сказано какими знаниями должен обладать кандидат для успешного применения данного вопроса в администраторской практике. Глубина знаний ожидаемая по этому вопросу от кандидата описана в Раздел 1.1, «Аудитория экзамена BSDA».

  3. Практика. , в этом разделе дан список команд и других объектов, которые могут случиться на экзамене. Даны ссылки на страницы man. Кандидатам рекомендуется самостоятельно ознакомиться с этими страницами.

[Замечание]Замечание

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

  • Помните, что сертификационный экзамен BSDA проверяет практические навыки: не зубрите страницы man. Вместо этого применяйте команды на практике пока вам не станет понятно что написано в справочной странице.
  • Это экзамен «начального уровня». От вас не ожидается, что вы будете знать всё, однако от вас ожидается, что вы можете довести до конца реальную администраторскую задачу.
  • Ориентируйтесь на слово «разбираться» в экзаменационных темах, оно означает, что от вас требуется просто понимать, что такое средство существует. Например в теме Раздел 2.11, «Разбираться в способах запуска сервиса в изолированной среде (restraining service)» от кандидата требуется, чтобы он разбирался в том, что системы BSD имеют средства запуска программ в защищённой среде и какие команды в каких операционных системах доступны для этого. Однако от кандидата не требуется опыт конфигурирования jail(8).
  • В случае если есть существенные отличия между различными системами BSD, это может быть отмечено в разделе «Практика», но всего там нет. Вместо этого мы рекомендуем при подготовке к экзамену справляться с таблицей в Приложение A, Список команд и файлов обсуждаемых в книге. Эта таблица содержит алфавитный список систем упомянутых в книге команд и их доступность в четырёх перечисленных системах BSD.

Глава 1. Установка и обновление операционной системы и програмного обеспечения

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

Когда, что и как устанавливать зависит от каждой конкретной организации в которой работает администратор. Кандидат BSDA должен знать, какими он обладает средствами для решения этих задач, какие необходимо соблюдать предосторожности при работе на работающем оборудовании под управлением старшего администратора.

1.1. Разбираться в программах установки каждой операционной системы

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

Практика: http://www.bsdinstaller.org для DragonFly BSD, sysinstall(8) для FreeBSD, sysinst на инсталляционном диске NetBSD, и INSTALL.[arch] на инсталляционном диске OpenBSD.

1.2. Разбираться какие команды доступны для upgrade'а операционной системы

Описание:  Кандидат BSDA должен разбираться в утилитах используемых для поддержания операционных систем в актуальном состоянии. Некоторые утилиты общие для разных систем BSD, некоторые утилиты специфичные для конкретной системы доступны в другой в виде стороннего програмного продукта.

Практика: make(1) включая цели "buildworld", "installworld" и "quickworld" и прочие похожие цели; mergemaster(8), cvs(1), и сторонние продукты cvsup и cvsync; build.sh, etcupdate(8), postinstall(8) и afterboot(8); src/UPDATING и src/BUILDING.

1.3. Понимание разницы между заранее скомпилированными бинарными дистрибутивами и компиляцией из исходников

Описание:  Кандидат должен быть знаком с тем, где по умолчанию находится дерево портов и пакетов (ports collention, pkgsrc collection) и какая из систем BSD какое дерево использует. Кандидат должен уметь определить расширение используемое пакетами. Кандидат должен понимать преимущества и недостатки инсталляции заранее скомпилированных бинарников и преимущества и недостатки сборки бинарников из исходного кода.

1.4. Понимание когда выгодно инсталлировать прекомпилированные бинарники и как это делать

Описание:  Кандидат BSDA должен понимать, что заранее скомпилированные бинарники просты и быстры в установке, но не дают возможности настройки бинарника к нуждам системы. Кандидат должен знать как установить заранее скомпилированный бинарник из удалённого источника, или с локальной машины, так же как и знать как удалить установленный пакет.

Практика: pkg_add(1), pkg_delete(1)

1.5. Разбираться в методах настройки и компилирования бинарников

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

Практика:  Dragonfly BSD: mk.conf(5) или make.conf(5), PKG_OPTIONS, CFLAGS FreeBSD: -DWITH_* или WITH_*=, pkgtools.conf(5), make.conf(5)NetBSD: PKG_OPTIONS.<pkg>, CFLAGS, mk.conf(5), PKG_DEFAULT_OPTIONS OpenBSD: bsd.port.mk(5)

1.6. Определять, какое програмное обеспечение инсталлировано в системе

Описание:  Кандидат BSDA должен разбираться как определить какое програмное обеспечение установлено на BSD, проследить зависимости при помощи менеджера пакетов в случае, если программы установлены при помощи портов или пакетов (packages, ports или pkgsrc). Кандидат должен уметь узнать через менеджер пакетов какое програмное обеспечение стоит на машине и какой версии.

Практика: pkg_info(1)

1.7. Определять, какое програмное обеспечение нуждается в обновлении

Описание:  Кандидат должен понимать важность соблюдения равновесия между сохранением програмого обеспечения в актуальном состоянии и минимизации воздействий на производительность системы. Dragonfly BSD и NetBSD используют pkgsrc предоставляющую утилиты позволяющие определить какое програмное обеспечение устарело. FreeBSD предоставляет pkg_version и сторонние утилиты интегрированные с менеджером пакетов.

Практика:  pkgsrc/pkgtool/pkg_chk и make show-downlevel для Dragonfly BSD и NetBSD; pkg_version(1), и сторонняя программа portupgrade(1).

1.8. Обновлять установленное програмное обеспечение

Описание:  Кандидат BSDA должен разбираться во встроенных и сторонних средствах обновления установленного програмного обеспечения. В добавок кандидат должен знать какие системы используют pkgsrc.

Практика: DragonFly BSD и NetBSD предлагают pkgsrc/pkgtools/pkg_chk, pkgsrc/pkgtools/pkg_comp, make update и make replace; portupgrade и cvsup доступны как сторонние продукты.

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

Описание:  Кандидат BSDA должен понимать важность слежения за обнаруживаемыми уязвимостями в безопасности програмного обеспечения. Кандидат должен разбираться в сторонних утилитах интегрированных с менеджером пакетов предназначенных для обнаружения програмного обеспечения с уязвимостями в системе безопасности.

Практика:  audit-packages для Dragonfly BSD и NetBSD; portaudit и vuxml для FreeBSD и OpenBSD

1.10. Следовать инструкциям секьюрити-консультантов и накладывать security-patch

Описание:  Кандидат BSDA должен быть осведомлён о том, что каждый проект BSD сопровождается советниками по безопасности, чьи советы доступны как через Интернет, так и через почтовые списки рассылок. Кандидат должен уметь следовать инструкциям данным в этих советах.

Практика: patch(1), make(1), и fetch(1); ftp(1) и build.sh

Глава 2. Безопасность в операционной системе

Содержание

[*]2.1. Определить уровень безопасности системы
[-]2.2. Конфигурирование сервера SSH в соответствии с требованиями
[-]2.3. Конфигурировние SSH сервера для аутентификации по ключу
[-]2.4. Предохранение ключа при обновлении системы
[-]2.5. Разбираться в альтернативных механизмах аутентификации
[-]2.6. Разбираться в альтернативных методах авторизации
[-]2.7. Разбираться в основных рекомендованных методах доступа [до хоста]
[*]2.8. Разбираться в брандмауэрах BSD и синтаксисе конфигурационных файлов
[-]2.9. Разбираться в механизмах использования шифровальных устройств BSD
[-]2.10. Разбираться в методах проверки аутентичности бинарного файла
[*]2.11. Разбираться в способах запуска сервиса в изолированной среде (restraining service)
[+]2.12. Смена алгоритма шифрования используемого для защиты базы с паролями
[-]2.13. Смена приветствия системы
[-]2.14. Защита аутентификационных данных

Признаком хорошего системного администратора является осведомлённость о проблемах безопасности и забота о безопасности системы. Ожидается, что кандидат BSDA знаком с распростанёнными средствами обеспечения безопасности системы. Системы BSD реализованы с учётом проблем безопасности и предоставляют множество средств позволяющих администратору подстроить систему к требованиям политики безопасности его организации. Кандидат не может всегда отвечать за реализацию механизмов безопасности, но должен знать о свойствах и этих средств и доступных командах.

2.1. Определить уровень безопасности системы

Описание:  Системы BSD предоставляют несколько предопределённых настроек безопасности, известных как уровни безопасности (securelevels). Кандидат должен знать на каком он уровне безопасности, можно ли поднять или опустить уровень безопасности и как.

Практика: init(8), sysctl(8), rc.conf(5)

2.2. Конфигурирование сервера SSH в соответствии с требованиями

Описание:  Кандидат BSDA должен знать как настроить встроенный демон sshd(8) для ограничения доступа к системе через SSH.

Практика: sshd_config(5)

2.3. Конфигурировние SSH сервера для аутентификации по ключу

Описание:  Кандидат должен понимать теорию публичных/приватных ключей включая: какие протоколы доступны для генерирования пар ключей, выбор подходящего bit size, предоставления "начальной строки"(?) (seed), passphrase, и проверки отпечатка (fingerprint). В дополнение, кандидат должен уметь генерировать свои ключи и использовать их для аутентификации.

Практика: ssh-keygen(1) включая следующие ключевые слова: authorized_keys, id_rsa и id_rsa.pub.

2.4. Предохранение ключа при обновлении системы

Описание:  В добавок к знанию о том как генерируются системные SSH ключи, кандидат BSDA должен знать где расположены системные ключи и как предохранить их при обновлении или замене системы.

Практика:  /etc/ssh/ssh_host*_key*

2.5. Разбираться в альтернативных механизмах аутентификации

Описание:  От кандидата BSDA не требуется знания того как сконфигурировать альтернативный метод аутентификации. Однако кандидат должен понимать основы теории аутентификации, знать, что аутентификация по имени пользователя и паролю — не единственный способ аутентификации в системах BSD. Кандидат должен понимать основы PAM и знать, что он доступен в DragonFly BSD, FreeBSD и NetBSD 3.x. Он должен так же знать основы теории касающейся Kerberos, OTP и RADIUS.

2.6. Разбираться в альтернативных методах авторизации

Описание:  Кандидат должен понимать основы теории авторизации и как MAC и ACL расширяют стандартные UNIX-пермиссии.

Практика: mac(4) и acl(3) на FreeBSD; systrace(1) на NetBSD и OpenBSD.

2.7. Разбираться в основных рекомендованных методах доступа [до хоста]

Описание:  Кандидат BSDA должен быть знаком с обычными для администраторский практики методами снижения рисков связанными с доступом к системе. Включая использование ssh(1) вместо telnet(1), запрещение логина от пользователя root, использование сторонней утилиты sudo(8) вместо su(1) и минимизация использования группы wheel.

Практика: ttys(5), sshd_config(5), ftpusers(5); сторонняя утилита sudo(8), включая visudo(8), suedit(?) и sudoers(5).

2.8. Разбираться в брандмауэрах BSD и синтаксисе конфигурационных файлов

Описание:  Каждая система BSD снабжена хотя бы одним брандмауэром. Кандидат BSDA должен знать какие брандмауэры в каких системах доступны и какие команды доступны для просмотра набора правил брандмауэра.

Практика: ipfw(8), ipf(8), ipfstate(8), pfctl(8) и firewall(7)

2.9. Разбираться в механизмах использования шифровальных устройств BSD

Описание:  Кандидат BSDA должен знать, что в BSD могут использоваться шифровальные устройства и какие утилиты доступны для этого на каких BSD системах.

Практика: gbde(4) и gbde(8) на FreeBSD; cgd(4) на NetBSD; vnd(4) на OpenBSD.

2.10. Разбираться в методах проверки аутентичности бинарного файла

Описание:  Кандидат BSDA должен разбираться в утилитах проверки подлинности файла, таких как tripware. Он должен так же разбираться во встроенных методах проверки предлагаемых некоторыми BSD.

Практика: security(7) или (8); security.conf(5); veriexecctl(8)

2.11. Разбираться в способах запуска сервиса в изолированной среде (restraining service)

Описание:  Кандидат BSDA должен понимать преимущества запуска сервисов в изолированной среде на машинах открытых для Интернет, и какие утилиты предназначены для этого в какой BSD.

Практика: chroot(8); jail(8); systrace(1); Стороннее приложение Xen.

2.12. Смена алгоритма шифрования используемого для защиты базы с паролями

Описание:  Кандидат BSDA должен уметь по данному скриншоту базы паролей определить используемый метод шифрования и знать как его сменить. Кандидат должен иметь базовое понимание того когда надо использовать DES, MD5 и Blowfish.

Практика: login.conf(5); auth.conf(5); passwd.conf(5) и adduser(8).

2.13. Смена приветствия системы

Описание:  Кандидат должен понимать, что приветствие системы зависить от того, каким способом пользователь получил доступ к системе и знать, какие файлы за это отвечают.

Практика: motd(5), login.conf(5), gettytab(5), sshd_config(5).

2.14. Защита аутентификационных данных

Описание:  Для предотвращения атак против системы путём взлома базы паролей, системы BSD хранят эти данные в шифрованном виде доступными только системным процессам. BSDA кандидат должен понимать где хранятся эти данные и какие на них должны быть пермиссии (права доступа).

Практика: passwd(5), pwd_mkdb(8)

Глава 3. Файлы, файловые системы и диски

Полезность компьютерных систем связана с доступность данных, хранящихся на них. BSDA кандидат должен прлностью разбираться в вопросе как сделать данные доступными локально и удалённо и как использовать пермиссии чтобы быть уверенным, что авторизованные пользователи получат доступ к данным. Кандидат должен знать как делать резервное копирование и решать основные проблемы с дисками.

3.1. Монтирование и размонтирование файловых систем

Описание:  Кандидат BSDA должен свободно ориентироваться в проблемах монтирования и размонтирования локальных файловых систем, включая: как смонтировать/размонтировать конкретную файловую систему, как смонтировать все файловые системы, как сконфигурировать систему для монтирования файловой системы при загрузке. Передача опций команде mount(8), и разрешение ошибок возникших при выполнении mount(8).

Практика: mount(8), umount(8), fstab(5)

3.2. Конфигурирование NFS

Описание:  Кандидат BSDA должен быть знаком с утилитами связанными с NFS и знать о проблемах с безопасностью, которые могут возникнуть при открытии RPC через брандмауэр. Кандидат должен уметь конфигурировать NFS сервер или клиент в соответствии с указанными требованиями к доступности данных.

Практика: exports(5), nfsd(8), mountd(8), rpcbind(8) или portmap(8), rpc.lockd(8), rpc.statd(8), rc.conf(5) и mount_nfs(8)

3.3. Определение какие файловые системы смонтированы и какие будут смонтированы при загрузке

Описание:  Кандидат должен уметь определять какие файловые системы смонтированы и какие будут смонтированы при загрузке.

Практика: mount(8), du(1), fstab(5)

3.4. Определять ёмкость диска и какие файлы занимают больше места

Описание:  Кандидат BSDA должен уметь работать с UNIX утилитами для быстрого определения какой файл занял много места на жёстком диске.

Практика: du(1), df(1), find(1), sort(1), systat(1)

3.5. Создание и просмотр символических и жёстких ссылок

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

Практика: ln(1), ls(1), rm(1), stat(1)

3.6. Просмотр и изменение ACL

Описание:  Кандидат BSDA должен уметь определить использует ли FreeBSD ACL и если да, то на каких файловых системах. Кандидат должен уметь просматривать и изменять файловые ACL на FreeBSD.

Практика: mount(8), ls(1), getfacl(1)

3.7. Просмотр и изменение пермиссий с использованием как символьных, так и восьмеричных мод

Описание:  Ожидается, что кандидат BSDA знаком с традиционными UNIX пермиссиями включая: как просмотреть и изменить пермиссии, почему sticky-bit важен на каталоге /tmp и других каталогах общего пользования, определять и использовать SUID и SGID биты, понимать разницу между символьным и восьмеричным представлением пермиссий. Вдобавок кандидат должен понимать откуда оболочка берёт умолчальные пермиссии для вновь создаваемых файлов и каталогов, по заданному значению umask определять с какими пермиссиями будет создан файл.

Практика: ls(1), chmod(1), umask(1) или (2)

3.8. Изменение владельца файла и группы

Описание:  Кандидат BSDA должен уметь сменить владельца файла как требуется. Кандидат должен понимать как важно проверить кем он является в системе, до того как создать файл.

Практика: chown(8), chgrp(1); su(1), mtree(8)

3.9. Резервное копирование и восстановление файлов и директорий на локальный диск или ленту

Описание:  Кандидат должен иметь опыт работы с распространёнными в UNIX утилитами командной строки для резервного копирования. Кандидат должен знать имена устройств для ленточных ностителей.

Практика: tar(1), cpio(1), pax(1), cp(1), cpdup(1)

3.10. Резервное копирование и восстановление файловой системы

Описание:  Кандидат должен разбираться в утилитах используемых для резервного копирования всей файловой системы в целом и различных уровнях утилиты dump(1).

Практика: dump(8), restore(8), dd(1)

3.11. Знание структуры каталогов системы

Описание:  Кандидат BSDA должен быстро ориентироваться в структуре каталогов системы BSD.

Практика: hier(7)

3.12. Ручной запуск программы проверки файловой системы и средств её восстановления

Описание:  Кандидат BSDA должен знать утилиты для проверки содержимого файловой системы и использовать их.

Практика: fsck(8)

3.13. Определение и изменение флагов файлов

Описание:  Кандидат BSDA должен понимать как флаги расширяют традиционные пермиссии UNIX и знать как посмотреть и изменить флаги неизменяемости, "дописываемости" и неудаляемости (immutable, append-only, undelete).

Практика: ls(1), chflags(1)

3.14. Слежение за состоянием виртуальной памяти системы

Описание:  Виртуальная память имеет важное значение для производительности системы. Кандидат BSDA должен уметь конфигурировать устройство swap и следить за его использованием.

Практика: pstat(8), systat(1), top(1), vmstat(8); swapctl(8), swapinfo(8)

Глава 4. Пользователи и управление учётными записями

Все системы требуют наличия хотябы одного пользователя. В зависимости от роли системы работа кандидата BSDA может включать поддержку конечных пользователей и их accaunt'ов. Соответственно, кандидат BSDA должен уметь создать пользовательский accaunt, изментить его настройки, отключить accaunt, изменить пароль. Кандидат должен так же уметь следить за активностью аккаунтов и определять какие пользователи в настоящий момент имеют доступ к системе.

4.1. Создание, изменение и удаление учётных записей

Описание:  Важная часть системного администрования — манипулирование учётными записями. Кандидат BSDA должен быть знаком с различными утилитами для манипулирования учётными записями и уметь использовать их в соответствии с поставленными задачами.

Практика: vipw(8); pw(8), adduser(8), adduser.conf(5), useradd(8), userdel(8), rmuser(8), userinfo(8), usermod(8), и user(8)

4.1.1. Изменение параметров пользовательской учётной записи

BSD системы поддерживают «классический», древнейший способ изменения пользовательской информации — vipw(8).Использование этой утилиты весьма удобно, так как после рабоиы vipw(8) проверяет синтаксис файла и, если администратор не совершил никаких ошибок, обновляет данные в файле /etc/master.passwd, строит из него /etc/passwd и бинарные базы /etc/pwd.db и /etc/spwd.db. (См. ???.)

Однако, этот способ следует рекомендовать лишь в том случае, если вы понимаете формат файла /etc/master.passwd. Поэтому начинающие и ине только начинающие администраторы используют команду chpass(1).

При запуске chpass(1) запускает редактор vi(1) (см. Раздел 7.3, «Навыки работы в vi(1)») и предлагает изменить следующие настройки учётной записи:

# chpass testuser

Changing user database information for testuser.
Login: testuser
Encrypted password:$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq
Uid [#]: 1002
Gid [# or name]: 31
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/testuser
Shell: /bin/ksh
Full Name: Test FAQ User
Office Location:
Office Phone:
Home Phone:
        

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

$ chpass

#Changing user information for paakai.
Shell: /usr/local/bin/bash
Full Name: Paakai Sudoer
Office Location:
Office Phone:
Home Phone:
Other information:
        

После успешного изменения информации о пользователе, chpass(8) вызывает pwd_mkdb(8) для актуализации изменений в базах данных пользователей (/etc/master.passwd и /etc/passwd).

Другие, команды для изменения информации о пользователях: user mod, usermod, pw usermod.

4.2. Создание системных учётных записей

Описание:  Кандидат должен понимать, что многие сервисы требуют учётных записей и что эти записи должны быть недоступны для логина.

Практика: nologin(8); использование * в поле пароля в passwd(5)

4.3. Отключение или включение учётной записи (lock и unlock)

Описание:  Кандидат BSDA должен знать как определить включены ли учётная запись и как её включить.

Практика: vipw(8); chpass(1), chfn(1), chsh(1), pw(8), user(8)

4.4. Идентификация и членство в группах

Описание:  В системе пермиссий UNIX важно уметь определить кем вы являетесь и каково ваше членство в группах. Кандидат должен это уметь.

Практика: id(1), groups(1), who(1), whoami(1), su(1)

4.5. Определение кто сейчас присутствует в системе или последнего времени входа в систему

Описание:  Системы BSD поддерживают базы данных с детальной информацией о логинах. Кандидат BSDA должен знать что это за базы, где они хранятся и какими утилитами можно воспользоваться, чтобы получить информацию о логинах.

Практика: wtmp(5), utmp(5), w(1), who(1), users(1), last(1), lastlogin(8), lastlog(5), finger(1)

4.6. Включение слежения за учётными записями и просмотр статистики

Описание:  Кандидат BSDA должен быть осведомлён когда следует включить систему сбора статистики об учётных записях (accaunting), знать какие для этого нужны утилиты и как просматривать собранную статистику.

Практика: ac(8), sa(8), accton(8), lastcomm(1), last(1)

4.7. Изменение пользовательской оболочки

Описание:  Кандидат должен знать какая оболочка по умолчанию у пользователя и у суперпользователя. Он должен знать как сменить оболочку в каждой из операционных систем.

Практика: vipw(8); chpass(1), chfn(1), chsh(1), pw(8), user(8)

4.8. Контролировать какие файлы будут копироваться в новую пользовательскую директорию при создании учётной записи

Описание:  Системы BSD используют каталог skel содержащий файлы, которые должны быть скопированы при создании домашнего каталога пользователя при заведении учётной записи. Кандидат BSDA должен знать где в какой системе находиться данный каталог и как отменить его копирование при создании учётной записи.

Практика: pw(8), adduser.conf(5), useradd(8) и usermgmt.conf(5)

4.9. Смена пароля

Описание:  Кандидат BSDA должен уметь сменить свой пароль и пароль пользователя.

Практика: passwd(1), vipw(8)

Глава 5. Основы системного администрирования

Содержание

[-]5.1. Определение какой процесс расходует основную часть ресурсов ЦПУ
[-]5.2. Определять активные процессы и посылать им сигналы
[-]5.3. Использование скриптов rc(8) для определения запущенных сервисов, их запуск, остановка и перезапуск
[*]5.4. Определение установленного оборудования и его конфигурирование
[+]5.4.1. Утилита dmesg(8)
[-]5.5. Определение какие модули ядра загружены, их загрузка и выгрузка
[-]5.6. Изменение на лету переменных ядра
[-]5.7. Изучение состояния програмного RAID'а (mirror or stripe)
[-]5.8. Определение какой MTA используется системой
[-]5.9. Конфигурирование системы ведения системных журналов
[-]5.10. Просмотр журналов для разрешения проблем и слежения за поведением системы
[-]5.11. Понимание основных проблем с принтером
[-]5.12. Создание или изменение почтовых псевдонимов в Sendmail и Postfix
[-]5.13. Остановка, перезагрузка или перевод системы в однопользовательский режим
[-]5.14. Отличие жёстких ограничений от мягких и изменение существующих системных ограничений
[-]5.15. Знание утилит BSD для регулировки трафика и контроля за полосой пропускания
[-]5.16. Знание распространённых конфигурационных системных файлов и, возможно, сторонних конфигурационных файлов различных сервисов
[-]5.17. Конфигурирование сервисов для автоматического старта при запуске системы
[-]5.18. Конфигурирование скриптов, нужных для различных задач по обслуживанию системы, для периодического запуска
[-]5.19. Просмотр очереди Sendmail'а или Postfix'а
[-]5.20. Определение когда последний раз была запущена система и какова её загруженность
[-]5.21. Слежение за операциями ввода/вывода на диске
[-]5.22. Работа с занятыми устройствами
[-]5.23. Определение информации характеризующей операционную систему
[-]5.24. Понимание преимуществ использования лицензии BSD

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

5.1. Определение какой процесс расходует основную часть ресурсов ЦПУ

Описание:  Кандидат BSDA должен уметь следить за работой процессов и заметить ненормально высокую загруженность CPU. Кандидат должен уметь завершить процесс или изменить его приоритет.

Практика: top(1), systat(1), ps(1), nice(1), renice(1), kill(1)

5.2. Определять активные процессы и посылать им сигналы

Описание:  Кандидат должен знать названия и номера наиболее употребляемых в UNIX'е сигналов и знать как послать сигнал активному процессу. Кандидат должен знать разницу между SIGTERM и SIGKILL.

Практика: ps(1); kill(1); killall(1); pkill(1); pgrep(1)

5.3. Использование скриптов rc(8) для определения запущенных сервисов, их запуск, остановка и перезапуск

Описание:  В дополнении к тому, чтобы знать как непосредственно послать сигнал процессу, кандидат BSDA должен знать, что системы BSD поставляют скрипты, которые могут быть использованы для того, чтобы проверить состояние процесса, остановить, запустить или перезапустить процесс. Кандидат должен знать где в какой системе находятся эти скрипты. Эта тема не относится к OpenBSD.

Практика: rc(8), rc.conf(5)

5.4. Определение установленного оборудования и его конфигурирование

Описание:  Операционные системы BSD поставляются со множеством утилит для определения установленного оборудования. Кандидат BSDA должен знать как определить какое оборудование было обнаружено при загрузке и какие специфичные для BSD утилиты могут быть использованы для разрешения проблем и манипулирования PCI, ATA и устройствими SCSI.

Практика: dmesg(8), /var/run/dmesg.boot, pciconf(8), atacontrol(8) и camcontrol(8); atactl(8) и /kern/msgbuf; scsictl(8) или scsi(8)

5.4.1. Утилита dmesg(8)

Утилита dmesg(8) предназначена для вывода на экран последних сообщений ядра. В процессе загрузки операционной системы ядро определяет оборудование. Информация об этом может быть найдена при помощи данной утилиты. Однако в процессе работы системы информация помещённая в dmesg(8) может быть вытеснена новыми сообщениями ядра. Чтобы всегда иметь доступ к начальним, «загрузочным» сообщениям ядра, мы можем обратиться к файлу /var/run/dmesg.boot. Так же сегодняшний и вчерашний журнал сообщений ядра можно найти в файлах /var/log/dmesg.today и /var/log/dmesg.yesterday соответственно.

Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE #0: Fri Feb 29 12:05:47 MSK 2008
    root@ws-505-287.infosec.ru:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.40GHz (2394.01-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf34  Stepping = 4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x441d<SSE3,RSVD2,MON,DS_CPL,CNXT-ID,xTPR>
real memory  = 502464512 (479 MB)
avail memory = 477736960 (455 MB)
ACPI APIC Table: <A M I  OEMAPIC >
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
kqemu version 0x00010300
kqemu: KQEMU installed, max_locked_mem=238924kB.
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Feb 29 2008 12:05:13)
acpi0: <A M I OEMXSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 1def0000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xefe0-0xefe7 mem 0xf0000000-0xf7ffffff,0xfe780000-0xfe7fffff at device 2.0 on pci0
agp0: <Intel 82865G (865G GMCH) SVGA controller> on vgapci0
agp0: detected 32636k stolen memory
agp0: aperture size is 128M
uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xef00-0xef1f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xef20-0xef3f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xef40-0xef5f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xef80-0xef9f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801EB/R (ICH5) USB 2.0 controller> mem 0xfe77bc00-0xfe77bfff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801EB/R (ICH5) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
pcib1: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci1: <ACPI PCI bus> on pcib1
fxp0: <Intel 82801BA (D865) Pro/100 VE Ethernet> port 0xdf00-0xdf3f mem 0xfe5ff000-0xfe5fffff irq 20 at device 8.0 on pci1
miibus0: <MII bus> on fxp0
inphy0: <i82562ET 10/100 media interface> PHY 1 on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:11:d8:12:79:a8
fxp0: [ITHREAD]
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <Intel ICH5 SATA150 controller> port 0xefa8-0xefaf,0xefa4-0xefa7,0xef68-0xef6f,0xefa0-0xefa3,0xeed0-0xeedf irq 18 at device 31.2 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pci0: <multimedia, audio> at device 31.5 (no driver attached)
acpi_button0: <Power Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio0: [FILTER]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
sio1: [FILTER]
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
pmtimer0 on isa0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
ppbus0: [ITHREAD]
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ppc0: [GIANT-LOCKED]
ppc0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ums0: <vendor 0x1267 USB Mouse, class 0/0, rev 1.00/2.30, addr 2> on uhub1
ums0: 3 buttons and Z dir.
Timecounter "TSC" frequency 2394009873 Hz quality 800
Timecounters tick every 1.000 msec
hptrr: no controller detected.
acd0: CDROM <TEAC CD-552G/74S2> at ata0-master UDMA33
ad4: 76319MB <Seagate ST380817AS 3.42> at ata2-master SATA150
Trying to mount root from ufs:/dev/ad4s2a
        

Данный листинг показывает список устройств обнаруженных при старте системы. Каждая строка в этом листинге начинается с имени устройства с номером. Устройства в BSD называются по имени дрйвера, поэтому информацию о том или ином устройстве можно получить с соответствующей страницы man(1):

$ man 4 ums
        

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

5.5. Определение какие модули ядра загружены, их загрузка и выгрузка

Описание:  Кандидат BSDA должен понимать разницу между статически скомпилированным ядром и ядром использующим подгружаемые модули. Кандидат должен уметь просматривать список загруженных модулей, загружать и выгружать модули, однако он должен знать, что в системах NetBSD и OpenBSD использование модулей ядра не одобряется.

Практика: kldstat(8), kldload(8), kldunload(8), и loader.conf(5); modstat(8), modload(8), modunload(8), и lkm.conf(5)

5.6. Изменение на лету переменных ядра

Описание:  Системы BSD используют переменные ядра MIB, что позволяет системному администратору просматривать и изменять состояние ядра на работающей системе. Кандидат должен уметь изменять эти переменные как на лету во время работы системы, так и постоянно, выставляя начальные значения действующие в момент загрузки системы. Кандидат должен понимать как изменить переменную MIB доступную только для чтения.

Практика: sysctl(8), sysctl.conf(5)

5.7. Изучение состояния програмного RAID'а (mirror or stripe)

Описание:  В дополнении к тому, что системы BSD предоставляют драйвера к аппаратным RAID контроллерам, BSD предоставляет встроенный програмный RAID. Кандидат должен знать разницу между RAID уровня 0, 1, 3 и 5 и какие утилиты доступны в различных системах BSD для конфигурирования програмного RAID'а.

Практика: vinum(8), gmirror(8), gstripe(8), graid3(8), raidctl(8), ccdconfig(8)

5.8. Определение какой MTA используется системой

Описание:  Кандидат BSDA должен понимать роль MTA, определять какой(ие) MTA доступен(ны) во время установки системы, какой конфигурационный файл указывает на то, какой MTA используется системой. Кандидат должен знать разницу между форматами хранения почты mailbox и maildir.

Практика: mailer.conf

5.9. Конфигурирование системы ведения системных журналов

Описание:  Кандидат BSDA должен знать, что система автоматически создаёт и манипулирует множеством журнальных файлов. Кандидат должен уметь настраивать ротацию журнальных файлов по времени или размеру, понимать термины «средство» и «важность», смотреть сжатые журнальные файлы. (К сожалению, в русском языке закрепилась традиция перевода термина syslog facilities как средства syslog. Перевод крайне неудачный, но такова традиция — прим. переводчика.)

Практика: newsyslog(8), newsyslog.conf(5), syslog.conf(5), zmore(1), bzcat(1)

5.10. Просмотр журналов для разрешения проблем и слежения за поведением системы

Описание:  Кандидат должен знать насколько важно регулярно просматривать журнальные файлы и как просматривать их во время решения проблем.

Практика: tail(1), /var/log/*, syslog.conf(5), grep(1), dmesg(8)

5.11. Понимание основных проблем с принтером

Описание:  Кандидат BSDA должен уметь просмотреть очередь печати и манипулировать заданиями в очереди. Кандидат должен понимать значение первых двух полей в файле /etc/printcap.

Практика: lpc(8), lpq(1), lprm(1), printcap(5)

5.12. Создание или изменение почтовых псевдонимов в Sendmail и Postfix

Описание:  Кандидат BSDA должен понимать когда надо создать почтовый псевдоним (алиас) и как это сделать в Sendmail и в Postfix

Практика: newaliases(1), aliases(5), postaliases(1)

5.13. Остановка, перезагрузка или перевод системы в однопользовательский режим

Описание:  Кандидат BSDA должен понимать последствия связанные с остановкой, перезагрузкой ли переводом системы в однопользовательский режим, понимать когда это необходимо и как минимизировать при этом воздействие на сервер.

Практика: shutdown(8)

5.14. Отличие жёстких ограничений от мягких и изменение существующих системных ограничений

Описание:  Кандидат должен понимать, что ограничения ресурсов наследуются от оболочки и уметь изменять их постоянно или временно. Кандидат должен понимать разницу между мягким и жёстким ограничением.

Практика: limit(1), limits(1), login.conf(5), sysctl(8) на NetBSD

5.15. Знание утилит BSD для регулировки трафика и контроля за полосой пропускания

Описание:  Кандидат должен понимать когда следует создать политики для контроля ширины полосы пропускания для доступа к некоторым сервисам. Кандидат должен знать какие средства доступны для контроля ширины полос пропускания.

Практика: ipfw(8), altq(4), dummynet(4), altq(9), altqd(8), altq.conf(5)

5.16. Знание распространённых конфигурационных системных файлов и, возможно, сторонних конфигурационных файлов различных сервисов

Описание:  Системы BSD часто используют для предоставления услуг Интернет. Кандидата BSDA могут попросить найти, рассмотреть и сделать какие-нибудь изменения в конфигурационных файлах каких-нибудь сервисов. Кандидат должен знать как называются конфигурационные файлы и с какими они связаны сервисами.

Практика: httpd.conf(5), sendmail.cf, master.cf, dhcpd.conf(5), named.conf(5), smb.conf(5)

5.17. Конфигурирование сервисов для автоматического старта при запуске системы

Описание:  Кандидат BSDA должен знать, что в процессе загрузки BSD не используются уровни запуска (runlevels из SystemV — примечание переводчика). Для того, чтобы минимизировать воздействие на систему перезагрузок, кандидат должен уметь сконфигурировать систему так, чтобы сервисы стартовали при загрузке системы автоматически. Причём сделать это надо собственными средствами BSD.

Практика: rc.conf(5), rc(8), inetd(8)

5.18. Конфигурирование скриптов, нужных для различных задач по обслуживанию системы, для периодического запуска

Описание:  Системы BSD предоставляют множество скриптов для управления и проверки системы. Если требуется, кандидат BSDA должен уметь найти эти скрипты и запустить вручную, а так же уметь сделать так, чтобы они запускались регулярно раз в день, еженедельно, ежемесячно, на любой системе BSD.

Практика: periodic.conf(5) и periodic(8) на DragonFly BSD и FreeBSD; security.conf(5), daily.conf(5), weekly.conf(5) и monthly.conf(5) на NetBSD; daily(8), weekly(8) и monthly(8) на OpenBSD

5.19. Просмотр очереди Sendmail'а или Postfix'а

Описание:  Кандидат BSDA должен уметь просмотреть почтовую очередь, чтобы определить какое письмо застряло. Если необходимо, надо уметь заставить MTA заново обработать почту, или очистить её.

Практика: mailq(1), postqueue(1)

5.20. Определение когда последний раз была запущена система и какова её загруженность

Описание:  Кандидат BSDA должен уметь определить загруженность системы за последнюю минуту, 5 и 15 минут, а так же время прошедшее с последней перезагрузки.

Практика: uptime(1), w(1), top(1)

5.21. Слежение за операциями ввода/вывода на диске

Описание:  Операции ввода/вывода на диске сильно влияют на производительность системы. Кандидат BSDA должен знать какие утилиты доступны на системах BSD для контроля за операциями дискового ввода/вывода и как интерпретировать их результаты.

Практика: iostat(8), stat(1), vmstat(1), nfsstat(1)

5.22. Работа с занятыми устройствами

Описание:  Кандидат BSDA должен понимать что может вызвать зависание процесса, как обнаружить такой процесс и что делать в сложившейся ситуации.

Практика: ps(1), fstat(1), kill(1), umount(8) и сторонняя утилита lsof(8)

5.23. Определение информации характеризующей операционную систему

Описание:  Кандидат BSDA должен уметь определить тип и версию установленной операционной системы.

Практика: uname(1), sysctl(1); /etc/release на NetBSD.

5.24. Понимание преимуществ использования лицензии BSD

Описание:  Кандидат BSDA должен знать о лицензии BSD состоящей из 2-х параграфов, и знать, что эта лицензия неограничивает интеграцию продуктов OpenSource в коммерческие продукты.

Глава 6. Сетевое администрирование

TCP/IP был изначально реализован в BSD. BSD попрежнему предлагает основные сетевые сервисы для надёжной работы Интернета. Кандидат должен продемонстрировать хорошее понимание как IPV4 так и IPV6 адресации как основ теории сетей. Тренеры должны предоставить материал на уровне Network+ или CCNA.

6.1. Определение существующих установок TCP/IP

Описание.  Кандидат BSDA должен уметь определить IP адреса системы, маску подсети, шлюз, первичный и вторичный сервер DNS и имя хоста.

Практика. ifconfig(8), netstat(1), resolv.conf(5), route(8), hostname(1)

6.2. Установка параметров TCP/IP

Описание.  Кандидат должен уметь изменять настройки TCP/IP как временно, так и постоянно, так, чтобы изменения сохранялись после перезагрузки.

Практика. hostname(1), ifconfig(8), route(8), resolv.conf(5), rc.conf(5), hosts(5), hostname.if(5), myname(5), mygate(5), netstart(8)

6.3. Определение какие TCP или UDP порты открыты в системе

Описание.  Кандидат BSDA должен уметь использовать программы входящие в состав BSD, а так же сторонние программы, для определения того, какие порты в системе открыты, и какие порты видны через брандмауэр.

Практика. netstat(1), services(5), fstat(1); sockstat(1) и сторонное продукты nmap и lsof.

6.4. Проверка доступности TCP/IP сервиса

Описание.  Кандидат BSDA должен уметь определить доступна ли удалённая система через TCP/IP и, если да, уметь при помощи telnet(1) убедиться отвечает ли сервис на клиентские запросы.

Практика. ping(8), traceroute(8), telnet(1), nc(1) на FreeBSD и OpenBSD

6.5. Запрос к серверу DNS

Описание.  Кандидат BSDA должен понимать основы теории DNS, включая типы DNS записей обратное преобразование имён и перенос зон. Кандидат должен уметь посылать запросы серверу DNS о записях нужного типа, понимать какой сервер авторитетен за зону и понимать готов ли сервер к пересылке зоны.

Практика. dig(1), host(1), nslookup(1), ping(8), telnet(1)

6.6. Определение кто ответственный за зону DNS

Описание.  Кандидат должен уметь выполнить обратный DNS запрос для определения сети, в которой находится машина с данным IP адресом и собрать информацию об этой сети.

Практика. dig(1), whois(1)

6.7. Изменение порядка разрешения имён

Описание.  Кандидат BSDA должен уметь определить в каком порядке опрашиваются различные системы при разрешении имён и знать в каком конфигурационном файле это определяется

Практика. ping(8), telnet(1), nsswitch.conf(5), resolv.conf(5), host.conf(5)

6.8. Перевод сетевой маски между системами точечно-десятичной, точечно-шестнадцатеричной или CIDR

Описание.  Кандидат BSDA должен знать как устроена адресация IPv4 и как конвертировать адреса и сетевые маски из одного формата в другой.

6.9. Собирать информацию используя IP адрес и маску подсети

Описание:  Зная IP адрес и маску подсети кандидат должен уметь определить адрес подсети, широковещательный адрес, адреса хостов возможные в данной подсети.

6.10. Понимание теории адресации IPV6

Описание.  Кандидат BSDA должен понимать основы адресации IPv6, включая: компоненты адреса IPv6; поддержку нескольких адресов (link, local, global) на интерфейсе; различные способы записи адреса: запись префикса (aaaa:bbbb::dddd/17) и адресный формат (48 бит на префикс, 16 бит на подсеть и 64 бита на хост). В дополнение кандидат должен понимать процесс автоконфигурирования когда маршрутизатор отсылает префиксы или опрашивается, и как хост добавляет 64 бита, которые получаются из MAC-адреса. Наконец, кандидат должен уметь решать проблемы связи по протоколу IPv6.

Практика. ifconfig(8), ping6(8), rtsol(8)

6.11. Демонстрация основных навыков работы с утилитой tcpdump(1)

Описание.  По данному выводу команды tcpdump(1) кандидат BSDA должен уметь дать ответ на основные вопросы связанные со связью по сети. Для этого кандидат должен знать обычные номера портов для распространённых TCP и UDP сервисов, разницу между TCP/IP сервером и клиентом и о «тройном рукопожатии».

Практика. tcpdump(1)

6.12. Работа с ARP и кешем найденных соседей

Описание.  Кандидат должен понимать основы работы протокола ARP: обнаружение соседей, изучение arp-кеша, использование в сетях IPv6. Кандидат должен уметь просмотреть, изменить и очистить этот кеш, а так же понять когда это надо сделать.

Практика. arp(8), ndp(8)

6.13. Конфигурирование системы для использования NTP

Описание.  Кандидат BSDA должен быть знаком с основными идеями RFC 868, важностью синхронизации времени, какие сервисы чувствительны ко времени. Кандидат должен уметь сконфигурировать NTP и, если это требуется, вручную синхронизировать время с сервером времени.

Практика. ntpd(8), ntpd.conf(5), rc.conf(5), rdate(8)

6.14. Просмотр и обновление «арендованных» данных DHCP

Описание.  Кандидат BSDA должен быть знаком с основами DHCP, должен знать как сконфигурировать клиента, перебить настройки полученные с сервера DHCP. В добавок, кандидат должен уметь просмотреть текущие «арендованные» настройки, сбросить их и получить новые. Поскольку DHCP клиенты используются разные, кандидат должен быть знаком с использованием команд DHCP клиента на каждой BSD.

Практика. dhclient(8), dhclient.leases(5), dhclient.conf(5), rc.conf(5)

6.15. Знание как и когда устанавливать или удалять алиасы сетевого интерфейса

Описание.  Кандидат BSDA должен уметь определить когда следует удалить или установить алиас (псевдоним) для сетевого интерфейса и какие команды доступны для этого в разных BSD.

Практика. ifconfig(8), rc.conf(5), ifaliases(5), hostname.if(5)

Глава 7. Базовые навыки работы в Unix

Корни систем BSD находятся в Unix, многие Unix утилиты изначально разработаны в BSD. Кандидат BSDA должен продемонстрировать знакомство с основными утилитами командной строки Unix.

7.1. Перенаправление вывода и использование tee(1)

Описание:  Кандидат BSDA должен уметь перенаправлять стандартный вывод, ввод или поток ошибок программы, использовать pipe чтобы послать вывод одной программы в другую программу или в файл. Использовать tee(1) чтобы копировать стандартный ввод на стандартный вывод.

Практика: <, >, |, tee(1), >& и |&

7.2. Определение просмотр и изменение переменных окружения

Описание:  Кандидат BSDA должен уметь просматривать и изменять переменные окружения временно и постоянно для любой оболочки поставляемой с системой BSD.

Практика: env(1), sh(1), csh(1), tcsh(1), environ(7)

7.3. Навыки работы в vi(1)

Описание:  по умолчанию в системах BSD используется редактор vi(1) многие системные утилиты используют его в своей работе. Кандидат BSDA должен уметь использовать этот редактор: редактировать файлы, редактировать файлы доступные только для чтения, выходить из редактора без сохранения.

Практика: vi(1) including: :w, :wq, :wq!, :q!, dd, y, p, x, i, a, /, :, :r, ZZ, :set number, :set list

7.4. Определение является ли файл бинарным, текстовым или содержащим данные

Описание:  Системы BSD используют соглашения об именовании файлов, для того, чтобы было проще определить чем является файл. Однако кандидат должен понимать, что это только соглашения и уметь использовать базу данных magic для определения того, чем является файл.

Практика: file(1), magic(5)

7.5. Поиск файлов и бинарников в системе

Описание:  Кандидат BSDA должен уметь быстро найти где находится нужный файл и знать какие утилиты нужны для обнаружения бинарников, исходных кодов, страниц man и файлов. Кандидат должен уметь обновить базу данных locate(1)

Практика: whatis(1), whereis(1), which(1), locate(1), find(1), sh(1) включая встроенную команду type и опции -v и -V, locate.updatedb(8), locate.conf(5).

7.6. Поиск файла по заданным атрибутам

Описание:  Утилита find(1) незаменима при поиске файлов с заданными параметрами. Кандидат BSDA должен свободно владеть ею. На экзамене его могут попросить найти файл с заданным последним временем изменения, размером, типом, файловыми флагами, UID, GID, пермиссиями или содержащим в названии какой-то шаблон.

Практика: find(1)

7.7. Написание несложных Bourne-скриптов

Описание:  Большинство задач системного администрирования могут быть автоматизарованы с использованием shell-скриптов. Кандидат BSDA должен знать о преимуществах и недостатках использования скриптов Bourne shell более, нежели csh(1) или bash(1). Кандидат должен различать «магическую строку» (shebang), комментарии, позиционные параметры и специальные параметры, маски в шаблонах, знать как правильно использовать кавычки и обратные слеши, операторы for, while, if, case и esec. Кандидат должен знать как сделать скрипт исполнимым и как его отлаживать.

Практика: sh(1), chmod(1)

7.8. Поиск нужной документации

Описание:  Системы BSD хорошо документированы. Существует множество доступных администратору ресурсов. Кандидат должен уметь воспользоваться локальной документацийе, а так же знать о документации доступной в сети Internet.

Практика: apropos(1), man(1), man.conf(5), whatis(1), и info(1); share/doc и share/examples; в добавок, каждый проект BSD имеет on-line документацию и несколько почтовых списков рассылки.

7.9. Понимание различий в страницах man

Описание:  Кандидат BSDA должен знать на какой странице man(1) какая находится информация. Кандидат должен уметь определить какая страница man(1) ему нужна. Кандидат должен уметь осуществлять поиск в справочной системе man(1).

Практика: man(1), intro с (1) по (9), "/".

7.10. Проверка контрольной суммы файла

Описание:  Кандидат должен быть знаком с началами теории вычисления конторльной суммы и почему вообще важно её вычислять. Кандидат должен уметь вычислить контрольную сумму файла, проверить контрольную сумму.

Практика: md5(1), openssl(1), sha1(1), cksum(1).

7.11. Продемонстрировать знакомство с оболочками используемыми по умолчанию в системе

Описание:  Кандидат BSDA должен свободно пользоваться оболочками sh(1), csh(1) или tcsh(1). Кандидат должен уметь изменять поведение обеих оболочек временно или постоянно, включая: предотвращать уничтожение существующих файлов, использовать историю команд, определять псевдонимы команд для экономии времени в командной строке. Кандидат должен знать как временно отменить псевдоним.

Практика:  sh(1), csh(1) и tcsh(1), включая !, !!, $, 0, h, t, r, p, \.

7.12. Чтение почты на локальной машине

Описание:  Кандидат должен знать, что различные системные сообщения высылаются по почте пользователю root, а многие сторонние почтовые клиенты (MUA) не всегда могут быть установлены. Кандидат должен уметь как читать, так и посылать почту при помощи встроенной почтовой программы mail(1). Кандидат должен знать где расположены почтовые ящики пользователей.

Практика: mail(1), /var/mail/$USER.

7.13. Использование контроля за задачами (job control)

Описание:  Кандидат должен знать как запустить процесс в фоновом режиме, переместить запущенный процесс в фон, вернуть на передний план процесс работающий в фоне. Кандидат должен уметь проверить запущены ли какие-нибуть задачи в фоновом режиме и знать разницу между командой kill(1) и встроенной в оболочку командой kill.

Практика: &, ^Z, jobs, fg, bg, и встроенная в оболочку kill.

7.14. Применение регулярных выражений

Описание:  Работа с регулярными выражениями является частью повседневной работы системного администратора. Кандидат BSDA должен быть способен искать текстовые шаблоны при анализе вывода программ или поиске в файлах. Кандидат должен уметь указать диапазон символов в скобках [], определить литерал (?!), использовать квантификаторы, отличать метасимволы и создавать инвертированные фильтры.

Практика: grep(1), egrep(1), fgrep(1), re_format(7).

7.15. Преодоление ограничений на длину командной строки

Описание:  Длина командной строки ограничена. Порой приходится создавать командные строки, которые не помещаются в отведённых пределах. Кандидат должен знать как запустить команду несколько раз с различными аргументами, используя xargs(1) или цикл while.

Практика: xargs(1), find(1).

7.16. Понимание значения термина домен в различных контекстах

Описание:  Термин "домен" используется в UNIX в различных значениях. Кандидат должен понимать значение этого термина в контексте NIS, DNS, Kerberos и доменах NTLM.

Практика: domainname(1), resolv.conf(5), krb5.conf(5), smb.conf(5)

7.17. Работа с cron

Описание:  Кандидат должен понимать разницу между системным crontab и пользовательским. В добавок, он должен владеть редактором crontab, разбираться в его полях и понимать важность предварительного тестирования скрипта перед тем как записать его в crontab. Кандидат так же должен знать про то, что он может создать файлы /etc/cron/allow и /etc/cron/deny и для чего они нужны.

Практика: crontab(1), cron(8), crontab(5)

Глава 11. Заключение

Экзамен BSDA включает в себя лишь основы. Ожидается, что кандидат знает оновные концепции и детали всех четырёх основных систем BSD. Сертификационная группа BSD выражает надежду, что несмотря на тяжесть экзамена для некоторых начинающих кандидатов, знание всех четырёх ветвей BSD поможет кандидатам разобраться и использовать соответствующие BSD правильным образом на нужных местах.

Описывая темы приведённые в этом документе кандидат впитает знания и информацию, которые он мог пропустить при повседневной работе с BSD Unix. Результатом будет увеличение количества квалифицированных пользователей и администраторов и увеличение числа людей осведомлённых о богатом ассортименте систем BSD. Это приведёт к увеличению распространённости систем BSD.

Приложение A. Список команд и файлов обсуждаемых в книге

В следующей таблице представлен алфавитный список команд и файлов упомянутых в разделах «Практика» экзаменационных тем. Цель таблицы — помочь кандидату в обучении.

Кандидат должен понимать, что доступность и расположение этих команд может со временем меняться. Мы просим тех кандидатов, которые заметят, что некоторая команда доступна в системе, тогда, как в таблице сказано, что это не так, связаться с BSD CG через website, указать имя команды и версию операционной системы. Актуальная версия таблицы поддерживается на http://www.bsdcertification.org/.

Обозначения в таблице:

X
Входит в состав операционной системы и имеет соответствующую man-страницу
*
Входит в состав операционной системы, но не имеет своей man-страницы
P
Доступна в качестве стороннего продукта (порта)

Таблица A.1. Раскладка файлов и команд по операционным системам

Command or FileDragonfly BSDFreeBSDNetBSDOpenBSD
/etc/release X
/etc/ssh/*XXXX
/kern/msgbuf X
/var/log/*XXXX
/var/mail/$USERXXXX
/var/run/dmesg.bootXXXX
ac(8)XXXX
accton(8)XXXX
acl(3)XX
adduser.conf(5)XX
adduser(8)XX X
afterboot(8) XX
aliases(5)XXXX
altq.conf(5) X
altq(4) или (9) XXX
altqd(8) X
apropos(1)XXXX
arp(8)XXXX
atacontrol(8)XX
atactl(8) XX
audit-packagesP P
auth.conf(5)XX
bsd.port.mk(5) X
build.sh X
bzcat(1) (bzip)XXXP
camcontrol(8)XX
ccdconfig(8)XXXX
cgd(4) X
chflags(1)XXXX
chfn(1)XXXX
chgrp(1)XXXX
chmod(1)XXXX
chown(8)XXXX
chpass(1)XX X
chroot(8)XXXX
chsh(1)XXXX
cksum(1)XXXX
cp(1)XXXX
cpdup(1)XP
cpio(1) или (1L)XXXX
cron(8)XXXX
crontab(1)XXXX
crontab(5)XXXX
csh(1)XXXX
cvs(1)XXXX
cvsup(1)PPPP
cvsync(1)PPPP
daily.conf(5) X
daily(8) X
dd(1)XXXX
df(1)XXXX
dhclient.conf(5)XXXX
dhclient.leases(5)XXXX
dhclient(8)XXXX
dig(1)XXXX
dmesg(8)XXXX
domainname(1)XXXX
du(1)XXXX
dump(8)XXXX
egrep(1)XXXX
env(1)XXXX
environ(7)XXXX
etcupdate(8) X
exports(5)XXXX
fetch(1)XX
fgrep(1)XXXX
file(1)XXXX
find(1)XXXX
finger(1)XXXX
firewall(7)XX
fsck(8)XXXX
fsdb(8)XXXX
fstab(5)XXXX
fstat(1)XXXX
ftp(1)XXXX
ftpusers(5) X
gbde(4)(8) X
getfacl(1) X
gettytab(5)XXXX
gmirror(8) X
graid3(8) X
grep(1)XXXX
groups(1)XXXX
gstripe(8) X
hier(7)XXXX
host(1)XXXX
hostname.if(5) X
hostname(1)XXXX
host.conf(5)X
hosts(5)XXXX
id(1)XXXX
ifaliases(5) X
ifconfig(8)XXXX
inetd(8)XXXX
info(1)XXXX
init(8)XXXX
intro с (1) по (9) XXXX
iostat(8)XXXX
ipf(8)XXX
ipfstat(8)XXX
ipfw(8)XX
jail(8)XX
kill(1)XXXX
killall(1)XX
kldload(8)XX
kldstat(8)XX
kldunload(8)XX
krb5.conf(5)XXXX
last(1)XXXX
lastcomm(1)XXXX
lastlog(5)XXXX
lastlogin(8)XXX
limit(1)XXXX
limits(1)XXX
lkm.conf(5) X
ln(1)XXXX
loader.conf(5)XX
locate.conf(5) X
locate.updatedb(8)XXXX
locate(1)XXXX
login.conf(5)XXXX
lpc(8)XXXX
lpq(1)XXXX
lprm(1)XXXX
ls(1)XXXX
lsof(8) PPP
mac(4) X
magic(5)XXXX
mail(1)XXXX
mailer.conf(5)XXXX
mailq(1) или (8)XXXX
make.conf(5)XX
make(1)XXXX
make buildworldXXXX
make installworldXXXX
make replaceX X
make show-downlevelX X
make updateX X
make quickworldX
man.conf(5) XX
man(1)XXXX
master.cf (postfix) PXP
md5(1)XXXX
mergemaster(8)XX P
mk.conf(5) XX
modload(8) XX
modstat(8) XX
modunload(8) XX
monthly.conf(5) X
monthly(8) X
motd(5)XXXX
mount(8)XXXX
mountd(8)XXXX
mount_nfs(8)XXXX
mtree(8)XXXX
mygate(5) *X
myname(5) *X
nc(1) (netcat)PXPX
ndp(8)XXXX
netstart(8) X
netstat(1)XXXX
newaliases(1) или (8)XXXX
newsyslog.conf(5)*XXX
newsyslog(8)XXXX
nfsd(8)XXXX
nfsstat(1)XXXX
nice(1)XXXX
nmap(1)PPPP
nologin(8)XXXX
nslookup(1) или (8)XXXX
nsswitch.conf(5)XXX
ntpd.conf(5)XXXX
ntpd(8)XXXX
openssl(1)XXXX
packages(7) или ports(7) XX
passwd.conf(5) X
passwd(1) и (5)XXXX
patch(1)XXXX
pax(1)XXXX
pciconf(8)XX
periodic.conf(5)XX
periodic(8)XX
pf(4)XXXX
pfctl(8)XXXX
pgrep(1)XXXX
ping(8)XXXX
ping6(8)XXXX
pkg_add(1)XXXX
pkg_chkP P
pkg_compP P
pkg_delete(1)XXXX
pkg_info(1)XXXX
pkgtools.conf(5) X
pkg_version(1)XX
pkill(1)XXXX
portaudit(1) P
portmap(8)XX X
portupgrade(1) P
postalias(1) (postfix) PXP
postinstall(8) X
postqueue(1) (postfix) PXP
printcap(5)XXXX
ps(1)XXXX
pstat(8)XXXX
pw(8)XX
pwd_mkdb(8)XXXX
raidctl(8) XX
rc.conf(5) или (8)XXXX
rc(8)XXXX
rdate(8)XPXX
re_format(7)XXXX
renice(1) или (8)XXXX
resolv.conf(5)XXXX
restore(8)XXXX
rm(1)XXXX
rmuser(8)XX X
route(8)XXXX
rpc.lockd(8)XXXX
rpc.statd(8)XXX
rpcbind(8) XX
rtsol(8)XXXX
sa(8)XXXX
scsi(4) или (8) XXX
scsictl(8) X
security.conf(5) X
security(7) или (8)XX X
sendmail.cfXXXX
services(5)XXXX
sh(1)XXXX
sha1(1)XXXX
share/docXXXX
share/examplesXXX
shutdown(8)XXXX
sockstat(1)XXX
sort(1)XXXX
src/BUILDING X
src/UPDATING XX
ssh-keygen(1)XXXX
sshd_config(5)XXXX
sshd(8)XXXX
stat(1) или stat(2)XXXX
su(1)XXXX
sudo(8)PPPX
sudoedit(8) (sudo)PPPX
sudoers(5) (sudo)PPPX
swapctl(8) XXX
swapinfo(8)XX
sysctl.conf(5)XXXX
sysctl(8)XXXX
sysinstall(8) X
syslog.conf(5)XXXX
systat(1)XXXX
systrace(1) XX
tail(1)XXXX
tar(1)XXXX
tcsh(1)XXPP
tee(1)XXXX
telnet(1)XXXX
top(1)XXXX
traceroute(8)XXXX
ttys(5)XXXX
umask(1) или (2)XXXX
umount(8)XXXX
uptime(1)XXXX
user(8) XX
useradd(8) XX
userdel(8) XX
usermgmt.conf(5) XX
usermod(8) XX
users(1)XXXX
utmp(5)XXXX
veriexecctl(8) X
vi(1)XXXX
vinum(8)XX
vipw(8)XXXX
visudo(5) (sudo)PPPX
vmstat(1) или (8)XXXX
vnd(4) XX
vuxml P
w(1)XXXX
weekly.conf(5) X
weekly(8) X
whatis(1)XXXX
whereis(1)XXXX
which(1)XXXX
who(1)XXXX
whoami(1)XXXX
whois(1)XXXX
wtmp(5)XXXX
xargs(1)XXXX
Xen P
zmore(1)XXXX