Администрирование Linux

Концепция курса

 

Этот курс имеет своей целью: изучение современных операционных систем. Слушатели курса получат представление о сервисах, предоставляемых современными операционными системами (ОС), их возможностях и ограничениях, о приемах реализации этих сервисов, ознакомятся с обзором реальных архитектур сложных, исторически сложившихся программных комплексов. На практических занятиях слушатели курса ознакомятся с администрированием CentOS 6.
Полученные в ходе курса навыки полезны не только для администрирования CentOS 6. Значительная часть полученной информации приложима также к другим дистрибутивам Linux и других ОС семейства Unix. Часть информации: сведения о процедуре загрузки PC-совместимого компьютера, о дисковых разделах, сетях доступа к дискам, настройках сети TCP/IP, хорошие практики обеспечения безопасности – полезны также при изучении других ОС, в том числе Microsoft Windows.
 

Программа курса

 

Лекции – 11 часов
1. Введение 
DLL hell и подходы к его устранению. Системы управления пакетами с проверкой зависимостей. Что такое дистрибутив Linux. Почему именно CentOS.


2. Развертывание CentOS 6 с дистрибутива
Типы загрузочных мониторов в современных компьютерах x86/x84: PC BIOS и UEFI. Обзор дисковых разделов BIOS и GPT disklabel. Процедура загрузки Linux при помощи Grub. Рекомендации по разбиению диска. Множественная загрузка при помощи Grub. Типы загрузочных образов CentOS 6. Установка по сети. 

 

3. Управление пакетами при помощи RPM и yum 
Схема именования пакетов RPM. Утилита rpm(1) и основные операции, выполняемые с ее помощью. 
Установка пакета, удаление пакета, вывод информации о пакете, вывод списка установленных пакетов и поиск в этом списке. Утилита yum(1) и предоставляемые ей возможности: поиск в репозитории, автоматическая установка зависимостей, обновление становленных 
пакетов, подключение дополнительных репозиториев. 

 

4. Управление системными сервисами 
Процедура загрузки Linux. Процесс init. System V style init. Обзор других реализаций init: BSD style init, system, OS X launchd. Конфигурация System V init. Понятие уровня запуска. Каталоги /etc/rc[0-6].d. Утилиты chkconfig и ntsysv. 
Процедура монтирования файловых систем при запуске системы. 
Сервис cron и его возможности. 

 

5. Настройка сети 
Обзор четырехуровневой модели DoD. Обзор сетей IEEE 802. Понятие MAC адреса. Обзор протокола PPP и его вариантов. Сетевой уровень IPv4. Адрес IPv4 и маска подсети. Выделенные диапазоны адресов IPv4. ARP. 
Обзор DHCP и его применение для автоматической настройки интерфейса. Основы маршрутизации IPv4. 
Понятие статического маршрута и маршрутизатора по умолчанию. Обзор маршрутизации и автоконфигурации IPv6. 
Обзор сервиса DNS. 
Инструменты диагностики сетей IP, входящие в поставку CentOS. Ping, traceroute, host, nslookup. 
Именование сетевых интерфейсов в Linux. Обзор методов конфигурации сети в CentOS. Утилиты ifconfig, ip. Network Manager. Скрипты /etc/sysconfig/network-scripts. 
Обзор сервиса ssh и его использование. 
Обзор проблем безопасности сетей IP и хорошие практики безопасности. 

 

6. Лог-файлы и мониторинг системы  
Сервис dmesg и утилита dmesg. Сервис syslog и его возможности. Структура лог-файлов syslog в CentOS 6. 
Обзор структур лог-файлов, встречающихся в других дистрибутивах Linux. Ротация логов. 
Мониторинг состояния ядра. Утилиты lscpu, lspci, lsscsi, lsmod, modprobe. 
Мониторинг пользовательских процессов. Утилиты ps, top, System Monitor, netstat. Обзор продвинутых средств мониторинга: sar, iostat, vmstat. 

 

7. Файловые системы и файлы 
Понятие файла в Unix. Специальные файлы. Типы файлов. Традиционные права доступа. Бит setuid. Обзор POSIX ACL. Жесткие и символические связи. 
Программы для просмотра и поиска файлов. Утилиты для работы с файлами: ls, find, locate 

Резервное копирование. Утилиты tar, cpio, dump, rsync. 
Передача бэкапов по сети при помощи ssh. Обзор коммерческих средств для резервного копирования. 
Файловые системы. Рекомендации по разбиению жесткого диска на разделы. Использование нескольких жестких дисков. Обзор сетей доступа к дискам и сетевых ФС. 
Типы ФС, поддерживаемые CentOS 6. 
Утилита fsck и ее запуск при загрузке системы. 
Создание разделов и файловых систем при помощи утилит fdisk, parted, mkfs. 
Loopback device. 

 

8. Учетные записи пользователей 
Идентификация пользователей в традиционных системах семейства Unix. Uid, gid, учетная запись root. 
Сервисы, запускаемые от имени root. Утилиты su и sudo. 
Атрибуты пользователей. БД учетных записей. Обзор сервисов PAM и NSS. Традиционная БД: /etc/passwd и /etc/shadow 
Создание пользователей и изменение их атрибутов при помощи утилит useradd, usermod, passwd 
Пользовательское окружение. Домашний каталог, .-файлы, переменные среды. Синтаксис shell для работы с переменными. 

 

9. Аутентификация LDAP 
Зачем нужен LDAP. Сервисы PAM и NSS. Источники учетных записей, поддерживаемые PAM/NSS. Подробнее о LDAP и его применениях. Обзор реализаций LDAP. 
Серверы slapd и 389ds. Схемы LDAP. OpenLDAP NIS scheme. 
Введение в TLS, x.509 и PKI. Использование LDAP совместно с TLS. 
Обзор возможностей RHeL SSSD. Подключение CentOS 6 к серверу LDAP с использованием сервиса SSSD Обзор средств для управления пользователями в OpenLDAP и 389ds. Оснастка 389ds, smbldap-tools. 

 

10. Сетевые файловые системы и сети доступа к дискам 
Обзор SMBFS. NFS и его применения. Планирование управления доступом. Обзор Kerberos. Настройка сервера NFS. Настройка клиента NFS. 
Применение NFS для размещения домашних каталогов пользователей. Сервис autofs и его настройка. 
Протокол iSCSI и его использование. Подключение ресурсов iSCSI. Утилита iscsiadm. Создание раздела и ФС на образе iSCSI. 
 
11. Управление логическими томами 
Обзор LVM v2. Физические тома, группы томов, логические тома. Утилиты pvcreate, vgcreate, lvcreate, pvs, vgs, lvs. 
Продвинутые возможности: расширение групп и логических томов, RAID, моментальные снимки. 

 

11.1 Веб-сервер Apache 2 (дополнительно) 
Обзор протокола HTTP. URL, URI, заголовок, обязательные и рекомендуемые поля. Статические и динамические ресурсы. Прямой и обратный прокси. 
Обзор архитектуры сервера Apache. Конфигурационный файл apache и его размещение по умолчанию в CentOS 6. 
Способы генерации динамических ресурсов: CGI, FastCGI, модули. 
Настройки ядра Apache: ServerRoot, DocumentRoot, LoadModule, AddHandler/SetHandler и др. 
Настройки каталогов (Alias, ScriptAlias, Directory, Location). Директивы, специфичные для каталогов. Файл .htaccess как расширение конфигурационного файла, специфичное для каталога. 
HTTP redirect и обратный прокси. 
Обзор mod_rewrite. 
Итого: 11 


Практические занятия – 11 часов  

1. Введение 
Вводный экскурс. 

 

2. Развертывание CentOS 6 с дистрибутива 
Установить CentOS 6 на выделенную физическую или виртуальную машину 

 

3. Управление пакетами при помощи RPM и yum 
Посмотреть, к каким пакетам относятся файлы /usr/bin/ls и /bin/ping 
Попытаться поставить при помощи RPM пакеты htop с сайта http://pkgs.repoforge.org/htop/ не для той архитектуры или не для той версии системы 
Поставить при помощи yum пакеты, необходимые для установки VirtualBox Guest Tools: gcc, kernel-headers и их зависимости. 
Попытаться найти в доступных репозиториях пакет htop 

Подключить репозиторий rpmforge по инструкции с сайта http://repoforge.org/use/ 
При помощи команды yum repolist убедиться, что он подключился 
Поставить при помощи yum пакет htop 
Дополнительно, при использовании VirtualBox: установить VirtualBox Guest Tools в соответствии с инструкциями, размещенными на образе диска. 

 

4. Управление системными сервисами 
Запретить вход рутом по ssh. Отредактировать /etc/ssh/sshd_config, установить параметр PermitRootLogin no. Рестартовать sshd: service sshd restart 
Запланировать запуск yum update каждую полночь 

 

5. Настройка сети 
Определить список интерфейсов, их MAC и параметры IP, полученные по DHCP. 
Через Network Manager, настроить включение сети при старте системы и статический IP адрес (IP-адрес получить у преподавателя). Netmask, default router и настройки DNS 
возьмите те же, что раздает DHCP. 
Воспроизвести те же настройки через скрипт /etc/sysconfig/network-scripts (для отключения Network Manager на этом интерфейсе используйте параметр NM_CONTROLLED=no). 
Настроить авторизацию ssh по ключу. Создать пару ключей DSA при помощи ssh-keygen, настроить авторизацию по ключу на сервере преподавателя Дополнительно: скопировать ключи на Windows машину, сконвертировать утилитой puttygent в формат putty и 
настроить авторизацию по тому же ключу из putty
 

6. Лог-файлы и мониторинг системы 
Скопировать на локальный диск предоставленный преподавателем образ .iso, создать из него loopback device (losetup), смонтировать полученный образ Дополнительно: создать разреженный файл утилитой dd, создать из него loopback device, создать там файловую 
систему, смонтировать полученный образ. 
Найти все setuid-файлы в системе. 
Найти все файлы в /bin, являющиеся символическими ссылками. 
Настройте ежедневный (в час ночи) инкрементальный бэкап ваших машин при помощи dump|ssh на предоставленный преподавателем ресурс. Для генерации имени файла, используйте конструкцию shell $(date '+%y%m-%d'). 
Домашнее задание: 
Посмотреть файлы бэкапов в следующие дни. 
Посмотреть списки файлов при помощи restore. 
Посмотреть, какие файлы были изменены yum за прошедшую неделю, и есть ли старые версии в бэкапах.
 
 7. Файловые системы и файлы 
Монтирование файловой системы NTFS, USB flash, loop device
 
8. Учетные записи пользователей 
Создать пользователя 
Создать группу 
Добавить пользователя в группу 
Установить пользователю пароль 
Зайти в систему этим пользователем 
Добавить себя в группу wheel 
Перелогиниться 
Перед следующими пунктами, убедитесь, что помните пароль root! 
Раскомментировать в /etc/sudoers строку # %wheel ALL (ALL) = ALL 
Убрать (закомментировать) свое имя 
Убедиться, что вы по прежнему можете делать sudo 
Выведите все команды в вашей истории bash, начинающиеся с sudo 

 

9. Аутентификация LDAP 
Подключить ваши машины к серверу LDAP, 
указанному преподавателем. Убедиться, что учетные записи LDAP имеют доступ к вашим машинам. 

10. Сетевые файловые системы и сети доступа к дискам 
Смонтировать указанный преподавателем NFS ресурс с домашним каталогом пользователя LDAP. Зайти на свою машину этим пользователем через графический интерфейс. 
Настроить autofs для автоматического монтирования домашних каталогов пользователей LDAP (параметры ресурса NFS получить у преподавателя). 
(выполнять совместно по парам) Расшарить каталог /opt вашей машины. Создать там подкаталог, доступный пользователю LDAP. Смонтировать этот каталог на другой машине и проверить права доступа. 
Подключиться к заранее созданным iSCSI target, создать разделы и ФС. Смонтировать ФС и настроить подключение и монтирование при загрузке. 

11. Управление логическими томами 
Подключить три диска (iSCSI, неразбитое пространство на физическом диске или виртуальный диск виртуальной машины, в соответствии с инструкциями преподавателя). Создать на этих дисках группу томов и том LVM RAID5, создать в нем файловую систему. 
Понаблюдать за синхронизацией. 
Увеличить raid5 массив до размера наибольшего из доступных в VG дисков 
Увеличить ФС до нового размера тома. 
Итого: 11 


Самостоятельная работа – 14 часов  


Стоимость курса 20000 руб.

Напишите, и мы обязательно Вам ответим!

(383) 363-42-46

it-school@ccfit.nsu.ru

630090, Новосибирская область, г. Новосибирск,
ул. Пирогова, 1, блок 1, к.1112/1


Top