Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux

Оригинал: Linux Servers
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: А.Панин
Дата перевода: 15 июля 2015 г.

Аннотация

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

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

Дополнительная информация и бесплатный оригинал книги в формате PDF доступны на вебсайте http://linux-training.be.

В случае необходимости вы можете связаться с автором книги:
Также свой вклад в написание данной книги и разработку проекта Linux Training внесли:
  • Serge van Ginderachter: serge@ginsys.eu, разработка сценариев для сборки и настройка инфраструктуры
  • Ywein Van den Brande: ywein@crealaw.eu, написание главы с информацией о юридических вопросах и лицензиях
  • Hendrik De Vloed: hendrik.devloed@ugent.be, разработка сценария buildheader.pl
Кроме того, нам хотелось бы поблагодарить наших рецензентов:

Авторские права 2007-2015 Paul Cobbaut

Разрешается копировать, распространять и/или модифицировать данный документ в соответствии с условиями версии 1.3 или более поздней версии Лицензии свободной документации проекта GNU, опубликованной Фондом свободного программного обеспечения; при этом не должны переводится отмеченные соответствующим образом разделы, а также тексты на передней и задней обложке. Копия оригинала лицензии размещена в приложении C с названием 'Лицензия'.

Оглавление

  1. Серверы Apache и Squid
    1. Веб-сервер Apache
      1. Вводная информация о веб-сервере Apache
        1. Установка в дистрибутиве Debian
        2. Установка в дистрибутиве RHEL/CentOS
        3. Запуск веб-сервера Apache в дистрибутиве Debian
        4. Запуск веб-сервера Apache в дистрибутиве CentOS
        5. Индексная страница веб-сервера в дистрибутиве CentOS
        6. Стандартный путь к директории с данными веб-сайта
        7. Настройка веб-сервера Apache
      2. Виртуальные серверы для заданных номеров портов
        1. Параметры конфигурации основного веб-сайта
        2. Три дополнительных виртуальных сервера
        3. Три дополнительных порта
        4. Три дополнительный веб-сайта
        5. Активация дополнительных веб-сайтов
        6. Тестирование трех веб-сайтов
      3. Именованные виртуальные серверы в дистрибутиве Debian
        1. Именованные виртуальные серверы
        2. Разрешение доменных имен
        3. Активация виртуальных серверов
        4. Повторное чтение данных конфигурации и проверка работоспособности виртуальных серверов
      4. Защита веб-сайта с помощью пароля в дистрибутиве Debian
      5. Виртуальные серверы для заданных номеров портов в дистрибутиве CentOS
        1. Параметры конфигурации основного веб-сайта
        2. Три дополнительных виртуальных сервера
        3. Три дополнительных порта
        4. Система контроля доступа SELinux защищает наши порты
        5. Три дополнительных веб-сайта
        6. Активация дополнительных веб-сайтов
        7. Тестирование трех веб-сайтов
        8. Правила межсетевого экрана
      6. Именованные виртуальные серверы в дистрибутиве CentOS
        1. Именованные виртуальные серверы
        2. Разрешение доменных имен
        3. Перезапуск и проверка работоспособности веб-сервера
      7. Защита веб-сайта с помощью пароля в дистрибутиве CentOS
      8. Диагностика веб-сервера Apache
      9. Пример конфигурации виртуального сервера
      10. Псевдонимы и переадресации
      11. Дополнительная информация о файлах контроля доступа .htaccess
      12. Контроль трафика
      13. Самостоятельно подписанные сертификаты в дистрибутиве Debian
      14. Самостоятельно подписанные сертификаты в дистрибутиве RHEL/CentOS
      15. Практическое задание: веб-сервер Apache
    2. Знакомство с прокси-сервером Squid
      1. Информация о прокси-серверах
        1. Область применения
        2. Общедоступные прокси-серверы
        3. Прокси-сервер Squid
      2. Установка прокси-сервера Squid
      3. Порт 3128
      4. Запуск и остановка службы прокси-сервера
      5. Ввод параметров доступа к прокси-серверу на стороне клиента
      6. Переворот изображений
      7. Директория для хранения файлов журналов /var/log/squid
      8. Управление доступом
      9. Тестирование прокси-сервера Squid
      10. Разрешение доменных имен
  2. База данных MySQL
    1. Вводная информация о структурированном языке запросов SQL и сервере базы данных MySQL
      1. Установка компонентов MySQL
      2. Получение доступа к серверу MySQL
        1. Учетные записи пользователей Linux-системы
        2. Клиентское приложение mysql
        3. Файл конфигурации ~/.my.cnf
        4. Клиентское приложение mysql с интерфейсом командной строки
      3. Базы данных MySQL
        1. Вывод списка всех существующих баз данных
        2. Создание базы данных
        3. Использование базы данных
        4. Управление доступом к базе данных
        5. Удаление базы данных
        6. Сохранение резервной копии базы данных и восстановление базы данных из нее
      4. Таблицы базы данных MySQL
        1. Вывод списка таблиц
        2. Создание таблицы
        3. Вывод описания таблицы
        4. Удаление таблицы
      5. Записи в базе данных MySQL
        1. Создание записей
        2. Ознакомление со списком всех записей
        3. Обновление записей
        4. Вывод определенных записей
        5. Первичный ключ в рамках определения where?
        6. Упорядочивание записей
        7. Группировка записей
        8. Удаление записей
      6. Объединение двух таблиц
        1. Оператор внутреннего объединения inner join
        2. Оператор левого внешнего объединения left join
      7. Триггеры базы данных MySQL
        1. Использование триггера, запускаемого до связанного с ним события (before trigger)
        2. Удаление триггера
  3. Сервер DNS
    1. Вводная информация о серверах DNS
      1. О протоколе DNS
        1. Преобразование доменного имени в IP-адрес
        2. История создания протокола DNS
        3. Прямой и обратный запросы
        4. Файл /etc/resolv.conf
      2. Пространство имен DNS
        1. Иерархия
        2. Корневые серверы
        3. Данные для поиска корневых серверов
        4. Домены
        5. Домены верхнего уровня
        6. Полностью определенное доменное имя
        7. Зоны DNS
        8. Ресурсные записи DNS
      3. Кэширующие серверы DNS
        1. Кэширующий сервер DNS, не использующий перенаправляющий сервер
        2. Кэширующий сервер DNS, использующий перенаправляющий сервер
        3. Итеративный или рекурсивный запрос
      4. Авторитативные серверы DNS
      5. Первичные и вторичные серверы DNS
      6. Процесс передачи данных зон DNS
      7. Ведущие и ведомые серверы DNS
      8. Ресурсная запись SOA
      9. Полные или частичные передачи данных зон DNS
      10. Кэш DNS
      11. Пример настройки зоны DNS
      12. Пример: создание кэширующего сервера DNS
      13. Пример: настройка кэширующего сервера DNS для работы с перенаправляющим сервером DNS
      14. Пример: настройка первичного авторитативного сервера DNS
        1. Использование собственного сервера DNS
        2. Использование собственного домена
      15. Пример: настройка ведомого сервера DNS
      16. Практическое задание: DNS
      17. Корректная процедура выполнения практического задания: DNS
    2. Дополнительная информация о серверах DNS
      1. Пример: использование механизма изменения порядка передачи адресов серверов сервером DNS
      2. Механизм делегирования зон DNS
      3. Пример: использование механизма делегирования зоны DNS
      4. Пример: использование механизма изменения ответов сервера DNS в зависимости от источников запросов
      5. Старые советы по использованию и настройке серверов DNS
        1. Пример: зона DNS для обратного разрешения доменных имен
        2. Балансировка нагрузки на серверы DNS
        3. Уведомления серверов DNS
        4. Тестирование работоспособности протоколов IXFR и AXFR
        5. Интеграция серверов DDNS и DHCP
        6. Обратное разрешение доменных имен является обычным разрешением доменных имен с использованием домена in-addr.arpa
        7. Протокол IPv6
        8. Безопасное использование сервера DNS: повреждение файлов
        9. Безопасное использование сервера DNS: операции передачи данных зон DNS
        10. Безопасное использование сервера DNS: операции передачи данных зон DNS и спуфинг
        11. Безопасное использование сервера DNS: запросы
        12. Безопасное использование сервера DNS: сервер DNS bind в окружении chroot
        13. Безопасное использование сервера DNS: технология DNSSEC
        14. Безопасное использование сервера DNS: привилегии пользователя root
  4. Сервер DHCP
    1. Вводная информация о сервере DHCP
      1. Четыре широковещательных передачи данных
      2. Графическое изображение принципа работы протокола DHCP
      3. Установка сервера DHCP в дистрибутиве Debian/Mint
      4. Установка сервера DHCP в дистрибутиве RHEL/CentOS
      5. Резервирование конфигураций клиентов
      6. Пример конфигурационного файла
      7. Более старый пример конфигурационного файла
      8. Дополнительные аспекты использования серверов DHCP
        1. Правило 80/20
        2. Агент ретрансляции DHCP
        3. Неподконтрольные администратору сети серверы DHCP
        4. Серверы DHCP и DDNS
      9. Практическое задание: сервер DHCP
  5. Межсетевой экран iptables
    1. Использование системы Linux в качестве маршрутизатора
      1. Маршрутизатор или межсетевой экран
      2. Пересылка сетевых пакетов
      3. Фильтрация сетевых пакетов
      4. Межсетевой экран с сохранением состояния
      5. Механизм преобразования сетевых адресов (NAT)
      6. Механизм преобразования номеров сетевых портов (PAT)
      7. Механизм замены сетевого адреса источника (SNAT)
      8. Маскарадинг (Masquerading)
      9. Механизм замены сетевого адреса назначения (DNAT)
      10. Механизм перенаправления сетевых портов (Port Forwarding)
      11. Виртуальный файл /proc/sys/net/ipv4/ip_forward
      12. Файл конфигурации /etc/sysctl.conf
      13. Утилита sysctl
      14. Практическое задание: механизм пересылки сетевых пакетов
      15. Корректная процедура выполнения практического задания: механизм пересылки сетевых пакетов
    2. Межсетевой экран iptables
      1. Таблицы межсетевого экрана iptables
      2. Активация и деактивация межсетевого экрана iptables
      3. Таблица filter
        1. О фильтрации сетевых пакетов
        2. Таблица filter
        3. Стандартные правила межсетевого экрана
        4. Правила для кольцевого сетевого интерфейса
        5. Разрешение использования протокола ssh при работе с сетевым интерфейсом eth0
        6. Разрешение доступа к системе из подсети
        7. Команда iptables save
        8. Пример сценария для применения правил межсетевого экрана
        9. Разрешение обмена ICMP-трафиком (генерируемым утилитой ping)
      4. Практическое задание: фильтрация сетевых пакетов
      5. Корректная процедура выполнения практического задания: фильтрация сетевых пакетов
      6. Преобразование сетевых адресов
        1. О механизме преобразования сетевых адресов
        2. Механизм замены сетевого адреса источника (SNAT)
        3. Пример сценария для активации механизма замены сетевого адреса источника
        4. Маскарадинг
        5. Механизм замены сетевого адреса назначения (DNAT)
  6. Знакомство с сервером Samba
    1. Вводная информация о сервере Samba
      1. Проверка версии установленных программных компонентов
        1. Дистрибутивы, использующие пакеты программного обеспечения формата RPM
        2. Дистрибутивы, использующие пакеты программного обеспечения формата DEB
      2. Установка программных компонентов сервера Samba
        1. Дистрибутивы, использующие пакеты программного обеспечения формата RPM
        2. Дистрибутивы, использующие пакеты программного обеспечения формата DEB
      3. Документация
        1. Руководства от проекта Samba
        2. Samba в примерах
      4. Запуск и остановка демонов Samba
      5. Демоны Samba
        1. Демон nmbd
        2. Демон smbd
        3. Демон winbindd
      6. Протокол SMB
        1. Краткий экскурс в историю протокола
        2. Широковещательный протокол
        3. Имена систем в рамках протокола NetBIOS
        4. Пропускная способность сети
      7. Практическое задание: вводная информация о сервере Samba
    2. Начало работы с сервером Samba
      1. Файл конфигурации /etc/samba/smb.conf
        1. Команда smbd -b
        2. Стандартный файл конфигурации smb.conf
        3. Минималистичный вариант файла конфигурации smb.conf
        4. Команда net view в ОС Windows
        5. Длинные строки в файле конфигурации smb.conf
        6. Любопытная интерпретация файла конфигурации smb.conf
        7. Страница руководства man smb.conf
      2. Утилита /usr/bin/testparm
        1. Проверка синтаксиса файла конфигурации smb.conf
        2. Команда testparm -v
        3. Команда testparm -s
      3. Утилита /usr/bin/smbclient
        1. Использование утилиты smbclient для исследования сервера Samba
        2. Анонимное использование утилиты smbclient
        3. Утилита smbclient и данные для входа в систему
      4. Утилита /usr/bin/smbtree
      5. Строка описания сервера
      6. Веб-интерфейс для администрирования сервера Samba (SWAT)
      7. Практическое задание: начало работы с сервером Samba
      8. Корректная процедура выполнения практического задания: начало работы с сервером Samba
    3. Настройка файлового сервера с доступом только для чтения
      1. Создание разделяемой директории
      2. Настройка параметров разделяемой директории
        1. Секция глобальных параметров [global] файла конфигурации smb.conf
        2. Секция настроек разделяемого ресурса [share] файла конфигурации smb.conf
      3. Перезапуск сервера
      4. Проверка наличия разделяемого ресурса
        1. Проверка с использованием утилиты smbclient
        2. Проверка с использованием ОС Windows
      5. Примечание об использовании утилиты netcat
      6. Практическое задание: настройка файлового сервера с доступом только для чтения
      7. Корректная процедура выполнения практического задания: настройка файлового сервера с доступом только для чтения
    4. Настройка файлового сервера с доступом для чтения и записи
      1. Создание разделяемой директории
      2. Секция разделяемого ресурса файла конфигурации smb.conf
      3. Настройка разделяемого ресурса
      4. Проверка возможности соединения с сервером с помощью ОС Windows
      5. Проверка возможности записи в разделяемую директорию с помощью ОС Windows
      6. Как же это возможно?
      7. Практическое задание: настройка сервера с доступом для чтения и записи
      8. Корректная процедура практического задания: настройка сервера с доступом для чтения и записи
    5. Первая учетная запись пользователя сервера Samba
      1. Создание учетной записи пользователя сервера Samba
      2. Механизм владения файлами
      3. Утилита /usr/bin/passwd
      4. База данных пользователей /etc/samba/smbpasswd
      5. Модуль базы данных пользователей
      6. Принудительное использование созданной учетной записи пользователя
      7. Практическое задание: первая учетная запись пользователя сервера Samba
      8. Корректная процедура выполнения практического задания: первая учетная запись пользователя сервера Samba
    6. Аутентификация клиентов сервера Samba
      1. Создание учетных записей пользователей Linux
      2. Создание учетных записей пользователей на уровне сервера Samba
      3. Режим контроля доступа к разделяемому ресурсу security = user
      4. Настройка разделяемого ресурса
      5. Проверка возможности доступа к разделяемому ресурсу с помощью команды net use
      6. Проверка возможности доступа к разделяемому ресурсу с помощью утилиты smbclient
      7. Проверка информации о владельцах файлов
      8. Стандартные проблемы
        1. Ошибка NT_STATUS_BAD_NETWORK_NAME
        2. Ошибка NT_STATUS_LOGON_FAILURE
        3. Имена пользователей не зависят от регистра
      9. Практическое задание: аутентификация клиентов сервера Samba
      10. Корректная процедура выполнения практического задания: аутентификация клиентов сервера Samba
    7. Ограничение доступа к разделяемым с помощью сервера Samba ресурсам
      1. Механизм ограничения доступа на основе имен пользователей
        1. Список пользователей, которым разрешен доступ к разделяемому ресурсу (valid users)
        2. Список пользователей, которым запрещен доступ к разделяемому ресурсу (invalid users)
        3. Список пользователей, которым разрешен доступ к разделяемому ресурсу только для чтения (read list)
        4. Список пользователей, которым разрешен доступ к разделяемому ресурсу для чтения и записи (write list)
      2. Механизм ограничения доступа на основе IP-адресов пользователей
        1. Список IP-адресов узлов, с которых разрешен доступ к разделяемому ресурсу (hosts allow)
        2. Список IP-адресов узлов, с которых запрещен доступ к разделяемому ресурсу (hosts deny)
      3. Безопасность через сокрытие информации
        1. Сокрытие нечитаемых файлов (hide unreadable)
        2. Сокрытие разделяемых ресурсов (browseable)
      4. Механизм ограничения доступа на основе прав доступа файловой системы
        1. Маски прав доступа для создаваемых файлов и директорий (create mask)
        2. Минимальные права доступа для создаваемых файлов и директорий (force create mask)
        3. Маска прав доступа для существующих файлов и директорий (security mask)
        4. Минимальные права доступа для существующих файлов и директорий (force security mode)
        5. Наследование прав доступа (inherit permissions)
      5. Практическое задание: ограничение доступа к разделяемым с помощью сервера Samba ресурсам
      6. Корректная процедура выполнения практического задания: ограничение доступа к разделяемым с помощью сервера Samba ресурсам
    8. Сервер Samba в роли участника домена
      1. Необходимые изменения в файле конфигурации сервера smb.conf
        1. Имя рабочей группы (workgroup)
        2. Режим доступа к разделяемым ресурсам (security mode)
        3. Идентификаторы пользователей Linux
        4. Отказ от использования имени домена в именах пользователей (winbind use default domain)
        5. Секция глобальных параметров [global] файла конфигурации smb.conf
        6. Описание области действия в файле конфигурации сервера Kerberos с именем /etc/krb5.conf
        7. Секция описания разделяемого ресурса [share] файла конфигурации smb.conf
      2. Присоединение к домену Active Directory
      3. Служба Winbind
        1. Добавление ссылки на Winbind в файл конфигурации nsswitch.conf
        2. Запуск служб samba и winbindd
      4. Утилита wbinfo
        1. Проверка возможности доверительного взаимодействия серверов
        2. Вывод списка всех пользователей домена
        3. Вывод списка всех групп пользователей домена
        4. Проверка возможности аутентификации пользователя
      5. Утилита getent
      6. Проверка работоспособности механизма владения файлами
      7. Практическое задание: сервер Samba в роли участника домена
    9. Сервер Samba в роли контроллера домена
      1. О контроллерах домена
        1. Windows NT4
        2. Windows 200x
        3. Samba 3
        4. Samba 4
      2. О режимах контроля доступа к разделяемым ресурсам
        1. Режим контроля доступа security = share
        2. Режим контроля доступа security = user
        3. Режим контроля доступа security = domain
        4. Режим контроля доступа security = ads
        5. Режим контроля доступа security = server
      3. О модулях для доступа к паролям
      4. Секция глобальных параметров [global] файла конфигурации smb.conf
        1. Режим контроля доступа (security)
        2. Приоритет сервера (os level)
        3. Модуль для доступа к паролям (passdb backend)
        4. Предпочтительный переход в режим обозревателя сети (preferred master)
        5. Поддержка службы входа в домен (domain logons)
        6. Запрос роли обозревателя сети для рабочей группы (domain master)
        7. Содержимое секции глобальных параметров [global]
      5. Разделяемый ресурс netlogon
      6. Другие секции описания разделяемых ресурсов [share]
      7. Пользователи и группы
      8. База данных пользователей сервера Samba tdbsam
      9. Об учетных записях компьютеров
      10. Локальные или переносимые профили
      11. Группы пользователей в списках контроля доступа NTFS
      12. Сценарии, исполняющиеся при входе в систему
      13. Практическое задание: сервер Samba в роли контроллера домена
    10. Первый взгляд на версию 4 сервера Samba
      1. Установка и настройка сервера Samba версии 4 alpha 6
  7. Система контроля доступа SELinux
    1. Знакомство с системой контроля доступа SELinux
      1. Режимы работы SELinux
      2. Журналирование событий
      3. Активация SELinux
      4. Утилита getenforce
      5. Утилита setenforce
      6. Утилита sestatus
      7. Политика ограничения доступа
      8. Файл конфигурации /etc/selinux/config
      9. Избирательное или мандатное управление доступом
      10. Команда ls -Z
      11. Параметр -Z других утилит
      12. Виртуальная файловая система /selinux
      13. Сущность (identity)
      14. Роль (role)
      15. Тип или домен (type, domain)
      16. Контекст безопасности (security context)
      17. Переход (transistion)
      18. Расширенные атрибуты файлов
      19. Контекст безопасности процесса
      20. Утилита chcon
      21. Пример
      22. Приложение setroubleshoot
      23. Логические значения
  8. Вводная информация о системе контроля версий git
    1. Система контроля версий git
      1. О системе контроля версий git
      2. Установка компонентов git
      3. Начало работы над новым проектом
        1. Команда git init
        2. Команда git config
        3. Команда git add
        4. Команда git commit
        5. Модификация добавленного в репозиторий файла
        6. Команда git log
        7. Команда git mv
      4. Ветви git
      5. Продолжение следует...
      6. Ресурс github.com
      7. Добавление вашего публичного ключа на GitHub
      8. Практическое задание: система контроля версий git
  9. Протокол IPv6
    1. Знакомство с протоколом IPv6
      1. Информация о протоколе IPv6
      2. Идентификаторы сети и узла
      3. Генерация части адреса, относящейся к узлу
      4. Запись адреса IPv4 в рамках адреса IPv6
      5. Адреса link local
      6. Уникальные локальные адреса
      7. Глобальная система уникальных адресов для одноадресной передачи
      8. Механизм 6to4
      9. Интернет-провайдеры
      10. Частные адреса
      11. Утилита ping6
      12. Использование протокола IPv6 в Бельгии
      13. Другие веб-сайты
      14. Шлюзы, использующие механизм 6to4
      15. Утилита ping6 и DNS
      16. Протокол IPv6 и стек протоколов TCP/IP
      17. Протокол IPv6 и ресурсная запись PTR
      18. Настройка механизма 6to4 в Linux
  10. Приложения
    1. Клонирование файловой системы сервера
      1. О процессе клонирования файловой системы сервера
      2. О процессе клонирования неиспользуемой файловой системы сервера
      3. Пример клонирования неиспользуемой файловой системы сервера
    2. Лицензия
  11. Алфавитный указатель