Linux (Ubuntu)/FreeBSD. Взаимодействие с Microsoft Windows
UCP-400
Рассмотрев сеть типичного предприятия, мы увидим несколько десятков рабочих станций, пару файловых серверов, сервер электронной почты, шлюз в интернет. Как сделать так, чтобы сотрудник пришел утром на работу, один раз ввел логин и пароль, и после этого мог ходить в интернет, читать электронную почту и работать с файлами на сервере?
Все это несложно, если использовать ПО от одного производителя, например Microsoft. Однако, по статистике, 90 процентов сетей – гетерогенные. А если у нас кроме Windows есть рабочие станции Linux/FreeBSD?
Ответы на этот и другие вопросы, связанные безопасной и прозрачной (одноразовой) Single Sign On (SSO) идентификацией пользователей, Вы получите на занятиях этого курса. Вы познакомитесь c такими технологиями как NIS, Kerberos, LDAP, GSSAPI, NTLM. Вам будет предложено три варианта организации системы идентификации в сети:
- Kerberos-сфера (сервер идентификации Linux/FreeBSD, клиенты Windows/Linux/FreeBSD)
- Microsoft AD (сервер идентификации Windows 2008R2, клиенты Windows/Linux/FreeBSD)
- Samba3 (сервер идентификации Linux/FreeBSD, клиенты Windows)
При этом сами сервисы доступа в Internet, электронной почты и сетевой файловой системы будут работать под управлением наших любимых операционных систем – Linux или FreeBSD.
Окончив курс, Вы сможете выбрать наиболее оптимальное с точки зрения стоимости и функциональности решение.
Предварительный уровень подготовки
Требуемая подготовка:
- Успешное окончание курса UCP-102 «Сетевое администрирование Ubuntu или эквивалентная подготовка».
Результат обучения
По окончании курса слушатели смогут:
- Использовать сервисы NIS, библиотеки PAM и NSS для идентификации пользователей в Linux/FreeBSD системах
- Использовать протокол SSH для SSO идентификации в Linux/FreeBSD сетях.
- Использовать Kerberos сферы для SSO идентификации пользователей в гетерогенных Linux/FreeBSD/Windows сетях.
- Использовать LDAP каталоги для хранения информации о пользователях в сети предприятия.
- Использовать Microsoft Active Directory в качестве Kerberos сферы и LDAP каталога в гетерогенных Linux/FreeBSD/Windows сетях.
- Использовать сервера Samba в роли файлового сервера и контроллера домена.
Программа курса
Модуль 1. Введение
- Ознакомление со спецификой сборки ПО в GNU/Linux (Ubuntu)
- Ознакомление с консольными текстовыми редакторами (vi,nano,mcedit)
- Ручная и автоматическая сборка ПО (Makefile)
- Модель Клиент-Интерфейс-Сервер (КИС)
- Статическая сборка библиотек
- Совместно используемые библиотеки
- Работа с переменными окружения
Модуль 2. Низкоуровневый ввод-вывод и файловые операции
- Обзор механизмов ввода-вывода в Linux (Ubuntu)
- Файловые дескрипторы
- Системные вызовы: open, close, write, read и lseek
- Типы файлов
- Индексные дескрипторы и жесткие ссылки
- Права доступа к файлу
- Файловая система proc
- Два способа прочесть содержимое директории
- Разреженные файлы и специфика их применения
- Блокировка областей файла
Модуль 3. Межпроцессное взаимодействие
- Механизмы межпроцессного взаимодействия Linux (Ubuntu)
- Неименованные каналы (pipes)
- Именованные каналы (named pipes)
- Сообщения (message queue)
- Разделяемая память (shared memory)
- Семафоры (semaphores)
Модуль 4. Сокеты
- Сокеты в файловом пространстве имен (UNIX-сокеты)
- Парные сокеты (pair sockets)
- Сетевые сокеты (sockets)
Модуль 5. Сигналы
- Знакомство с сигналами (signals)
- Отличие сигналов от других механизмов межпроцессного взаимодействия
- Специфика обработки сигналов (signal handling)
Модуль 6. Процессы
- Клонирование процессов — fork()
- Замена исполняемого процесса — exec()
- Зомби (zombies) — причины возникновения и способы их устранения
Модуль 7. Потоки
- Потоки и процессы
- Специфика построения многопоточных приложений (multithreading)
- Досрочное завершение потока
Модуль 8. Потоки (продолжение)
- Создание обработчика завершения потока
- Средства синхронизации потоков (synchronize primitives)
- Атрибуты потоков
Модуль 9. Демоны (службы)
- Отличие демона от консольной утилиты
- Специфика разработки демонов (daemons)
- Создание демона использующего сетевые сокеты
Модуль 10. Консольный ввод-вывод
- Специфика разработки консольных приложений
- Предотвращение перенаправления вывода
- Управление терминалом
- Сокрытие пароля пользователя при аутентификации
Модуль 11. Отображаемая память
- Отображение обычного файла
- Совместный доступ к файлу
- Частные отображения
- Другие применения mmap
Модуль 12. Домашнее задание
- Специфика разработки 64-битных приложений
- Использование библиотеки ncurses
- Программирование графического интерфейса с помощью GTK+