Copyright © 2005 BSD Certification Group
Аннотация
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.Содержание
Список таблиц
Здравствуйте! В этом документе подробно, в деталях, описаны темы встечающиеся на экзамене по операционным системам BSD (BSDA). Экзамен касается всех четырёх основных ветвей BSD UNIX — NetBSD, FreeBSD, OpenBSD и DragonFly BSD.
Поскольку ожидается, что тестируемый кандидат обладает знаниями основных принципов всех четырёх операционных систем, нет необходимости знать их все детально. Чтение этого документа рекомендуется для понимания того, какие знания ожидаются от кандидата.
В этом документе преобладают термины «разбираться» и «понимать» вместо «продемонстрировать» и «проделать». Первое означает, что требуется понимание предмета, а второе — демонстрация конкретных действий. Запомните, разница значительная.
В большинстве случаев удачная сдача экзамена требует учёбы и практических навыков. Для экзамена требуется чтобы кандидаты по возможности имели опыт в BSD. Сознательным решением BSD CG было создание перекрёстных тем: широкие знания приобретать столь же трудно как и глубокие. Результатом станет появление большего числа пропагандистов BSD и большего числа грамотных системных администраторов.
The BSD Certification Group www.bsdcertification.org October 4, 2005
Содержание
Данный документ описывает требования сертификационной группы операционных систем семейства BSD (BSDA — BSD Associate). BSDA это первый экзамен из серии экзаменов, которые будут разработаны нашей группой для продвижения BSD Unix в мире.
Документ служит двум целям. Он описывает сертификацию как таковую, включая названия, описание, рассматриваемые операционные системы и их версии и требования по вторичной переэкзаменовки. Кроме того, он предоставляет семь учебных блоков с экзаменационными темами. В них детально описаны экзаменационные темы. В целом, учебные блоки описывают необходимый на данном уровне минимум знаний у системного администратора.
Данный документ будет интересен следующим лицам:
На момент написания данного текста не существует официальных учебных материалов по данной теме. По этой причине каждая тема снабжена подробным описанием нужной теоретической базы и списком команд, которые кандидат должен освоить для сдачи экзамена. Желательно чтобы кандидат в целом имел опыт работы с командами, необходимый для сдачи экзамена, и был бы способен использовать самообучение для приобретения недостающих навыков. Самообучение должно базироваться на руководствах соответствующих проектов BSD (handbook) и online документации, страницах man, существующих руководств (tutorials) и howto, а так же Google.
Так же существуют кандидаты, желающие влиться в ряды администраторов BSD и желающие получить программу обучения. BSD CG рекомендует:
Сертификационный экзамен 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. |
Для того, чтобы сертификация обладала практическим смыслом, мы должны освещать известные операционные системы, которые можно встретить на рабочих станциях. Изначально BSDA включает следующие операционные системы:
Несмотря на то, что охвачено много версий операционных систем, кандидат может расчитывать на то, что большинство утилит встречающихся в экзамене BSDA редко меняется от версии к версии.
Однако мы предупреждаем кандидата, чтобы он внимательно изучил темы экзаменационных вопросов в этом отношении. Пример: кандидат использующий FreeBSD 4.11 не будет иметь опыта работы с gmirror(8) появившемся в FreeBSD 5.3 и доступном лишь в поздних релизах. Рекомендуется изучить «Release Notes» операцинной системы, если в экзаменационном вопросе встретилась функция отсутствующая в его операционной системе.
Темы экзаменационных вопросов, версии рассматриваемых операционных систем меняются, сами вопросы регулярно пересматриваются так, чтобы они соответствовали текущему положению вещей. При выходе новых версий операционных систем должен публиковаться соответствующий ананс и становятся доступными новые темы экзаменов.
После того, как кандидат успешно сдаст экзамен, он НЕ ДОЛЖЕН заново сдавать его в следующих случаях:
Однако сертификация BSDA действует только 5 лет, по прошествии пяти лет кандидату следует сдать экзамен повторно. Подробности отностительно переэкзаменовки будут опубликованы в 2006 году.
Содержание
Ниже приведено официальное описание экзамена BSDA предназначенное для тренерских центров и центров тестирования и для использования в учебных материалах:
Сертификационный экзамен BSDA (объединённые системы BSD Unix) требует показать основные навыки по администрированию систем BSD Unix. Кандидат должен продемонстрированить понимание основ системного администрирования и продемонстрировать мастерство в следующих областях:
- Установка и обновление операционной системы и програмного обеспечения
- Безопасность в операционной системе
- Работа с файлами, файловыми системами и дисками
- Управление пользовательскими учётными записями
- Основы системного администрирования
- Сетевое администррование
- Основные Unix-навыки
По каждой из упомянутых областей существуют подробные экзаменационные темы полностью описанные в 'BSDA Certification Requirements Document', доступном на website'е BSD Certification Group www.bsdcertification.org.
Официальный номер экзамена будет сообщён когда экзамен будет готов. Анонсы для всех прочих экзаменов будут доступны так же на website'е Сертификационной группы BSD (BSDCG) www.bsdcertification.org.
Экзамен BSDA сотоит из семи учебных блоков, каждый из которых содержит некоторое количество тем:
Для сдачи экзамена кандидаты должны знать все темы, хотя и не все темы могут попасться на экзамене.
Темы экзаменационных вопросов, это ещё не сами экзаменационные вопросы. Темы экзаменов доступны к публичному распространению, тогда как экзаменационные вопросы являются частной интеллектуальной собственностью BSD CG. Те, кто имеет доступ к экзаменационным вопросам — психометристы(?), переводчики, центры тестирования и кандидаты прошедшие экзамен должны подписать соглашение о неразглашении (NDA — Non Disclosure Agreement) и будут наказываться в случае его нарушения.
Чтобы помочь кандидату в обучении, а так же для тех, кто будет готовить материал для тренинга студентов, каждая экзаменационная тема состоит из трёх частей:
Описание. , в котором сказано какими знаниями должен обладать кандидат для успешного применения данного вопроса в администраторской практике. Глубина знаний ожидаемая по этому вопросу от кандидата описана в Раздел 1.1, «Аудитория экзамена BSDA».
Практика. , в этом разделе дан список команд и других объектов, которые могут случиться на экзамене. Даны ссылки на страницы man. Кандидатам рекомендуется самостоятельно ознакомиться с этими страницами.
Замечание | |
---|---|
При использовании экзаменационных тем имейте ввиду следующее:
|
Содержание
Важным аспектом системного администрирования является поддержание в актуальном состоянии и операционной системы и програмных продуктов сторонних производителей. Преимуществом систем BSD является существование множества средств помогающих администратору определять версии програмных продуктов и вычислять их зависимости. Эти средства позволяют определять к каким програмым продуктам появились обновления, или какие имеют известные уязвимости в области безопасности. Они так же помогают обновлять и исправлять програмное обеспечение и его зависимости.
Когда, что и как устанавливать зависит от каждой конкретной организации в которой работает администратор. Кандидат BSDA должен знать, какими он обладает средствами для решения этих задач, какие необходимо соблюдать предосторожности при работе на работающем оборудовании под управлением старшего администратора.
Описание: От кандидата BSDA не требуется составить план инсталляции, но он должен уметь начать и закончить инсталляцию операционной системы в соответствии с приведёнными требованиями. Поскольку процедура инсталляции зависит от конкретной системы, кандидату рекомендуется иметь опыт работы со средствами установки каждой BSD системы предлагаемыми в этих системах по умолчанию. Так же ожидается, что кандидат имеет знания об основных релизах (т.е. релизах с номером X.0) и где найти информацию о них на соответствующих сайтах BSD-проектов.
Практика: http://www.bsdinstaller.org для DragonFly BSD, sysinstall(8) для FreeBSD, sysinst на инсталляционном диске NetBSD, и INSTALL.[arch] на инсталляционном диске OpenBSD.
Описание: Кандидат 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
.
Описание: Кандидат должен быть знаком с тем, где по умолчанию находится дерево портов и пакетов (ports collention, pkgsrc collection) и какая из систем BSD какое дерево использует. Кандидат должен уметь определить расширение используемое пакетами. Кандидат должен понимать преимущества и недостатки инсталляции заранее скомпилированных бинарников и преимущества и недостатки сборки бинарников из исходного кода.
Описание: Кандидат BSDA должен понимать, что заранее скомпилированные бинарники просты и быстры в установке, но не дают возможности настройки бинарника к нуждам системы. Кандидат должен знать как установить заранее скомпилированный бинарник из удалённого источника, или с локальной машины, так же как и знать как удалить установленный пакет.
Практика: pkg_add(1), pkg_delete(1)
Описание: Для поддержки опций программы 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)
Описание: Кандидат BSDA должен разбираться как определить какое програмное обеспечение установлено на BSD, проследить зависимости при помощи менеджера пакетов в случае, если программы установлены при помощи портов или пакетов (packages, ports или pkgsrc). Кандидат должен уметь узнать через менеджер пакетов какое програмное обеспечение стоит на машине и какой версии.
Практика: pkg_info(1)
Описание: Кандидат должен понимать важность соблюдения равновесия между сохранением програмого обеспечения в актуальном состоянии и минимизации воздействий на производительность системы. Dragonfly BSD и NetBSD используют pkgsrc предоставляющую утилиты позволяющие определить какое програмное обеспечение устарело. FreeBSD предоставляет pkg_version и сторонние утилиты интегрированные с менеджером пакетов.
Практика: pkgsrc/pkgtool/pkg_chk и make show-downlevel для Dragonfly BSD и NetBSD; pkg_version(1), и сторонняя программа portupgrade(1).
Описание: Кандидат BSDA должен разбираться во встроенных и сторонних средствах обновления установленного програмного обеспечения. В добавок кандидат должен знать какие системы используют pkgsrc.
Практика: DragonFly BSD и NetBSD предлагают pkgsrc/pkgtools/pkg_chk, pkgsrc/pkgtools/pkg_comp, make update и make replace; portupgrade и cvsup доступны как сторонние продукты.
Описание: Кандидат BSDA должен понимать важность слежения за обнаруживаемыми уязвимостями в безопасности програмного обеспечения. Кандидат должен разбираться в сторонних утилитах интегрированных с менеджером пакетов предназначенных для обнаружения програмного обеспечения с уязвимостями в системе безопасности.
Практика: audit-packages для Dragonfly BSD и NetBSD; portaudit и vuxml для FreeBSD и OpenBSD
Описание: Кандидат BSDA должен быть осведомлён о том, что каждый проект BSD сопровождается советниками по безопасности, чьи советы доступны как через Интернет, так и через почтовые списки рассылок. Кандидат должен уметь следовать инструкциям данным в этих советах.
Практика: patch(1), make(1), и fetch(1); ftp(1) и build.sh
Содержание
Признаком хорошего системного администратора является осведомлённость о проблемах безопасности и забота о безопасности системы. Ожидается, что кандидат BSDA знаком с распростанёнными средствами обеспечения безопасности системы. Системы BSD реализованы с учётом проблем безопасности и предоставляют множество средств позволяющих администратору подстроить систему к требованиям политики безопасности его организации. Кандидат не может всегда отвечать за реализацию механизмов безопасности, но должен знать о свойствах и этих средств и доступных командах.
Описание: Системы BSD предоставляют несколько предопределённых настроек безопасности, известных как уровни безопасности (securelevels). Кандидат должен знать на каком он уровне безопасности, можно ли поднять или опустить уровень безопасности и как.
Практика: init(8), sysctl(8),
rc.conf(5)
Описание: Кандидат BSDA должен знать как настроить встроенный демон sshd(8) для ограничения доступа к системе через SSH.
Практика: sshd_config(5)
Описание: Кандидат должен понимать теорию публичных/приватных ключей включая: какие протоколы доступны для генерирования пар ключей, выбор подходящего bit size, предоставления "начальной строки"(?) (seed), passphrase, и проверки отпечатка (fingerprint). В дополнение, кандидат должен уметь генерировать свои ключи и использовать их для аутентификации.
Практика: ssh-keygen(1) включая следующие ключевые слова: authorized_keys, id_rsa и id_rsa.pub.
Описание: В добавок к знанию о том как генерируются системные SSH ключи, кандидат BSDA должен знать где расположены системные ключи и как предохранить их при обновлении или замене системы.
Практика: /etc/ssh/ssh_host*_key*
Описание: От кандидата BSDA не требуется знания того как сконфигурировать альтернативный метод аутентификации. Однако кандидат должен понимать основы теории аутентификации, знать, что аутентификация по имени пользователя и паролю — не единственный способ аутентификации в системах BSD. Кандидат должен понимать основы PAM и знать, что он доступен в DragonFly BSD, FreeBSD и NetBSD 3.x. Он должен так же знать основы теории касающейся Kerberos, OTP и RADIUS.
Описание: Кандидат должен понимать основы теории авторизации и как MAC и ACL расширяют стандартные UNIX-пермиссии.
Практика: mac(4) и acl(3) на FreeBSD; systrace(1) на NetBSD и OpenBSD.
Описание: Кандидат 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)
.
Описание: Каждая система BSD снабжена хотя бы одним брандмауэром. Кандидат BSDA должен знать какие брандмауэры в каких системах доступны и какие команды доступны для просмотра набора правил брандмауэра.
Практика: ipfw(8), ipf(8), ipfstate(8), pfctl(8) и firewall(7)
Описание: Кандидат BSDA должен знать, что в BSD могут использоваться шифровальные устройства и какие утилиты доступны для этого на каких BSD системах.
Практика: gbde(4) и gbde(8) на FreeBSD; cgd(4) на NetBSD; vnd(4) на OpenBSD.
Описание: Кандидат BSDA должен разбираться в утилитах проверки подлинности файла, таких как tripware. Он должен так же разбираться во встроенных методах проверки предлагаемых некоторыми BSD.
Практика: security(7) или (8);
security.conf(5)
;
veriexecctl(8)
Описание: Кандидат BSDA должен понимать преимущества запуска сервисов в изолированной среде на машинах открытых для Интернет, и какие утилиты предназначены для этого в какой BSD.
Практика: chroot(8); jail(8); systrace(1); Стороннее приложение Xen.
Описание: Кандидат BSDA должен уметь по данному скриншоту базы паролей определить используемый метод шифрования и знать как его сменить. Кандидат должен иметь базовое понимание того когда надо использовать DES, MD5 и Blowfish.
Практика: login.conf(5)
; auth.conf(5)
;
passwd.conf(5)
и adduser(8).
Описание: Кандидат должен понимать, что приветствие системы зависить от того, каким способом пользователь получил доступ к системе и знать, какие файлы за это отвечают.
Практика: motd(5)
, login.conf(5)
,
gettytab(5)
, sshd_config(5)
.
Описание: Для предотвращения атак против системы путём взлома базы паролей, системы BSD хранят эти данные в шифрованном виде доступными только системным процессам. BSDA кандидат должен понимать где хранятся эти данные и какие на них должны быть пермиссии (права доступа).
Практика: passwd(5)
, pwd_mkdb(8)
Содержание
Полезность компьютерных систем связана с доступность данных, хранящихся на них. BSDA кандидат должен прлностью разбираться в вопросе как сделать данные доступными локально и удалённо и как использовать пермиссии чтобы быть уверенным, что авторизованные пользователи получат доступ к данным. Кандидат должен знать как делать резервное копирование и решать основные проблемы с дисками.
Описание: Кандидат BSDA должен свободно ориентироваться в проблемах монтирования и размонтирования локальных файловых систем, включая: как смонтировать/размонтировать конкретную файловую систему, как смонтировать все файловые системы, как сконфигурировать систему для монтирования файловой системы при загрузке. Передача опций команде mount(8), и разрешение ошибок возникших при выполнении mount(8).
Практика: mount(8), umount(8),
fstab(5)
Описание: Кандидат 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)
Описание: Кандидат должен уметь определять какие файловые системы смонтированы и какие будут смонтированы при загрузке.
Практика: mount(8), du(1),
fstab(5)
Описание: Кандидат BSDA должен уметь работать с UNIX утилитами для быстрого определения какой файл занял много места на жёстком диске.
Практика: du(1), df(1), find(1), sort(1), systat(1)
Описание: Кандидат должен знать разницу между символьными и жёсткими ссылками, как их создавать просматривать и удалять. Кандидат должен уметь временно разрешить проблему с нехваткой дискового пространства через использование символьных ссылок.
Практика: ln(1), ls(1), rm(1), stat(1)
Описание: Кандидат BSDA должен уметь определить использует ли FreeBSD ACL и если да, то на каких файловых системах. Кандидат должен уметь просматривать и изменять файловые ACL на FreeBSD.
Практика: mount(8), ls(1), getfacl(1)
Описание: Ожидается, что кандидат BSDA знаком с традиционными UNIX пермиссиями включая: как просмотреть и изменить пермиссии, почему sticky-bit важен на каталоге /tmp и других каталогах общего пользования, определять и использовать SUID и SGID биты, понимать разницу между символьным и восьмеричным представлением пермиссий. Вдобавок кандидат должен понимать откуда оболочка берёт умолчальные пермиссии для вновь создаваемых файлов и каталогов, по заданному значению umask определять с какими пермиссиями будет создан файл.
Практика: ls(1), chmod(1), umask(1) или (2)
Описание: Кандидат BSDA должен уметь сменить владельца файла как требуется. Кандидат должен понимать как важно проверить кем он является в системе, до того как создать файл.
Практика: chown(8), chgrp(1); su(1), mtree(8)
Описание: Кандидат должен иметь опыт работы с распространёнными в UNIX утилитами командной строки для резервного копирования. Кандидат должен знать имена устройств для ленточных ностителей.
Практика: tar(1), cpio(1), pax(1), cp(1), cpdup(1)
Описание: Кандидат должен разбираться в утилитах используемых для резервного копирования всей файловой системы в целом и различных уровнях утилиты dump(1).
Практика: dump(8), restore(8), dd(1)
Описание: Кандидат BSDA должен быстро ориентироваться в структуре каталогов системы BSD.
Практика: hier(7)
Описание: Кандидат BSDA должен знать утилиты для проверки содержимого файловой системы и использовать их.
Практика: fsck(8)
Описание: Кандидат BSDA должен понимать как флаги расширяют традиционные пермиссии UNIX и знать как посмотреть и изменить флаги неизменяемости, "дописываемости" и неудаляемости (immutable, append-only, undelete).
Практика: ls(1), chflags(1)
Описание: Виртуальная память имеет важное значение для производительности системы. Кандидат BSDA должен уметь конфигурировать устройство swap и следить за его использованием.
Практика: pstat(8), systat(1), top(1), vmstat(8); swapctl(8), swapinfo(8)
Содержание
Все системы требуют наличия хотябы одного пользователя. В зависимости от роли системы работа кандидата BSDA может включать поддержку конечных пользователей и их accaunt'ов. Соответственно, кандидат BSDA должен уметь создать пользовательский accaunt, изментить его настройки, отключить accaunt, изменить пароль. Кандидат должен так же уметь следить за активностью аккаунтов и определять какие пользователи в настоящий момент имеют доступ к системе.
Описание: Важная часть системного администрования — манипулирование учётными записями. Кандидат BSDA должен быть знаком с различными утилитами для манипулирования учётными записями и уметь использовать их в соответствии с поставленными задачами.
Практика: vipw(8); pw(8),
adduser(8), adduser.conf(5)
,
useradd(8), userdel(8),
rmuser(8), userinfo(8),
usermod(8), и user(8)
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.
Описание: Кандидат должен понимать, что многие сервисы требуют учётных записей и что эти записи должны быть недоступны для логина.
Практика: nologin(8); использование * в поле пароля в
passwd(5)
Описание: Кандидат BSDA должен знать как определить включены ли учётная запись и как её включить.
Практика: vipw(8); chpass(1), chfn(1), chsh(1), pw(8), user(8)
Описание: В системе пермиссий UNIX важно уметь определить кем вы являетесь и каково ваше членство в группах. Кандидат должен это уметь.
Практика: id(1), groups(1), who(1), whoami(1), su(1)
Описание: Системы BSD поддерживают базы данных с детальной информацией о логинах. Кандидат BSDA должен знать что это за базы, где они хранятся и какими утилитами можно воспользоваться, чтобы получить информацию о логинах.
Практика: wtmp(5)
, utmp(5)
,
w(1), who(1),
users(1), last(1),
lastlogin(8), lastlog(5)
,
finger(1)
Описание: Кандидат BSDA должен быть осведомлён когда следует включить систему сбора статистики об учётных записях (accaunting), знать какие для этого нужны утилиты и как просматривать собранную статистику.
Практика: ac(8), sa(8), accton(8), lastcomm(1), last(1)
Описание: Кандидат должен знать какая оболочка по умолчанию у пользователя и у суперпользователя. Он должен знать как сменить оболочку в каждой из операционных систем.
Практика: vipw(8); chpass(1), chfn(1), chsh(1), pw(8), user(8)
Описание:
Системы BSD используют каталог skel
содержащий файлы, которые должны быть скопированы при создании
домашнего каталога пользователя при заведении учётной записи.
Кандидат BSDA должен знать где в какой системе
находиться данный каталог и как отменить его копирование при
создании учётной записи.
Практика: pw(8), adduser.conf(5)
,
useradd(8) и
usermgmt.conf(5)
Содержание
Важной частью системного администрирования является понимание её подсистем и их взаимодействия, достаточное для того, чтобы следить за жизнеспособностью работающей системы. Кандидат BSDA должен продемонстрировать опыт работы с процессами и ядром системы, процессом загрузки. Кроме того, он должен уметь работать с устройствами, дисковыми подсистемами, почтовыми демонами и демонами печати.
Описание: Кандидат BSDA должен уметь следить за работой процессов и заметить ненормально высокую загруженность CPU. Кандидат должен уметь завершить процесс или изменить его приоритет.
Практика: top(1), systat(1), ps(1), nice(1), renice(1), kill(1)
Описание:
Кандидат должен знать названия и номера наиболее употребляемых в
UNIX'е сигналов и знать как послать сигнал
активному процессу. Кандидат должен знать разницу между
SIGTERM
и SIGKILL
.
Практика: ps(1); kill(1); killall(1); pkill(1); pgrep(1)
Описание: В дополнении к тому, чтобы знать как непосредственно послать сигнал процессу, кандидат BSDA должен знать, что системы BSD поставляют скрипты, которые могут быть использованы для того, чтобы проверить состояние процесса, остановить, запустить или перезапустить процесс. Кандидат должен знать где в какой системе находятся эти скрипты. Эта тема не относится к OpenBSD.
Практика: rc(8), rc.conf(5)
Описание: Операционные системы 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)
Утилита 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
Таким образом, можно получить детальную информацию о типе устройства и наборе чипсетов поддерживаемых подгруженным драйвером.
Описание: Кандидат BSDA должен понимать разницу между статически скомпилированным ядром и ядром использующим подгружаемые модули. Кандидат должен уметь просматривать список загруженных модулей, загружать и выгружать модули, однако он должен знать, что в системах NetBSD и OpenBSD использование модулей ядра не одобряется.
Практика: kldstat(8), kldload(8),
kldunload(8), и
loader.conf(5)
; modstat(8),
modload(8), modunload(8), и
lkm.conf(5)
Описание: Системы BSD используют переменные ядра MIB, что позволяет системному администратору просматривать и изменять состояние ядра на работающей системе. Кандидат должен уметь изменять эти переменные как на лету во время работы системы, так и постоянно, выставляя начальные значения действующие в момент загрузки системы. Кандидат должен понимать как изменить переменную MIB доступную только для чтения.
Практика: sysctl(8), sysctl.conf(5)
Описание: В дополнении к тому, что системы BSD предоставляют драйвера к аппаратным RAID контроллерам, BSD предоставляет встроенный програмный RAID. Кандидат должен знать разницу между RAID уровня 0, 1, 3 и 5 и какие утилиты доступны в различных системах BSD для конфигурирования програмного RAID'а.
Практика: vinum(8), gmirror(8), gstripe(8), graid3(8), raidctl(8), ccdconfig(8)
Описание: Кандидат BSDA должен понимать роль MTA, определять какой(ие) MTA доступен(ны) во время установки системы, какой конфигурационный файл указывает на то, какой MTA используется системой. Кандидат должен знать разницу между форматами хранения почты mailbox и maildir.
Практика: mailer.conf
Описание: Кандидат BSDA должен знать, что система автоматически создаёт и манипулирует множеством журнальных файлов. Кандидат должен уметь настраивать ротацию журнальных файлов по времени или размеру, понимать термины «средство» и «важность», смотреть сжатые журнальные файлы. (К сожалению, в русском языке закрепилась традиция перевода термина syslog facilities как средства syslog. Перевод крайне неудачный, но такова традиция — прим. переводчика.)
Практика: newsyslog(8),
newsyslog.conf(5)
,
syslog.conf(5)
, zmore(1),
bzcat(1)
Описание: Кандидат должен знать насколько важно регулярно просматривать журнальные файлы и как просматривать их во время решения проблем.
Практика: tail(1), /var/log/*
,
syslog.conf(5)
, grep(1),
dmesg(8)
Описание:
Кандидат BSDA должен уметь просмотреть очередь печати и
манипулировать заданиями в очереди. Кандидат должен понимать
значение первых двух полей в файле
/etc/printcap
.
Практика: lpc(8), lpq(1),
lprm(1), printcap(5)
Описание: Кандидат BSDA должен понимать когда надо создать почтовый псевдоним (алиас) и как это сделать в Sendmail и в Postfix
Практика: newaliases(1), aliases(5)
,
postaliases(1)
Описание: Кандидат BSDA должен понимать последствия связанные с остановкой, перезагрузкой ли переводом системы в однопользовательский режим, понимать когда это необходимо и как минимизировать при этом воздействие на сервер.
Практика: shutdown(8)
Описание: Кандидат должен понимать, что ограничения ресурсов наследуются от оболочки и уметь изменять их постоянно или временно. Кандидат должен понимать разницу между мягким и жёстким ограничением.
Практика: limit(1), limits(1),
login.conf(5)
, sysctl(8)
на NetBSD
Описание: Кандидат должен понимать когда следует создать политики для контроля ширины полосы пропускания для доступа к некоторым сервисам. Кандидат должен знать какие средства доступны для контроля ширины полос пропускания.
Практика: ipfw(8), altq(4), dummynet(4), altq(9),
altqd(8), altq.conf(5)
Описание: Системы BSD часто используют для предоставления услуг Интернет. Кандидата BSDA могут попросить найти, рассмотреть и сделать какие-нибудь изменения в конфигурационных файлах каких-нибудь сервисов. Кандидат должен знать как называются конфигурационные файлы и с какими они связаны сервисами.
Практика: httpd.conf(5)
,
sendmail.cf
, master.cf
,
dhcpd.conf(5)
,
named.conf(5)
, smb.conf(5)
Описание: Кандидат BSDA должен знать, что в процессе загрузки BSD не используются уровни запуска (runlevels из SystemV — примечание переводчика). Для того, чтобы минимизировать воздействие на систему перезагрузок, кандидат должен уметь сконфигурировать систему так, чтобы сервисы стартовали при загрузке системы автоматически. Причём сделать это надо собственными средствами BSD.
Практика: rc.conf(5)
, rc(8),
inetd(8)
Описание: Системы 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
Описание: Кандидат BSDA должен уметь просмотреть почтовую очередь, чтобы определить какое письмо застряло. Если необходимо, надо уметь заставить MTA заново обработать почту, или очистить её.
Практика: mailq(1), postqueue(1)
Описание: Кандидат BSDA должен уметь определить загруженность системы за последнюю минуту, 5 и 15 минут, а так же время прошедшее с последней перезагрузки.
Практика: uptime(1), w(1), top(1)
Описание: Операции ввода/вывода на диске сильно влияют на производительность системы. Кандидат BSDA должен знать какие утилиты доступны на системах BSD для контроля за операциями дискового ввода/вывода и как интерпретировать их результаты.
Практика: iostat(8), stat(1), vmstat(1), nfsstat(1)
Описание: Кандидат BSDA должен понимать что может вызвать зависание процесса, как обнаружить такой процесс и что делать в сложившейся ситуации.
Практика: ps(1), fstat(1), kill(1), umount(8) и сторонняя утилита lsof(8)
Описание: Кандидат BSDA должен уметь определить тип и версию установленной операционной системы.
Практика: uname(1), sysctl(1);
/etc/release
на NetBSD.
Содержание
TCP/IP был изначально реализован в BSD. BSD попрежнему предлагает основные сетевые сервисы для надёжной работы Интернета. Кандидат должен продемонстрировать хорошее понимание как IPV4 так и IPV6 адресации как основ теории сетей. Тренеры должны предоставить материал на уровне Network+ или CCNA.
Описание. Кандидат BSDA должен уметь определить IP адреса системы, маску подсети, шлюз, первичный и вторичный сервер DNS и имя хоста.
Практика. ifconfig(8), netstat(1),
resolv.conf(5)
, route(8),
hostname(1)
Описание. Кандидат должен уметь изменять настройки 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)
Описание. Кандидат BSDA должен уметь использовать программы входящие в состав BSD, а так же сторонние программы, для определения того, какие порты в системе открыты, и какие порты видны через брандмауэр.
Практика. netstat(1), services(5)
,
fstat(1); sockstat(1) и
сторонное продукты nmap и
lsof.
Описание. Кандидат BSDA должен уметь определить доступна ли удалённая система через TCP/IP и, если да, уметь при помощи telnet(1) убедиться отвечает ли сервис на клиентские запросы.
Практика. ping(8), traceroute(8), telnet(1), nc(1) на FreeBSD и OpenBSD
Описание. Кандидат BSDA должен понимать основы теории DNS, включая типы DNS записей обратное преобразование имён и перенос зон. Кандидат должен уметь посылать запросы серверу DNS о записях нужного типа, понимать какой сервер авторитетен за зону и понимать готов ли сервер к пересылке зоны.
Практика. dig(1), host(1), nslookup(1), ping(8), telnet(1)
Описание. Кандидат должен уметь выполнить обратный DNS запрос для определения сети, в которой находится машина с данным IP адресом и собрать информацию об этой сети.
Практика. dig(1), whois(1)
Описание. Кандидат BSDA должен уметь определить в каком порядке опрашиваются различные системы при разрешении имён и знать в каком конфигурационном файле это определяется
Практика. ping(8), telnet(1),
nsswitch.conf(5)
,
resolv.conf(5)
, host.conf(5)
Описание. Кандидат BSDA должен знать как устроена адресация IPv4 и как конвертировать адреса и сетевые маски из одного формата в другой.
Описание: Зная IP адрес и маску подсети кандидат должен уметь определить адрес подсети, широковещательный адрес, адреса хостов возможные в данной подсети.
Описание. Кандидат BSDA должен понимать основы адресации IPv6, включая: компоненты адреса IPv6; поддержку нескольких адресов (link, local, global) на интерфейсе; различные способы записи адреса: запись префикса (aaaa:bbbb::dddd/17) и адресный формат (48 бит на префикс, 16 бит на подсеть и 64 бита на хост). В дополнение кандидат должен понимать процесс автоконфигурирования когда маршрутизатор отсылает префиксы или опрашивается, и как хост добавляет 64 бита, которые получаются из MAC-адреса. Наконец, кандидат должен уметь решать проблемы связи по протоколу IPv6.
Практика. ifconfig(8), ping6(8), rtsol(8)
Описание. По данному выводу команды tcpdump(1) кандидат BSDA должен уметь дать ответ на основные вопросы связанные со связью по сети. Для этого кандидат должен знать обычные номера портов для распространённых TCP и UDP сервисов, разницу между TCP/IP сервером и клиентом и о «тройном рукопожатии».
Практика. tcpdump(1)
Описание. Кандидат должен понимать основы работы протокола ARP: обнаружение соседей, изучение arp-кеша, использование в сетях IPv6. Кандидат должен уметь просмотреть, изменить и очистить этот кеш, а так же понять когда это надо сделать.
Практика. arp(8), ndp(8)
Описание. Кандидат BSDA должен быть знаком с основными идеями RFC 868, важностью синхронизации времени, какие сервисы чувствительны ко времени. Кандидат должен уметь сконфигурировать NTP и, если это требуется, вручную синхронизировать время с сервером времени.
Практика. ntpd(8), ntpd.conf(5)
,
rc.conf(5)
, rdate(8)
Описание. Кандидат BSDA должен быть знаком с основами DHCP, должен знать как сконфигурировать клиента, перебить настройки полученные с сервера DHCP. В добавок, кандидат должен уметь просмотреть текущие «арендованные» настройки, сбросить их и получить новые. Поскольку DHCP клиенты используются разные, кандидат должен быть знаком с использованием команд DHCP клиента на каждой BSD.
Практика. dhclient(8),
dhclient.leases(5)
,
dhclient.conf(5)
,
rc.conf(5)
Описание. Кандидат BSDA должен уметь определить когда следует удалить или установить алиас (псевдоним) для сетевого интерфейса и какие команды доступны для этого в разных BSD.
Практика. ifconfig(8), rc.conf(5)
,
ifaliases(5)
, hostname.if(5)
Содержание
Корни систем BSD находятся в Unix, многие Unix утилиты изначально разработаны в BSD. Кандидат BSDA должен продемонстрировать знакомство с основными утилитами командной строки Unix.
Описание: Кандидат BSDA должен уметь перенаправлять стандартный вывод, ввод или поток ошибок программы, использовать pipe чтобы послать вывод одной программы в другую программу или в файл. Использовать tee(1) чтобы копировать стандартный ввод на стандартный вывод.
Практика: <
, >
,
|
, tee(1), >&
и |&
Описание: Кандидат BSDA должен уметь просматривать и изменять переменные окружения временно и постоянно для любой оболочки поставляемой с системой BSD.
Практика: env(1), sh(1), csh(1), tcsh(1), environ(7)
Описание: по умолчанию в системах BSD используется редактор vi(1) многие системные утилиты используют его в своей работе. Кандидат BSDA должен уметь использовать этот редактор: редактировать файлы, редактировать файлы доступные только для чтения, выходить из редактора без сохранения.
Практика: vi(1) including: :w, :wq, :wq!, :q!, dd, y, p, x, i, a, /, :, :r, ZZ, :set number, :set list
Описание: Системы BSD используют соглашения об именовании файлов, для того, чтобы было проще определить чем является файл. Однако кандидат должен понимать, что это только соглашения и уметь использовать базу данных magic для определения того, чем является файл.
Практика: file(1), magic(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)
.
Описание: Утилита find(1) незаменима при поиске файлов с заданными параметрами. Кандидат BSDA должен свободно владеть ею. На экзамене его могут попросить найти файл с заданным последним временем изменения, размером, типом, файловыми флагами, UID, GID, пермиссиями или содержащим в названии какой-то шаблон.
Практика: find(1)
Описание: Большинство задач системного администрирования могут быть автоматизарованы с использованием shell-скриптов. Кандидат BSDA должен знать о преимуществах и недостатках использования скриптов Bourne shell более, нежели csh(1) или bash(1). Кандидат должен различать «магическую строку» (shebang), комментарии, позиционные параметры и специальные параметры, маски в шаблонах, знать как правильно использовать кавычки и обратные слеши, операторы for, while, if, case и esec. Кандидат должен знать как сделать скрипт исполнимым и как его отлаживать.
Практика: sh(1), chmod(1)
Описание: Системы BSD хорошо документированы. Существует множество доступных администратору ресурсов. Кандидат должен уметь воспользоваться локальной документацийе, а так же знать о документации доступной в сети Internet.
Практика: apropos(1), man(1),
man.conf(5)
, whatis(1), и
info(1); share/doc
и
share/examples
; в добавок, каждый проект BSD
имеет on-line документацию и несколько почтовых списков рассылки.
Описание: Кандидат BSDA должен знать на какой странице man(1) какая находится информация. Кандидат должен уметь определить какая страница man(1) ему нужна. Кандидат должен уметь осуществлять поиск в справочной системе man(1).
Практика: man(1), intro с (1) по (9),
"/
".
Описание: Кандидат должен быть знаком с началами теории вычисления конторльной суммы и почему вообще важно её вычислять. Кандидат должен уметь вычислить контрольную сумму файла, проверить контрольную сумму.
Практика: md5(1), openssl(1), sha1(1), cksum(1).
Описание: Кандидат BSDA должен свободно пользоваться оболочками sh(1), csh(1) или tcsh(1). Кандидат должен уметь изменять поведение обеих оболочек временно или постоянно, включая: предотвращать уничтожение существующих файлов, использовать историю команд, определять псевдонимы команд для экономии времени в командной строке. Кандидат должен знать как временно отменить псевдоним.
Практика:
sh(1), csh(1) и tcsh(1), включая !
,
!!
, $
, 0
,
h
, t
, r
,
p
, \
.
Описание: Кандидат должен знать, что различные системные сообщения высылаются по почте пользователю root, а многие сторонние почтовые клиенты (MUA) не всегда могут быть установлены. Кандидат должен уметь как читать, так и посылать почту при помощи встроенной почтовой программы mail(1). Кандидат должен знать где расположены почтовые ящики пользователей.
Практика: mail(1), /var/mail/$USER
.
Описание: Кандидат должен знать как запустить процесс в фоновом режиме, переместить запущенный процесс в фон, вернуть на передний план процесс работающий в фоне. Кандидат должен уметь проверить запущены ли какие-нибуть задачи в фоновом режиме и знать разницу между командой kill(1) и встроенной в оболочку командой kill.
Практика: &
, ^Z
,
jobs, fg,
bg
, и встроенная в оболочку
kill
.
Описание: Работа с регулярными выражениями является частью повседневной работы системного администратора. Кандидат BSDA должен быть способен искать текстовые шаблоны при анализе вывода программ или поиске в файлах. Кандидат должен уметь указать диапазон символов в скобках [], определить литерал (?!), использовать квантификаторы, отличать метасимволы и создавать инвертированные фильтры.
Практика: grep(1), egrep(1), fgrep(1), re_format(7).
Описание: Длина командной строки ограничена. Порой приходится создавать командные строки, которые не помещаются в отведённых пределах. Кандидат должен знать как запустить команду несколько раз с различными аргументами, используя xargs(1) или цикл while.
Практика: xargs(1), find(1).
Описание: Термин "домен" используется в UNIX в различных значениях. Кандидат должен понимать значение этого термина в контексте NIS, DNS, Kerberos и доменах NTLM.
Практика: domainname(1),
resolv.conf(5)
,
krb5.conf(5)
, smb.conf(5)
Описание:
Кандидат должен понимать разницу между системным crontab
и пользовательским. В добавок, он должен владеть редактором
crontab, разбираться в его полях и понимать важность
предварительного тестирования скрипта перед тем как записать его в
crontab. Кандидат так же должен знать про то, что он может создать
файлы /etc/cron/allow
и
/etc/cron/deny
и для чего они нужны.
Практика: crontab(1), cron(8),
crontab(5)
Экзамен BSDA включает в себя лишь основы. Ожидается, что кандидат знает оновные концепции и детали всех четырёх основных систем BSD. Сертификационная группа BSD выражает надежду, что несмотря на тяжесть экзамена для некоторых начинающих кандидатов, знание всех четырёх ветвей BSD поможет кандидатам разобраться и использовать соответствующие BSD правильным образом на нужных местах.
Описывая темы приведённые в этом документе кандидат впитает знания и информацию, которые он мог пропустить при повседневной работе с BSD Unix. Результатом будет увеличение количества квалифицированных пользователей и администраторов и увеличение числа людей осведомлённых о богатом ассортименте систем BSD. Это приведёт к увеличению распространённости систем BSD.
В следующей таблице представлен алфавитный список команд и файлов упомянутых в разделах «Практика» экзаменационных тем. Цель таблицы — помочь кандидату в обучении.
Кандидат должен понимать, что доступность и расположение этих команд может со временем меняться. Мы просим тех кандидатов, которые заметят, что некоторая команда доступна в системе, тогда, как в таблице сказано, что это не так, связаться с BSD CG через website, указать имя команды и версию операционной системы. Актуальная версия таблицы поддерживается на http://www.bsdcertification.org/.
Обозначения в таблице:
Таблица A.1. Раскладка файлов и команд по операционным системам
Command or File | Dragonfly BSD | FreeBSD | NetBSD | OpenBSD |
---|---|---|---|---|
/etc/release | X | |||
/etc/ssh/* | X | X | X | X |
/kern/msgbuf | X | |||
/var/log/* | X | X | X | X |
/var/mail/$USER | X | X | X | X |
/var/run/dmesg.boot | X | X | X | X |
ac(8) | X | X | X | X |
accton(8) | X | X | X | X |
acl(3) | X | X | ||
adduser.conf(5) | X | X | ||
adduser(8) | X | X | X | |
afterboot(8) | X | X | ||
aliases(5) | X | X | X | X |
altq.conf(5) | X | |||
altq(4) или (9) | X | X | X | |
altqd(8) | X | |||
apropos(1) | X | X | X | X |
arp(8) | X | X | X | X |
atacontrol(8) | X | X | ||
atactl(8) | X | X | ||
audit-packages | P | P | ||
auth.conf(5) | X | X | ||
bsd.port.mk(5) | X | |||
build.sh | X | |||
bzcat(1) (bzip) | X | X | X | P |
camcontrol(8) | X | X | ||
ccdconfig(8) | X | X | X | X |
cgd(4) | X | |||
chflags(1) | X | X | X | X |
chfn(1) | X | X | X | X |
chgrp(1) | X | X | X | X |
chmod(1) | X | X | X | X |
chown(8) | X | X | X | X |
chpass(1) | X | X | X | |
chroot(8) | X | X | X | X |
chsh(1) | X | X | X | X |
cksum(1) | X | X | X | X |
cp(1) | X | X | X | X |
cpdup(1) | X | P | ||
cpio(1) или (1L) | X | X | X | X |
cron(8) | X | X | X | X |
crontab(1) | X | X | X | X |
crontab(5) | X | X | X | X |
csh(1) | X | X | X | X |
cvs(1) | X | X | X | X |
cvsup(1) | P | P | P | P |
cvsync(1) | P | P | P | P |
daily.conf(5) | X | |||
daily(8) | X | |||
dd(1) | X | X | X | X |
df(1) | X | X | X | X |
dhclient.conf(5) | X | X | X | X |
dhclient.leases(5) | X | X | X | X |
dhclient(8) | X | X | X | X |
dig(1) | X | X | X | X |
dmesg(8) | X | X | X | X |
domainname(1) | X | X | X | X |
du(1) | X | X | X | X |
dump(8) | X | X | X | X |
egrep(1) | X | X | X | X |
env(1) | X | X | X | X |
environ(7) | X | X | X | X |
etcupdate(8) | X | |||
exports(5) | X | X | X | X |
fetch(1) | X | X | ||
fgrep(1) | X | X | X | X |
file(1) | X | X | X | X |
find(1) | X | X | X | X |
finger(1) | X | X | X | X |
firewall(7) | X | X | ||
fsck(8) | X | X | X | X |
fsdb(8) | X | X | X | X |
fstab(5) | X | X | X | X |
fstat(1) | X | X | X | X |
ftp(1) | X | X | X | X |
ftpusers(5) | X | |||
gbde(4)(8) | X | |||
getfacl(1) | X | |||
gettytab(5) | X | X | X | X |
gmirror(8) | X | |||
graid3(8) | X | |||
grep(1) | X | X | X | X |
groups(1) | X | X | X | X |
gstripe(8) | X | |||
hier(7) | X | X | X | X |
host(1) | X | X | X | X |
hostname.if(5) | X | |||
hostname(1) | X | X | X | X |
host.conf(5) | X | |||
hosts(5) | X | X | X | X |
id(1) | X | X | X | X |
ifaliases(5) | X | |||
ifconfig(8) | X | X | X | X |
inetd(8) | X | X | X | X |
info(1) | X | X | X | X |
init(8) | X | X | X | X |
intro с (1) по (9) | X | X | X | X |
iostat(8) | X | X | X | X |
ipf(8) | X | X | X | |
ipfstat(8) | X | X | X | |
ipfw(8) | X | X | ||
jail(8) | X | X | ||
kill(1) | X | X | X | X |
killall(1) | X | X | ||
kldload(8) | X | X | ||
kldstat(8) | X | X | ||
kldunload(8) | X | X | ||
krb5.conf(5) | X | X | X | X |
last(1) | X | X | X | X |
lastcomm(1) | X | X | X | X |
lastlog(5) | X | X | X | X |
lastlogin(8) | X | X | X | |
limit(1) | X | X | X | X |
limits(1) | X | X | X | |
lkm.conf(5) | X | |||
ln(1) | X | X | X | X |
loader.conf(5) | X | X | ||
locate.conf(5) | X | |||
locate.updatedb(8) | X | X | X | X |
locate(1) | X | X | X | X |
login.conf(5) | X | X | X | X |
lpc(8) | X | X | X | X |
lpq(1) | X | X | X | X |
lprm(1) | X | X | X | X |
ls(1) | X | X | X | X |
lsof(8) | P | P | P | |
mac(4) | X | |||
magic(5) | X | X | X | X |
mail(1) | X | X | X | X |
mailer.conf(5) | X | X | X | X |
mailq(1) или (8) | X | X | X | X |
make.conf(5) | X | X | ||
make(1) | X | X | X | X |
make buildworld | X | X | X | X |
make installworld | X | X | X | X |
make replace | X | X | ||
make show-downlevel | X | X | ||
make update | X | X | ||
make quickworld | X | |||
man.conf(5) | X | X | ||
man(1) | X | X | X | X |
master.cf (postfix) | P | X | P | |
md5(1) | X | X | X | X |
mergemaster(8) | X | X | P | |
mk.conf(5) | X | X | ||
modload(8) | X | X | ||
modstat(8) | X | X | ||
modunload(8) | X | X | ||
monthly.conf(5) | X | |||
monthly(8) | X | |||
motd(5) | X | X | X | X |
mount(8) | X | X | X | X |
mountd(8) | X | X | X | X |
mount_nfs(8) | X | X | X | X |
mtree(8) | X | X | X | X |
mygate(5) | * | X | ||
myname(5) | * | X | ||
nc(1) (netcat) | P | X | P | X |
ndp(8) | X | X | X | X |
netstart(8) | X | |||
netstat(1) | X | X | X | X |
newaliases(1) или (8) | X | X | X | X |
newsyslog.conf(5) | * | X | X | X |
newsyslog(8) | X | X | X | X |
nfsd(8) | X | X | X | X |
nfsstat(1) | X | X | X | X |
nice(1) | X | X | X | X |
nmap(1) | P | P | P | P |
nologin(8) | X | X | X | X |
nslookup(1) или (8) | X | X | X | X |
nsswitch.conf(5) | X | X | X | |
ntpd.conf(5) | X | X | X | X |
ntpd(8) | X | X | X | X |
openssl(1) | X | X | X | X |
packages(7) или ports(7) | X | X | ||
passwd.conf(5) | X | |||
passwd(1) и (5) | X | X | X | X |
patch(1) | X | X | X | X |
pax(1) | X | X | X | X |
pciconf(8) | X | X | ||
periodic.conf(5) | X | X | ||
periodic(8) | X | X | ||
pf(4) | X | X | X | X |
pfctl(8) | X | X | X | X |
pgrep(1) | X | X | X | X |
ping(8) | X | X | X | X |
ping6(8) | X | X | X | X |
pkg_add(1) | X | X | X | X |
pkg_chk | P | P | ||
pkg_comp | P | P | ||
pkg_delete(1) | X | X | X | X |
pkg_info(1) | X | X | X | X |
pkgtools.conf(5) | X | |||
pkg_version(1) | X | X | ||
pkill(1) | X | X | X | X |
portaudit(1) | P | |||
portmap(8) | X | X | X | |
portupgrade(1) | P | |||
postalias(1) (postfix) | P | X | P | |
postinstall(8) | X | |||
postqueue(1) (postfix) | P | X | P | |
printcap(5) | X | X | X | X |
ps(1) | X | X | X | X |
pstat(8) | X | X | X | X |
pw(8) | X | X | ||
pwd_mkdb(8) | X | X | X | X |
raidctl(8) | X | X | ||
rc.conf(5) или (8) | X | X | X | X |
rc(8) | X | X | X | X |
rdate(8) | X | P | X | X |
re_format(7) | X | X | X | X |
renice(1) или (8) | X | X | X | X |
resolv.conf(5) | X | X | X | X |
restore(8) | X | X | X | X |
rm(1) | X | X | X | X |
rmuser(8) | X | X | X | |
route(8) | X | X | X | X |
rpc.lockd(8) | X | X | X | X |
rpc.statd(8) | X | X | X | |
rpcbind(8) | X | X | ||
rtsol(8) | X | X | X | X |
sa(8) | X | X | X | X |
scsi(4) или (8) | X | X | X | |
scsictl(8) | X | |||
security.conf(5) | X | |||
security(7) или (8) | X | X | X | |
sendmail.cf | X | X | X | X |
services(5) | X | X | X | X |
sh(1) | X | X | X | X |
sha1(1) | X | X | X | X |
share/doc | X | X | X | X |
share/examples | X | X | X | |
shutdown(8) | X | X | X | X |
sockstat(1) | X | X | X | |
sort(1) | X | X | X | X |
src/BUILDING | X | |||
src/UPDATING | X | X | ||
ssh-keygen(1) | X | X | X | X |
sshd_config(5) | X | X | X | X |
sshd(8) | X | X | X | X |
stat(1) или stat(2) | X | X | X | X |
su(1) | X | X | X | X |
sudo(8) | P | P | P | X |
sudoedit(8) (sudo) | P | P | P | X |
sudoers(5) (sudo) | P | P | P | X |
swapctl(8) | X | X | X | |
swapinfo(8) | X | X | ||
sysctl.conf(5) | X | X | X | X |
sysctl(8) | X | X | X | X |
sysinstall(8) | X | |||
syslog.conf(5) | X | X | X | X |
systat(1) | X | X | X | X |
systrace(1) | X | X | ||
tail(1) | X | X | X | X |
tar(1) | X | X | X | X |
tcsh(1) | X | X | P | P |
tee(1) | X | X | X | X |
telnet(1) | X | X | X | X |
top(1) | X | X | X | X |
traceroute(8) | X | X | X | X |
ttys(5) | X | X | X | X |
umask(1) или (2) | X | X | X | X |
umount(8) | X | X | X | X |
uptime(1) | X | X | X | X |
user(8) | X | X | ||
useradd(8) | X | X | ||
userdel(8) | X | X | ||
usermgmt.conf(5) | X | X | ||
usermod(8) | X | X | ||
users(1) | X | X | X | X |
utmp(5) | X | X | X | X |
veriexecctl(8) | X | |||
vi(1) | X | X | X | X |
vinum(8) | X | X | ||
vipw(8) | X | X | X | X |
visudo(5) (sudo) | P | P | P | X |
vmstat(1) или (8) | X | X | X | X |
vnd(4) | X | X | ||
vuxml | P | |||
w(1) | X | X | X | X |
weekly.conf(5) | X | |||
weekly(8) | X | |||
whatis(1) | X | X | X | X |
whereis(1) | X | X | X | X |
which(1) | X | X | X | X |
who(1) | X | X | X | X |
whoami(1) | X | X | X | X |
whois(1) | X | X | X | X |
wtmp(5) | X | X | X | X |
xargs(1) | X | X | X | X |
Xen | P | |||
zmore(1) | X | X | X | X |