, Администрирование Linux систем для профессионалов. 2е изд.

Администрирование Linux систем для профессионалов. 2е издание.

Деннис Мэйтоутек, Джеймс Тарнбул, Питер Лайевердинк

 Состав исполнителей

Авторы
Деннис Мэйтоутек
Джеймс Тарнбул
Питер Лайевердинк
Директор- распорядитель
Велмоуид Спар
Директор редакции
Тодд Грин
Редактор приобретения
Луиза Корриган
Редактор разработки
Джеймс Маркхам
Технический рецензент
Сандер ван Вугт
Управляющий редактор
Нэнси Чен
Редакторы текста
Лоури Джейкобс,
Ким Вимпсет,
Корректор
SPi Global
Составитель указателя
SPi Global
Художник
SPi Global

 Об авторах

Деннис Мэйтоутек живёт и работает в Мельбурне, Автсралия - вероятно, местом рождения великолепного кофе и домом для некоторого числа достойных кофеен, а также многих, многих неплохих. Он работает главным инженеров по разработкам в Envato, цифровом рынке реального времени, в котором сообщество созидателей может помочь воплощению идей в жизнь. Там он помогает команде инженеров развёртывать код, строить инфраструктуру и наблюдать за производительностью для различных систем, в основном написанных в Rails. Как правило, он работает с AWS, а не с голым железом и ценит тот момент, что ему нет необходимости менять нерабочие диски. Вместе со своими юными детьми, Зигги и Аникой, он счастливо живёт со своим партнёром Бьянкой и рядом домашних питомцев - одной собакой и шестью цыплятами.

Джеймс Тарнбул - является техническим директором (CTO) Empatico, сопредседателем конференции O’Reilly Velocity, советником AccessNow and Docker Inc. Ранее работал техническим директором Kickstarter, вице- президентом в Venmo, а ещё ранее был сотрудником и руководителем в лабораториях Docker и Puppet. Он участвует в ряде проектов с открытым исходным кодом и постоянно обсуждает темы, связанные с кодированием, системным администрированием и технологиями с открытым исходным кодом. Он является автором нескольких книг: https://terraformbook.com/, https://www.artofmonitoring.com/, https://www.dockerbook.com/, https://www.logstashbook.com/, Pro Puppet (Apress, 2011), Pulling Strings with Puppet: Systems Administration Made Easy (Apress, 2008), Hardening Linux (Apress, 2008) и Pro Nagios 2.0 (Apress, 2006).

Питер Лайевердинк родился в небольшом голландском сельском городке. Он владеет парой деревянных башмаков, но никогда не ел тюльпаны и не жил в ветряной мельнице. В свой 22-й день рождения Питер переехал в Австралию и некоторое время работал в кабинете офиса. Теперь у него собственное дело, Creative Contingencies Pty, Ltd. Этот бизнес полагается на программное обеспечение с открытым исходным кодом для инфраструктуры и разработки, а также от повседневных офисных задач. Питер специализируется на раработке веб приложений и помогает прочим предприятиям внедрять решения с открытым исходным кодом, применяя Linux как в настольных компьютерах, так и в серверах.

 О техническом рецензенте

Сандер ван Вугт - автор бестселлеров и технический наставник, живущий в Нидерландах. В своей профессиональной жизни Сандер основное внимание уделяет корпоративным дистрибутивам Linux и является автором нескольких книг и видеокурсов по ним. Чтобы получить дополнительную информацию, посетите его веб сайт www.sandervanvugt.com.

 Содержание

Введение
Об авторах
О техническом рецензенте
Часть I. Самое начало
Глава 1. Введение в linux
Дистрибутивы Linux
Red Hat Enterprise Linux
CentOS
The Fedora Project
Debian Linux
Ubuntu
Gentoo
Итак, какой дистрибутив следует выбрать?
Итак, какой дистрибутив охватывает эта книга?
Отбор оборудования
Поддерживаемое оборудование
Получение программного обеспечения
Получение поддержки
Выводы
Глава 2. Установка Linux
LiveCD и Виртуальные машины
LiveCD
Виртуальные машины
Установка сервера CentOS
Установка Ubuntu
Обнаружение проблем
Диагностическая информация
Повторный запуск вашей установки
Ресурсы для поиска неисправностей
Выводы
Глава 3. Введение в VirtualBox, Git и Vagrant
Установка VirtualBox
Лицензирование
Создание новой машины VirtualBox
Установка Git
Основы Git
Введение в Vagrant
Базовые понятия Vagrant
Приступаем к Vagrant
Выводы
Глава 4. Основы Linux
Приступая к Linux
Регистрация
Сопоставление Linux и Microsoft Windows
Графический интерфейс рабочего стола
Командная строка
Оболочки
Приглашение командной строки
Набор вашей первой команды
Удалённый доступ
Применение SSH
Получение помощи
Пользователи и группы
Службы и процессы
Файлы и файловые системы
Типы файлов и полномочия
Ссылки
Пользователи, группы и владение
Размер и пространство
Дата и время
Работа с файлами
Чтение файлов
Поиск файла
Копирование файлов
Перемещение и переименование файлов
Удаление файлов
Создание ссылок на файлы
Изменение файлов
Выводы
Глава 5. Пользователи и группы
Что происходит при вашей регистрации?
Работа с Пользователями и Группами
Введение в sudo
Создание Пользователей
Создание Групп
Удаление Пользователей и Групп
Управление Пользователями и Группами в GUI
Пароли
Срок действия пароля
Запрет Пользователей
Хранение данных Пользователя
Хранение данных Группы
Настройка вашей оболочки и окружения
Управление доступом к вашему хосту
Настройка PAM
Ещё про sudo
Настройка sudo
Выводы
Глава 6. Запуск и службы
Что происходит при запуске вашего хоста?
Включение
Начальные загрузчики
Запуск Операционной системы
Основы начального загрузчика GRUB2
Применение меню GRUB2
Настройка GRUB2
Безопасность вашего начального загрузчика
Что происходит после начальной загрузки?
Основы Systemd
Upstart: инициализация Ubuntu
Вспомним SystemV
Управление службами
Управление службами при помощи Systemd
Останов и перезагрузка вашего хоста Linux
Расписание служб и команд
Таймеры Systemd
Введение в Cron
Выводы
Глава 7. Сетевые среды и межсетевые экраны
Введение в сети и их построение
Начинаем с интерфейсами
Управляем интерфейсами
Настраиваем сетевые среды сетевыми сценариями
Файлы настройки сети для Ubuntu
101 TCP/IP
Обнаружение общих неполадок в сетях
Ping!
MTR
Команда tcpdump
Инструментарий Netcat
Вы это сделали?
Прочие инструменты поиска неисправностей
Добавление пакетов маршрутизации и прямой адресации
Netfilter и iptables
Как работают Netfilter/ iptables
Таблицы
Цепи
Политики
NAT
Применение команд Firewall-cmd
Применение команд ufw
Применение команд iptables
Расширение правил межсетевого маршрутизатора
Ограничения регистрации и её частоты, а также безопасность Netfilter
Дальнейшее объяснение Firewall-cmd
Обёртки TCP
Установка соединения ppp
Установка ADSL при помощи nmcli
Выводы
Глава 8. Управление пакетами
Введение в управление пакетами
Управление пакетами для CentOS
Предварительная подготовка
Установка приложения
Модификатор обновлений Yellowdog
DNF – или Dandified YUM
Управление пакетом Red Hat
Управление пакетами в Ubuntu
Aptitude
Управление пакетами при помощи программных средств Ubuntu
Применение dpkg
Уточнение подробностей пакета
Уточнение содержимого пакета
Выполнение поиска файла
Установка пакета
Удаление пакета
Компиляция из исходного кода
Настройка
Компиляция и сборка
Установка
Удаление
Создание пакетов при помощи FPM
Выводы
Глава 9. Управление хранением и восстановление после сбоев
Основы хранилищ
Устройства
Разделы
Файловые системы
Создание файловой системы подкачки
Создание раздела ext4
Тонкая настройка опций ext2, ext3 и ext4
Файловая система XFS
Файловая система Btrfs
Файловые системы для совместного использования файлов
Другие файловые системы
Использование вашей файловой системы
Автоматическое монтирование
Проверка использования файловой системы
RAID
Типы RAID
Управление логическими томами
Создание групп и томов
Расширение логического тома
Усечение логического тома
Команды LVM
Восстановление после сбоев
Проблемы начальной загрузки
Отказ диска
Выводы
Часть II. Заставим Linux работать на вас
Глава 10. Службы инфраструктуры: NTP, DNS, DHCP и SSH
Хранение времени
Время с timedatectl
Network Time Protocol
Пул сервера NTP
Chrony
Система имён домена
Серверы корня
Опрос серверов имён
Выполнение кэширования DNS
Полномочный DNS
Динамичный DNS
Протокол динамичной настройки хостов
Установка и настройка
Статически выделяемые назначения
Обновления динамичных DNS
Изменение записей DNS вручную
Безопасная оболочка
Создание и распространение ключей
Применение агента SSH
Тонкая настройка SSH
Осуществление быстрой и безопасной передачи файла
Выводы
Глава 11. Службы Web и SQL
Веб сервер Apache
Установка и настройка
Производительность HTTPD
Ограничение доступа
Модули
Права на файлы и каталоги
База данных SQL
Установка
Проверка сервера
Механизм хранения MariaDB
Основные настройки для XtraDB
Базовое администрирование MariaDB
Управление содержимым веб сайта
Наличие web
Безопасность ваших веб служб за счёт сертификатов SSL/ TLS
Создание сертификатов HTTPS при помощи Let’s Encrypt
Прочие веб приложения
Кэширование web
Squid-Cache
Выводы
Глава 12. Почтовые службы
Как работает электронная почта?
Что происходит, когда я отправляю электронное сообщение?
Что происходит после отправки электронного сообщения?
Настройка электронной почты
Установка
Запуск Postfix
Понимание настройки Postfix
Начальная настройка
Проверка Postfix
Выбор формата почтового ящика
Расширенная настройка Postfix
Применение шифрования
Аутентификация
Таблицы просмотра Postfix и виртуальные домены
Получение помощи по Postfix
Война с вирусами и спамом
Фильтрация спама
Антивирус
Установка ClamAV
Настройка ClamAV
Что делать с заражённой почтой?
Настройка IMAP и POP3
IMAP
POP3
В чём разница?
Выбор между IMAP и POP3
Введение в Dovecot IMAP
Виртуальные домены и пользователи
Альтернативные серверы почты для Linux
Выводы
Глава 13. Совместное использование файлов и печать
Совместное использование файлов в Samba и NFS
Samba
Настройка AD Samba
Тестирование Samba
Создание совместных ресурсов Samba
Добавление в Samba пользователей
Необходимые для Samba правила iptables
Монтирование совместных ресурсов Samba Shares в Linux
Монтирование совместных ресурсов в macOS
Ресурсы
Совместные ресурсы NFS: Linux к Linux
Поиск неисправностей NFS
Ресурсы
Распределённые файловые системы
GlusterFS
Управление документами
Применение систем управленгия документами
Серверы печати
CUPS
Выводы
Глава 14. Резервное копирование и восстановление
Планирование восстановления после сбоев
Процесс резервного копирования
Вещи о которых необходимо поразмышлять
Сетевое резервное копирование
Применение rsync
Использование rsync поверх SSH
Резервное копирование при помощи Duply
Настройка S3 Buckets
Политики пользователя AWS
Проверка доступа к S3 Buckets
Установка и настройка Duply
Применение Bareos
Получение программного обеспечения
Настройка базы данных
Настройка Bareos
Управление Bareos при помощи bconsole
Использование GlusterFS для хранения резервных копий
Резервное копирование баз данных при помощи подключаемых модулей Bareos
Введение в UI Bareos
Выводы
Глава 15. Сетевые среды с VPN
Наш пример сетевой среды
Введение в OpenVPN
Установка OpenVPN
Запуск и останов OpenVPN
Настройка OpenVPN
Доступ к ресурсам основного офиса при помощи OpenVPN
VPN соединения для мобильных пользователей
Поиск неисправностей OpenVPN
Выводы
Глава 16. Службы каталога
Обзор
Что такое LDAP?
Общие соображения
Реализация
Установка
Руководство по установке CentOS
Руководство по установке Ubuntu
Настройка
Требования
Настройка SLAPD
Перечисление, добавление и создание схемы
Списки контроля доступа
Работа с демоном slapd
Установка вашего клиента LDAP
Управление и инструменты LDAP
LDIF и добавление пользователей
Добавление пользователей из файлов LDIF
Поиск по вашему дереву LDAP
Удаление элементов из вашего каталога LDAP
Покрытие политики пароля
Проверка вашего списка контроля доступа
Резервное копирование вашего каталога LDAP
Диспетчер учётных записей LDAP: GUI на основе веб
Установка и настройка
Добавление виртуального хоста Apache в LAM
Интеграция с другими службами
Единая подпись: централизованная аутентификация Linux
Как работает PAM
LDAP и аутентификация Apache
Выводы
Глава 17. Мониторинг и оптимизация производительности
Основные проверки жизнеспособности
Использование ЦПУ
Использование оперативной памяти
Дисковое пространство
Журналы
Дополнительные инструменты
Использование ЦПУ и памяти
Использование памяти подкачки
Доступ к дискам
Глубже при помощи dstat
Непрерывное выполнение мониторинга
Collectd
Graphite
Grafana
Оптимизация производительности
Границы ресурсов
sysctl и proc файловой системы
Устройства хранения
Тонкая настройка файловой системы
Расписания ввода/ вывода
Выводы
Глава 18. Журналирование и мониторинг
Регистрация
journald
Фильтры journald
Поддержка безопасности journald при помощи FSS
Journal-Remote
rsyslogd
Настройка rsyslog
Свойства
Приоритеты
Действия
Объединение нескольких селекторов
Настройка RELP
Настройка Клиента RELP
Настройка Сервера RELP
Запуск и останов rsyslog
Тестирование регистрации при помощи logger
Управление записями и ротация
Анализ журнала и установление соответствия записей
Введение в Beats и Logstash
Установка и настройка Beats
Установка и настройка Logstash
Фильтры Logstash
Elasticsearch для припрятанных записей
Установка и настройка Elasticsearch
Установка и настройка Kibana
Дальнейшая информация
Мониторинг
Введение в Nagios-Core
Установка Nagios
Установка Nagios в CentOS
Установка Nagios в Ubuntu
Запуск Nagios
Настройка Nagios
Файл nagios.cfg
Настройка хоста
Шаблоны хоста
Периоды времени
Команды
Периодичность уведомления
Контакты и группы контактов
Определение нашего хоста
Настройка службы
Простой удалённый мониторинг
Журналирование и отладка
Подключаемые модули Nagios
Установка консоли Nagios
Аутентификация консоли
Функции консоли
Поиск неисправностей Nagios
Выводы
Глава 19. Управление настройкой
Подготовка к работе
Подготовка к работе при помощи Cobbler CentOS
Установка Cobbler
Настройка Cobbler
Управление вашим DHCP через Cobbler
Cobbler не управляет вашим DHCP
Настройка TFTP
Применение Cobbler
Построение хоста при помощи Cobbler
Веб интерфейс Cobbler
Поиск неисправностей Cobbler
Kickstart
Источник установки
Клавиатура, язык, временная зона
Управление пользователями
Межсетевой экран и сеть
Диски и разделы
Управление пакетами
До и после установки
Preseed
Источник установки
Клавиатура, язык, временная зона
Управление пользователями
Межсетевой экран и сеть
Диски и разделы
Управление пакетами
MAAS
Управление настройкой
Введение в Puppet
Установка Puppet
Установка в CentOS
Установка в Ubuntu
Настройка Puppet
Настройка Хозяина
Запись Манифеста
Запуск сервера Puppet через RAL
Подключение нашего первого клиента
Создание нашей первой настройки
Применение нашей первой настройки
Определение настроек для множества хостов
Связанные ресурсы
Использование шаблонов
Ещё Puppet
Функции
Отчёты
Внешние узлы
Создание документации ваших настроек
Поиск неисправностей в Puppet
Введение в Ansible
Установка и настройка Ansible
Схемы игры Ansible
Определение задач схемы игры
Исполнение схемы
Тестирование Serverspec
Установка Serverspec
Выполнение тестов
Выводы
Указатель