Astra linux руководство администратора скачать

Astra_Linux_Установка,_настройка,_администрирование_2023_Матвеев.pdf

Имя файла: Astra_Linux_Установка,_настр ойка,_администрирование_2023 _Матвеев.pdf
Размер файла: 48.12 MB
Файл загружен: 24/11/2022 11:02:47
Файл скачали: 188

Поделиться этой ссылкой

<a href=»https://wdfiles.ru/3fda78″ target=»_blank» title=»Download from загрузить файл»>Скачать Astra_Linux_Установка,_настройка,_администрирование_2023_Матвеев.pdf — загрузить файл</a>

[url]https://wdfiles.ru/3fda78[/url]

QR-код это ссылка для мобильных устройств

подойдёт для вставки в документы или презентации.

Или получить файл на мобильное устройство, отсканировав QR-код программой с мобильного устройства

Приветствуем Вас на файлообменнике WdFiles.ru!

Ресурс WDfiles.RU был задуман как бесплатный файлообменник. Согласитесь, удобно с его помощью делиться файлами, или перемещать их с одного устройства на другое!

Всем спасибо за использование нашего ресурса!

Преимущества:

 Прямые загрузки. Без ожидания.

 Отсутствие рекламы.

 Неограниченное количество загрузок.

 Максимальная скорость загрузки.

 Техподдержка (support@wdfiles.ru).

 Неограниченная файловая зона.

 Файлы в премиум-аккаунте хранятся вечно.

 Загрузка файла размером свыше 10.00 GB .

 Отсутствие ограничения на загрузки.

 Низкая цена в сутки.

 Отсутствие подписок.

43260Astra Linux на сегодняшний день является одним из самых востребованных программных продуктов не только на территории РФ, но и в более глобальном масштабе. Эта операционная система хороша тем, что с высокой эффективностью ее можно использовать как на персональных компьютерах (для личного пользования), так и серверах различного уровня. Также эта система поддерживается и мобильными устройствами.

Эта книга поможет вам освоиться в Astra Linux достаточно быстро и просто: начиная от самых основ (установка системы, начальная конфигурация, основы командной строки) мы перейдем к настройке различных видов сети (локальная сеть, Wi-Fi, VPN- и DSL-соединения), установке различных программ и запуску Windows-приложений. Также рассмотрим файловую систему, управление хранилищем, загрузкой ОС и процессами. В заключительной части книги для уже чуть более опытных пользователей Linux будут рассмотрены настройка и подключение веб-сервера.

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

img

Нажмите на звезду, чтобы оценить!

Прочитали: 420

МАТВЕЕВ М.

Д.

УДК 004.42 ББК 32.973
Матвеев М. Д.
ASTRA LINUX. УСГАНОВКА, НАСТРОЙКА, АДМИНИСГРИРОВАНИЕИЗДАТЕЛЬСТВО НАУКА И ТЕХНИКА,

2023. -416

С., ИЛ.

ISBN 978-5-907592-07-О
Astra Linux на сегодняшний день является одним из самых востребованных
программных продуктов не только на территории РФ, но и в более глобаль­
ном масштабе. Эта операционная система хороша тем, что с высокой эффек­
тивностью ее можно и�пользовать как на персональных компьютерах (для
личного пользования), так и серверах различного уровня. Также эта система
поддерживается и мобильными устройствами.
Эта книга поможет вам освоиться в Astra Linux достаточно быстро и
просто: начиная от самых основ (установка системы, начальная конфигура­
ция, основы командной строки) мы перейдем к настройке различных видов
сети (локальная сеть, Wi-Fi, VPN- и DSL-соединения), установке различных
программ и запуску Windоws-приложений. Также рассмотрим файловую
систему, управление хранилищем, загрузкой ОС и процессами. В заключи­
тельной части книги для уже чуть более опытных пользователей Linux будут
рассмотрены настройка и подключение веб-сервера.
Книга будет полезна как начинающих линуксоидам, так и более опытным
пользователям, которые хотят познакомиться с Astra Linux поближе.

Все права защ11щены. Н икак ая часть данной книг и не может быть восп роизведена в какой бы то нн было форме без письменного раз решения
владельцев авторских п рав.
Издательство не несет ответственности за доступность материа лов, ссылк и на которые вы можете найти в этой книге. На момент подготовки
книги к изданию все ссылки на интернет-ресурсы б ыли действующими.

Контактные телефоны издательства:
(812) 412 70 26
Официальный сайт: www.nit.com.ru

© Матвеев М. Д.
© Издательство Наука и Техника (оригинал-макет)

Содержание
ВВЕДЕНИЕ ………………………………………………………..�························ 13
ГЛАВА 1. УСТАНОВКА ASTRA LINUX НА КОМПЬЮТЕР … 17
1.1.ПОДГОТОВКА ИНСТАЛЛЯЦИОННОГО НОСИТЕЛЯ ………………………………… 18
1.2. ПР ИНЦИП УСТАНОВКИ LINUX ……………………………………………………………………… 20
1.3. ЗАГРУЗКА С ИНСТАЛЛЯЦИОННОГО НОСИТЕЛЯ ……………………………………. 20
1.4. РАЗМЕТКА ДИСКА ……………………………………………………………………………………………. 21
1.4.1. Общие сведения о разметке диска………………………………………………. 21
1.4.2. Введение в точку монтирования …………………………… , …………………… 23
1.4.3. Подкачка …………………………………………………………………………………… 25
1.4.4. Как правильно разбивать жесткий диск? ……………………………………. 26
1.5.УСТАНОВКА ПАР ОЛЯ АДМИНИСТРАТОРА ………………………………………………… 31
1.6. ПАРАМЕТРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ………………………………………. 32
1.7.УСТАНОВКА ЗАГРУЗЧИКА …………………………………………………………………………….. 33

ГЛАВА 2. ВХОД В СИСТЕМУ ………………………………………………… 35
2.1. ВХОД В КОНСОЛЬ И ПЕРЕКЛЮЧЕНИЕ МЕЖДУ НИМИ …………………………… 36
2.2. ОСНОВНЫЕ ЭЛЕМЕНТЫ ГРАФИЧЕСКОГО ИНТЕР ФЕЙСА …………………….. 39
2.3. АВТОМАТИЧЕСКИЙ ВХОД В СИСТЕМУ ……………………………………………………… 45

ГЛАВА 3. СРАЗУ ПОСЛЕ УСТАНОВКИ ………………………………. 47
3.1. ПРОВЕРЯЕМ И УСТАНАВЛИВАЕМ ОБНОВЛЕНИЯ …………………………………… 48
3.2. НАСТРАИВАЕМ ПОЧТОВЫЙ КЛИЕНТ …………………………………………………………. 49
3.3.УСТАНОВИТЕ ВАШ ЛЮБИМЫЙ БРАУЗЕР ………………………………………………….. 50
3.4. УСТАНОВКА ПРОИГРЫВАТЕЛЯ VLC …………………………………………………………… 51
3.5.УСТАНОВКА WJNE ДЛЯ ЗАПУСКА WINDОWS-ПРИЛОЖЕНИЙ ………………. 52

3.6.УСТАНОВКА ДОПОЛНИТЕЛЬНЫХ АРХИВАТОРОВ ………………………………….. 52

. ……….. .. . ….. ………. . … … … . .. ……… ·····…… ·········

………. …

Astra Linux
3.7. УСТАНОВИТЕ ПОЛЕЗНЫЕ УТИЛИТЫ …………………………………………………………. 52

ГЛАВА 4. ОСНОВЫ КОМАНДНОЙ СТРОКИ …………………….. 53
4.1. ВВОД КОМАНД……………………………………….. :………………………………………………………… 54
4.2. АВТОДОПОЛНЕНИЕ КОМАНДНОЙ СТР ОКИ ……………………………………………… 55
4.3. ПЕРЕНАПРАВЛЕНИЕ ВВОДА/ВЫВОДА ………………………………………………………… 56
4.4. СПРАВОЧНАЯ СИСТЕМА MAN ………………………………………………………………………. 57
4.5. КОМАНДЫ ДЛЯ РАБОТЫ С ФА ЙЛАМИ И КАТА ЛОГА МИ ………………………… 57
4.5.1. Команды для работы с файлами …………………………………………………. 57
4.5.2. Команды для работы с каталогами……………………………………………… 60
4.6. КОМАНДЫ СИСТЕМНОГО А ДМИНИСТРАТОРА ………………………………………… 62
4.6.1. Команды для работы с устройствами и драйверами ……………………. 63
4.6.2. Команды настройки сетевых интерфейсов …………………………………. 64
4.6.3. Программы тестирования и настройки жесткого диска ………………. 64
4.7. КОМАНДЫ ОБРАБОТКИ ТЕКСТА ………………………………………………………,…………. 65
4.7.1. Редактор sed………………………………………………………………………………. 65
4.7.2. Подсчет количества слов/символов…………………………………………….. 66
4.7.3. Сравнение файлов ……………………………………………………………………… 67
4.7.4. Разбивка текста на колонки ……………………………………………………….. 68
4.7.5. Команды dijfи dijfЗ……………………………………………………………………. 68
4.7.6. Командаgrер …………………………………………………………………………….. 70
4.7.7. Замена символов табуляции пробелами ……………………………………… 70
4.7.8. Форматирование текста……………………………………………………………… 71
4.7.9. Команды постраничного вывода more и less ………………………………. 71
4.7.10. Команды head и tail: вывод первых и последних строк файла …… 71
4.7.11. Команда split……………………………………………………………………………. 72
4.7.12. Команда unexpand …………………………………………………………………… 72

ГЛАВА 5. ЛОКАЛЬНАЯ СЕТЬ ………………………………………………. 73
5.1. ФИЗИЧЕСКАЯ НАСТРОЙКА СЕТИ ETHERNET ………………………………………….. 74

5.2. НАСТР ОЙКА СЕТИ С ПОМОЩЬЮ ГРАФИЧЕСКОГО КОНФИГУРАТОРА … 76

………

······ …………………… …… -·-……… ——·-…. …………… . .

5.3. КОМАНДА IFCONFIG ……………………………………………………………………………………….. 79
5.4. ИМЕНА СЕТЕВЫХ ИНТЕРФЕЙСОВ В LINUX ……………………………………………… 82
5.5. ОБЩИЕ КОНФИГУРАЦИОННЫЕ ФАЙЛЫ …………………………………………………… 85
Файл /etc/hosts ……………………………………………………………………………………. 85
Файлы /etc/hosts.allow и /etc/hosts.deny ……………………………………………….. 85
Файл /etc/host.conf……………………………………………………………………………… 86
Файл /etc/hostname …………………………………………………………………………….. 86
Файл /etclmotd ,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,.,,.,,,,,,,,,,.,,.,,,,.,,,,,,,,,,,,,,,,.,,,,.,,,,,,,,,,,,,,,,.,,. 86
Файл /etclresolv.conf…………………………………………………………………………… 86
Файл /etclservices ……………………………………………………………………………….. 87
Файл /etclprotocols ……………………………………………………………………………… 87
Файл /etclnetwork/interfaces: конфигурация сети в Astra Linux …,,.,,,,,,,,,,. 88
Каталог letc/NetworkManager/system-connections: конфигурация сети в
UЬuntu ……………………………………………………………………………………………….. 88

ГЛАВА 6. БЕСПРОВОДНАЯ WI-FI СЕТЬ ……………………………. 91
6.1. НАСТРОЙК А БЕ(::ПРОВОДПОЙ СЕТИ С ПОМОЩЬЮ ГРАФИЧЕСКОГО
ИНТЕРФЕЙСА …………………………………………………………………………………………… 93
6.2. НАСТРОЙК А БЕСПРОВОДНОГО СОЕДИНЕНИЯ В КОМАНДНОЙ СТРОКЕ
(WЕР-ШИФРОВАПИЕ) …………………………………………………………………………….. 95
6.3. СОЕДИНЕНИЕ С ТОЧКОЙ ДОСТУП А ПО WРА-ШИФРОВАПИЮ ……………. 97

ГЛАВА 7. VРN-СОЕДИНЕНИЕ ……………………………………………. 101
7.1. ЗАЧЕМ НУЖНА VPN ………………………………………………………………………………………… 102
7.2. НАСТРОЙК А VРN-ПОДКЛЮЧЕПИЯ В ASTRA LINUX ……………………………… 103

ГЛАВА 8. DSL-СОЕДИНЕНИЕ …………………………………………….. 107
8.1. НЕСКОЛЬКО СЛОВ О DSL-ДOCTYПE …………………………………………………………. 108
8.2. НАСТРОЙК А DSL/PPPOE В ASTRA LINUX…………………………………………………… 109
8.3. ПРОГРАММА PPPOECONF: НАСТРОЙК А DSL-СОЕДИПЕПИЯ П А СЕРВЕРЕ БЕЗ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ……………………………………………. 112

8.4. ПРОГРАММА PPPOE-SETUP……………………………………………………………………………. 114

·-·······-···—···-···-·······—····························—··———·———-

ГЛАВА 9. УСТАНОВКА ПРОГРАММ В ASTRA LINUX ……. 119
9.1. СПОСОБЫ УСТАНОВКИ ПР ОГРАММ …………………………………………………………. 120
9.2. ТИПЫ ПАКЕТОВ И ИХ СОДЕРЖИМОЕ ………………………………………………………. 121
9.3. ИСТОЧНИКИ ПАКЕТОВ…………………………………………………………………………………. 122
9.4. МЕНЕДЖЕРЫ ПАКЕТОВ ……………………………………………………………………………….. 123
9.5. ГРАФИЧЕСКИЕ СРЕДСТВА УСТАНОВКИ ПР ОГРАММ …………………………… 128
9.6. ОШИБКА ПРИ ВЫПОЛНЕНИИ АРТ: UNABLE ТО ACQUIRE ТНЕ DPKG
LOCK /VARILIBIDPKGILOCK …………………………………………………………………… 131

ГЛАВА 10. ПОПУЛ ЯР Н ЫЕ ПРОГРАММЫ ………………..�……… 135
10.1. ОФИСНЫЕ ПАКЕТЫ …………………………………………………………………………………….. 136
10.2. ГРАФИЧЕСКИЕ ТЕКСТОВЫЕ РЕДАКТОРЫ …………………………………………….. 137
10.3. КОНСОЛЬНЫЕ ТЕКСТОВЫЕ РЕДАКТОРЫ……………………………………………… 139
10.4. ПРОГРАММЫ ДЛЯ РАБОТЫ С ИНТЕРНЕТОМ ………………………………………… 143
10.5. LINUX-AHAЛOГИ WINDOWS-ПPOГPAMM ……………………………………………….. 143

ГЛАВА 11. ЗАПУСК WINDОWS-ПРИЛОЖЕНИЙ В ASTRA LINUX»153
11.1. УСТАНОВКА ИЗ ОФИЦИАЛЬНОГО РЕПОЗИТАРИЯ ……………………………… 155
11.2. НАСТРОЙКА ПОСЛЕ УСТАНОВКИ ……………………………………………………………. 155
11.3. УСТАНОВКА И ЗАПУСК WINDOWS-ПPOГPAMMЫ ………………………………… 157
11.4. СПИСОК ИГР И ДРУГИХ ПРИЛОЖЕНИЙ, РАБОТАЮЩИХ ЧЕРЕЗ WINE «159
11.5. ИСПОЛЬЗОВАНИЕ ОТДЕЛЬНЫХ ПРЕФИКСОВ………………………………………. 160

ГЛАВА 12. ФАЙЛОВАЯ СИСТЕМА ……………………………………. 161
12.1. КАКИЕ ФАЙЛОВЫЕ СИСТЕМЫ ПОДДЕРЖИВАЕТ ASTRA LINUX ……… 162

12.2. КАКУЮ ФАЙЛОВУЮ СИСТЕМУ ВЫБРАТЬ? ……………………………………………. 164

•.

12.3. ЧТО НУЖНО ЗНАТЬ О ФАЙЛОВОЙ СИСТЕМЕ LINUX ………………………….. 165

. . . .. . -…… -… — — . — — — . — — — — — — — — — — — — -.. — — — . — -. -. — … — -. — — -. — . — — — — — . — .. — — — . — — — — —

Со.1срт::н111с
12.3.1. Имена файлов и каталогов ……………………………………………………… 165
12.3.2. Файлы устройств ………………………………. , …………………………………. 165
12.3.3. Корневая файловая система и основные подкаталоги первого
уровня .. , .. , …….. , ………………………………………………………………………………… 166
12.4. ссылки ………………………………………………………………………………………………………….. 168
12.5. ПРАВА ДОСТУПА …………………………………………………………………………………………… 169
12.5.1. Общие положения ………………………………………………………………….. 169
12.5.2. Смена владельца файла …………………………. , ……………………………… 170
12.5.3. Определение прав доступа …………………………………………………….. 170
12.5.4. Специальные права доступа …………………………………………………… 172
12.6. АТРИБУТЫ ФАЙЛА ……………………………………………………………………………………….. 173
12.7. ПОИСК ФАЙЛОВ ……………………………………………………………………………………………. 174
12.8. МОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ …………………………………………………. 177
12.8.1. Монтируем файловые системы вручную …………….:…………………. 177
12.8.2. Имена устройств ……………………………………………………………………. 179
12.8.3. Монтируем файловые системы при загрузке …………………………… 182
12.8.4. Автоматическое монтирование файловых систем……………………. 183
12.9. РАБОТА С ЖУРНАЛОМ ………………………………………………………………………………… 183
12.10. ПРЕИМУЩЕСТВА ФАЙЛОВОЙ СИСТЕМЫ ЕХТ4 …………………………………. 184
12.11. СПЕЦИАЛЬНЫЕ ОПЕРАЦИИ С ФАЙЛОВОЙ СИСТЕМОЙ ………………….. 185
12.11.1 Монтирование NТFS-разделов ……………………,………………………… 185
12.11.2. Создание файла подкачки …………………………….., ………………….. , .. 186
12.11.3. Файлы с файловой системой …………………………………………… , …… 187
12.11.4. Создание и монтирование !SO-образов …………………………………. 187
12.12. ФАЙЛЫ КОНФИГУРАЦИИ LINUX ……………………………………………………………. 188
12.12.1. Содержимое каталога /etc …………………………………………………….. 188
12.12.2. Конфигурационные файлы …………………………………………………… 189
12.12.3. Подкаталоги с конфигурационными файлами ……………………….. 196
12.13. ПСЕВДОФАЙЛОВЫЕ СИСТЕМЫ ……………………………………………………………… 203
12.13.1. Псевдофайловая система sysfs ………………………………………………. 204
12.13.2. Псевдофайловая системарrос ………………………………………………. 205

ГЛАВА 13. УПРАВЛЕНИЕ ХРАНИЛИЩЕМ ……………………… 209
13.1. ПОДКЛЮЧ ЕНИЕ НОВОГО ЖЕСТКОГО ДИСК А И ЕГО РАЗМЕТК А ……. 210
13.2. МЕНЕДЖЕР ЛОГИЧ ЕСКИХ ТОМОВ …………………………………………………………. 217
13.2.1. Введение в LVМ …………………………………………………………………….. 217
13.2.2. Уровни абстракции LVM ………………………………………………………… 218
13.2.3. Немного практики ………………………………………………………………….. 218

ГЛАВА 14. УПРАВЛЕНИЕ ЗАГРУЗКОЙ ОС ………………………. 223
14.1. З АГРУЗЧИКИ LINUX……………………………………………………………………………………… 224
14.2. З АГРУЗЧИК GRUB2 ………………………………………………………………………………………… 225
14.2.1. Конфигурационные файлы ……………………………………………………. 225
14.2.2. Выбор метки по умолчанию …………………………………………………… 231
14.2.3. Загрузка Windows…………………………………………………………………… 231
14.2.4. Пароль загрузчика GRUB2……………………………………………………… 232
14.2.5. Установка загрузчика……………………………………………………………… 234
14.3. СИСТ ЕМА ИНИЦИ АЛИЗ АЦИИ …………………………………………………………………… 235
14.3.1. Принцип работы…………………………………………………………………….. 235
14.3.2. Конфигурационные файлы systemd ………………………………………… 237
14.3.3. Цели………………………………………………………………………………………. 240
14.4. УПРАВЛЕНИ Е С ЕРВИСАМИ ПРИ ИСПОЛЬЗОВАНИИ SYSTEMD …………. 241

ГЛАВА 15. УПРАВЛЕНИЕ ПРОЦЕССАМИ ………………………..245
15.1. КОМАНДЫ PS, N1CE И KILL …………………………………………………………………………. 246
15.1.1. Получение информации о процессе………………………………………… 246
15.1.2. Изменение приоритета процесса…………………………………………….. 251
15.1.3. Аварийное завершение процесса ……………………………………………. 252
15.2. КОМАНД А ТОР ……………………………………………………………………………………………….. 253
15.3. ИНФОРМАЦИ Я ОБ ИСПОЛЬЗОВАНИИ П АМЯТИ И ДИСКОВОГО
ПРОСТРАНСТВА …………………………………………………………………………………….. 256

…. .

15.4. КОМАНД А FUSER ………………………………………………………………………………………….. 257

…….. . …… ……. — ……………. — ·—……. — …. — . ……. -···—.

15.5. ПЛАНИРОВЩИКИ ЗАДАНИЙ ……………………………………………………………………… 258
15.5.1. Планировщик cron…………………………………………………………………. 258
15.5.2. Планировщик anacron……………………………………………………………. 260

ГЛАВА 16. ПОЛЬЗОВАТЕЛИ И ГРУППЫ ………………………….. 263
16.1. ВВЕДЕНИЕ В УЧЕТНЫЕ ЗАПИСИ ASTRA LINUX ……………………………………. 264
16,2. ПОЛУЧЕНИЕ ПОЛНОМОЧИЙ ROOT………………………………………………………….. 267
16.3. УПРАВЛЕНИЕ УЧЕТНЫМИ ЗАПИСЯМИ ПОЛЬЗОВАТЕЛЕЙ………………… 273
16.3.1. Создание учетной записи пользователя …………………………………… 273
16.3.2. Файлы /etc/passwd и /etc/shadow……………………………………………… 275
16.3.3. Изменение и удаление учетных записей ………………………………… 278
16.3.4. Группы пользователей ……………………………………………………………. 282
16.4. МОДУЛИ РАМ …………………………………………………………………………………………………. 282
16.4.1. Ограничиваем доступ к системе по IР-адресу …………………………. 285
16.4.2. Ограничиваем время входа в систему……………………………………… 287
16.4.3. Ограничение системных ресурсов с помощью РАМ ……………….. 288

ГЛАВА 17. НАСТРОЙКА ВЕБ-СЕРВЕРА ……………………………. 291
17.1. УСТАНОВКА И НАСТР ОЙКА АРАСНЕ ………………………………………………………. 293
17.2. УСТАНОВКА СЕРВЕРА БАЗ ДАННЫХ. СОЗДАНИЕ БАЗЫ ДАННЫХ И
ПОЛЬЗОВАТЕЛЯ …………………………………………………………………………………….. 295
17.3. УСТАНОВКА И НАСТР ОЙКА РНР. ВЫБОР ВЕР СИИ ….:………………………….. 296
17.4. ДИРЕКТИВЫ ФАЙЛА КОНФИГУРАЦИИ АРАСНЕ ………………………………….. 297
17.5. ОПРЕДЕЛЕНИЕ ВИРТУАЛЬНЫХ УЗЛОВ ………………………………………………….. 308
17.6. ПОЛЬЗОВАТЕЛЬСКИЕ КАТАЛОГИ…………………………………………………………….. 310
17.7. ОПТИМИЗАЦИЯ ВЕБ-СЕРВЕРА ……………………………………………………………………311
17.8. ЗАЩИТА СЕРВЕРА АРА СНЕ ………………………………………………………………………… 312

ГЛАВА 18. ПОДКЛЮЧЕНИЕ SSL-СЕРТИФИКАТА …………. 313

….. …

18.1. ЗАКАЗ СЕРТИФИКАТА …………………………………………………………………………………. 314

. —.. —……—…-……..—…—……-……—…. ——-..—…….—. ·—

,st,·a l,inux
18.2. НАСТРОЙКА АРА СНЕ ……………………………………………………………………………………. 316
18.3. НАСТРОЙКА NGINX……………:………………………………………………………………………… 318
18.4. ГЕНЕРИРОВАНИЕ СЕРТИФИКАТА LET’S ENCRYPT………………………………. 319
18.4.1. Установка клиента Let’s Encrypt ……………………………………………… 319
18.4.2. Каталог webroot-path/.well-known/acme-challenge/ …………………… 320
18.4.3. Файл конфигурации ……………………………………………………………….. 320
18.4.4. Заказ сертификата ………………………………………………………………….. 321
18.4.5. Автоматическое обновление сертификата……………………………….. 321
18.5. НАСТРОЙКА РЕДИРЕКТА ……………………………………………………………………………. 322
18.6. ГОТОВИМ ДВИЖОК САЙТА К SSL …………………………………………………………….. 322
18.7. КОНВЕРТИРОВАНИЕ СЕРТИФИКАТОВ РАЗНЫХ ФОРМАТОВ ……………. 322

ГЛАВА 19. ВЫБОР И УСТАНОВКА ПАНЕЛИ УПРАВЛЕНИЯ
СЕРВЕРОМ ………………………………………………………………… 325
19.1. КОММЕРЧЕСКИЕ РЕШЕНИЯ ………………………………………………………………………. 326
19.1.1. cPanel …………………………………………………………………………………….. 327
19.1.2. DirectAdmin …………………………………………………………………………… 328
19.1.3. ISPManager ……………………………………………………………………………. 329
19.1.4. Plesk………………………………………………………………………………………. 331
19.1.5. Рекомендации ………………………………………………………………………… 332
19.2. БЕСПЛАТНЫЕ РЕШЕНИЯ ……………………………………………………………………………. 333
19.2.1. Webmin ………………………………………………………………………………….. 333
19.2.2. VestaCP ………………………………………………………………………………….. 334
19.2.3. ISPConfig ……………………………………………………………………………….. 335
19.2.4. Ajenti……………………………………………………………………………………… 336
19.2.5. Рекомендации ………………………………………………………………………… 337
19.3. УСТАНОВКА ПАНЕЛИ УПРАВЛЕНИЯ WEBMIN НА СЕРВЕР ……………….. 338
19.3.1. Знакомство с Webmin ……………………………………………………………… 338
19.3.2. Установка Webmin ………………………………………………………………….. 338
19.3.3. Вход в панель управления ………………………………………………………. 339

………………………………………………………………………….

ГЛАВА 20. ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ
СЕРВЕРА ……………………………………………………………………. 343
20.1. ЧЕК-ЛИСТ ПРОИЗВОД ИТЕЛЬНОСТИ СЕРВЕРА …………………………………….. 344
20.2. СМЕНА ВЕРСИИ РПР И ЕГО НАСТРОЙКА ……………………………………………….. 347
20.3. НАСТРОЙКА СЖАТИЯ И КЭШИРОВАНИЯ ………………………………………………. 350
20.3.1. Настройка 11gi11x…………………………………………………………………….. 351
20.3.2. Настройка Apache………………………………………………………………….. 353
20.4. ВКЛЮЧЕНИЕ КЭШИРОВАНИЯ ПА СТОРОНЕ СЕРВЕРА ………………………. 356
20.4.1. Настройка Pagespeed……………………………………………………………… 356
20.4.2. Настройка Memcached …………………………………………………………… 357
20.5. УСКОРЕНИЕ CMS ………………………………………………………………………………………….. 358
20.5.1. Включение кэша…………………………………………………………………….. 359
20.5.2. Включаем сжатие и объединение JavaScript и CSS ………………….. 360
20.5.3. Оптимизируйте изображения …………………………………………………. 361
20.5.4. Использование Flаt-категорий и продуктов …………………………….. 361
20.5.5. Переводим Magento в production-peжим …………………………………. 362
20.5.6. Настройка MySQL …………………………………………………………………. 362

ГЛАВА 21. НАСТРОЙКА ПОЧТЫ НА ВЕБ-СЕРВЕРЕ ……… 365
21.1. ПРОВЕРЯЕМ, РАБОТАЕТ ЛИ ПОЧТА ….,…………………………………………………….. 3�7
21.2. ПР ИНЦИП НАСТРОЙКИ ………………………………………………………………………………. 367
21.3. УСТАНОВКА И НАСТРОЙКА SSMTP………………………………………………………….. 367
21.4. НАСТРОЙКА РНР …………………………………………………………………………………………… 368
21.5. ВОЗМОЖНЫЕ ПРОБ ЛЕМЫ …………………………………………………………………………. 369

ГЛАВА 22. РЕШЕНИЕ ТИПИЧНЫХ ПРОБЛЕМ ………………. 371
22.1. САЙТ НЕДОСТУПЕН. ПОИСК ПРИЧИНЫ ………………………………………………… 372
22.1.1. Закончилось дисковое пространство/свободные иноды …………… 373
22.1.2. Нехватка прочих ресурсов ……………………………………………………… 375
22.1.3. Неправильная конфигурация сервера ……………………………………… 375

. ……… ·-···-·—·-·-· ..·-····· ——-.. — ….. ·-··-·…………………….. ..

st,·a l,i11ux
22.2. СЦЕН АРИИ АВТОМАТИЧЕСКОГО ПЕРЕЗ АПУСКА СЛУЖБ В СЛУЧАЕ
СБОЯ …………………………………………………………………………………………………………. 377

22.2.1. Проверка работоспособности веб-сервера………………………………. 378
22.2.2. Проверка работоспособности MySQL …………………………………….. 379
22.2.3. Если падают процессы …………………………………………………………… 379
22.2.4. Monit: если нет таланта программиста ……………………………………. 380
22.3. БОРЬБА С СЕССИЯМИ MAGENTO: З АЩИТА ОТ ПЕРЕП ОЛНЕНИЯ
ДИСКА ………………………………………………………………………………………………………. 381

22.3.1. Решение 1: сценарий ……………………………………………………………… 382
22.3.2. Решение 2: смена файловой системы ………………………… :………….. 382
22.4. Р ОТАЦИЯ ЖУРН АЛ ОВ СЕРВЕРА ……………………………………………………………….. 383
22.5. ДЕСЯТКА УТИЛИТ ДЛЯ МОНИТОРИНГА СЕРВЕРА ……………………………… 387

22.5.1. htор-информативная версия top ………………………………………….. 387
22.5.2. atop — продвинутый монитор процессов …………………………………. 388
22.5.3. apachetop- мониторинг веб-сервера в реальном времени……… 388
22.5.4. mytop -мониторинг MySQL …………………………………………………. 389
22.5.5. iotop- мониторинг ввода/вывода ………………………………………….. 390
22.5.6. iftop- мониторинг сетевого интерфейса ……………………………….. 391
22.5.7.jnettop- еще один монитор сетевого интерфейса ………………….. 391
22.5.8. iptraf- мониторинг трафика …………………………………………………. 392
22.5.9. пgrер-утилита для профессионала ……………………………………… 393
22.5.10. птоп -швейцарский нож …………………………………………………… 394

ГЛАВА 23. ПЕРЕЕЗД В ОБЛАКО …………………………………………. 397
23.1. СКОЛЬКО СТО ИТ ФИЗИЧЕСКИЙ СЕРВЕР ………………………………………………. 398
23.2. СТОИМОСТЬ С ОДЕРЖАНИЯ ФИЗИЧЕСКОГО СЕРВЕРА ……………………… 402
23.3. ВАРИ АНТЫ СНИЖЕНИЯ СТОИМОСТИ ВЛ АДЕНИЯ …………………………….. 403
23.4. ЧТО ЛУЧШЕ? МУКИ В ЫБОРА …………………………………………………………………….. 404
23.5. ВИРТУАЛИЗАЦИЯ ФИЗИЧЕСКОГО СЕРВЕРА …………………………………………. 405
23.6. Ф ОРМАТ OVF ………………………………………………………………………………………………….. 401

…………………………………………………………………………

Проблема современного мира IТ- в его многообразии выбора. Для выпол­
нения одной и той же задачи часто рынок предлагает множество самых раз­
ных решений. Решения различны по своему функционалу, лицензии, стои­
мости … И во всем этом нужно разобраться.
Типичный пример — выбор операционной системы для веб-сервера. Что
лучше? FreeBSD, Windows Server или Linux? Вы мучаетесь всю ночь и при­
нимаете решение. Первая- слишком сложная, вторая- хороша, но за нее
нужно платить, третья- самый универсальный вариант. И не очень сложно,
и много документации, и всевозможное ПО. Самое главное- бесплатная.
Собственно, какой выбор вы сделали, понятно еще и по тому, какую книгу
вы сейчас держите в руках.
После выбора в пользу Linux начинается самое интересное. Вы узнаете, что
Linux- это только «собирательное название», а по факту выбирать прихо­
дится между дистрибутивами Linux, которых очень и очень много. С 2001
года, согласно ресурсу Distrowatch, было создано почти 800 дистрибути­
вов … Понятно, что количество разрабатываемых дистрибутивов постоянно
сокращается-слабые уходят с рынка, но выбор по-прежнему огромен. Не­
сколько сотен дистрибутивов. Только на главной странице Distrowatch есть
список ТОР-100 -он обновляется ежедневно. Следовательно, в мире есть
как минимум 100 активных дистрибутивов, которыми пользуются люди …

………………………………………………………………………….

Самая первая версия Linux, появившаяся в 1991 году, представляла собой
ядро и несколько приложений. В ней запускались компилятор gcc и команд­
ный интерпретатор bash. Поставлялась эта версия Linux в виде двух дискет
— на первой было ядро, на второй — корневая файловая система с прило­
жениями. Загружалась она тоже специфически — сначала нужно было вста­
вить в дисковод первую дискету и дождаться, пока загрузится ядро, затем
был запрос на вставку второй дискеты — с корневой файловой системой.
Первые дистрибутивы появились в 1992 году. Тогда отдельные энтузиасты
или группы энтузиастов выпускали разные дистрибутивы (каждый, есте­
ственно, под своим именем). Грубо говоря, они отличались второй дискетой,
на которой был немного другой набор программ. Далее, с развитием Linux,
необходимые программы уже не помещались на одну дискету, и пришлось
устанавливать Linux на жесткий диск. Появились первые программы уста­
новки.
Чем отличаются разные дистрибутивы, кроме, разумеется, названия?
Во-первых, у каждого дистрибутива своя программа установки (если не
считать дистрибутивов-клонов, которые заимствуют инсталлятор у роди­
тельского дистрибутива, меняя только название дистрибутива). Во-вторых,
у каждого будет свой набор программ — на усмотрение разработчика. По
сути, с 1992 года ничего не поменялось.
Astra Linux — дистрибутив специального назначения на базе ядра Linux,
созданный для комплексной защиты информации и построения защищен­
ных автоматизированных систем. Первая версия увидела свет в 2009 году,
а последняя (на данный момент) версия вышла 15 августа 2022 года.
Дистрибутив обновляется, как правило, 2 раза в год. Основан на Debian 1О,
поэтому если вы до этого работали с DeЬian или UЬuntu, то большая часть
ваших знаний применима и к Astra Linux.

··················································································-818

..

Глава 1.

1.1. Подготовка инсталляционного носителя
Первое, с чего нужно начинать установку системы, — с получения инстал­
ляционного носителя. Поскольку рассматриваемые дистрибутивы Linux
распространяются абсолютно бесплатно, нет никакого смысла загружать
1S0-образы со сторонних ресурсов. В нашем случае 1S0-файл можно полу­
чить с сайта https://astralinux.ru/.
Далее нужно создать сам инсталляционный носитель. В качестве такового
носителя может выступать либо DVD-диск, либо USВ-флешка. Эра DVD­
дисков давно прошла (сейчас даже в продаже их найти сложно), а вот USВ­
флешка, как правило, всегда под рукой.
Для подготовки загрузочного USВ-диска нам нужна флешка размером от
4 Гб и компьютер под управлением Windows. Скачайте приложение Rufus
(https://rufus.ie/) и выполните следующие действия:
1. Если на флешке есть данные, скопируйте их на жесткий диск, поскольку
в процессе создания загрузочного носителя они будут уничтожены.
2. Запустите Rufus.

818-··············—·—··························-·····-··—————·—-·······-·

l.1ава !. Ус1а1ювкаАstrа (jnux 11а ко,111ыо1ср

3 . Из списка Устройство выберите флешку. Убедитесь, что вы выбрали пра­
вильную флешку, если подключено несколько устройств .
4. Нажмите кнопку Выбрать для выбора 1SO-образа, который будет запи­
сан на флешку.
5. Остальные параметры оставьте как есть. Схема раздела должна быть
MBR, целевая система — ВIOS или UEFI, файловая система — FAT32,
размер кластера — 4096.
6. Нажмите кнопку СТАРТ.
7. Дождитесь, пока программа запишет 1SO-образ на флешку.
8. Подключите USВ-флешку к целевому компьютеру (на который будет про­
исходить установка Linux).
9. Перезагрузите целевой компьютер.
10.Войдите в ВIOS SETUP (обычно для этого используется клавиша DEL
или F2, но нужная комбинация может отличаться — обратитесь к руко­
водству по материнской плате).
11. В качестве загрузочного устройства выберите созданную флешку.
12.Выйдите из ВIOS SETUP с сохранением изменений.
х

Свойства диска ——-�-�����—�
NO.lABEL �; {4fб}
�-�-1.�-��-��� ‘» «»»‘»‘».,,_,, ___
_

л Сq>ыть расширенные свойства ;1_о1оса
0 (П>!СОIС. USB AИCkOII

Рис. 1.1. Запись 1S0 образа с Linux на флешку
Размер м.ктера

•.

Если вы все сделали правильно, то увидите
начальный экран загрузчика Linux.

— — — — — — — — -. — — — — — — -. — — -… -… — -… -.. — — -… -.. — — -… -.. -…. -… -… — — -. — — -… —

..

1.2. Принцип установки Linux
Самое главное при установке Linux — выполнить разметку жесткого диска
и не забыть установленный пароль, указанный при установке. Неправиль­
ная разметка жесткого диска означает, что в процессе работы с системой
ее придется изменить, а это сделать не всегда просто, особенно если сер­
вер уже работает. Ну и пароль пользователя желательно тоже не забывать,
иначе придется попотеть, чтобы взломать собственную же систему. А воз­
можность такого взлома зависит, прежде всего, от настроек дистрибутива
по умолчанию — в одних дистрибутивах все будет хорошо, а в других у
вас ничего не получится. Хотя вряд ли можно назвать хорошей возможность
взлома локального сервера (к которому у вас есть физический доступ) — так
что все относительно.
Современные дистрибутивы (и Astra не исключение) обладают достаточно
удобным инсталлятором, поэтому не придется обладать особыми техниче­
скими навыками, чтобы установить систему. Установка Linux не сложнее
установки Windows.

1.3. Загрузка с инсталляционного носителя
После загрузки с инсталляционного носителя вы увидите начальное меню
загрузчика и можете выбрать или графическую установку, или установку в
текстовом режиме (команду Установка), что подойдет для слабых компью­
теров или для серверов, где графический интерфейс не нужен.
Операционная система
общего назначения
Релиз •Орёл•

……………………………………………………… . . . … ……….. .

l.1.111a 1. )c1a11oиi-a.st1·a l.i1111x ш1 �-0,1111,юн�р

Далее все иллюстрации будут соответствовать графическому инсталлятору,
который подойдет большинству пользователей.
Сразу после запуска инсталлятора нужно прочесть лицензионное соглаше­
ние и нажать кнопку Продолжить.
Примечание. Дистрибутив Astra Linux основан на дистрибутиве
Deblan и использует такой же инсталлятор. В некоторых момен­
тах он удобнее, чем инсталлятор Ubuntu, в некоторых — нет.
После нажатия кнопки Продолжить инсталлятор предложит выбрать рас­
кладку клавиатуры. Вы также сможете выбрать комбинацию клавиш для
переключения раскладки, что очень удобно (рис. 1.3).

Н•стро11к• кnа1матур11,1
вам ну•но укаэать способ переключения кnаеиатурw ме•ду национальной расклаАкоll и стандартной латинскоil
раскnаДl(ой.
наи6оnее эргономичнь11-1 сnосо6ом счита1Оtс11 npaвait мааиаа AJt или Сарв Lock{в nослеАНl!М случае дnJI перекntочения
ие:•дУ �аrnавнwми и строчнlоМ’! 6уква№� мсnоль:ауетсм комбинация Shlfl:+Capslotk).�t о,�на популярная ком6ин11ци111:АJt
+Shlft; заметим, ч-то а атом случае комбинация Att+Shlftnoтepяer свое nрив1о1Чное действие в Еmасаи АРУГМХ,
исnоnьзу�х el, nporpa14o4ix
Нi! на есех клавиатура:.- есть перечисnеннwе 1(11ааи•и.
O’loco6 перекп,очення не.жду н.ационат.ной • пsтнн,коН pacкnan1u.1i1:

!orel: a!t-mtp.mount:amd64 {3.7./Jastr.11 ..-:,. 3.�astfa1}
!orei:ark:amd64(4:19.t)4.t-Ooщral •).4:19.12.0-1astra2)

; orel: astra-nat•:amd64 (4. fS.З-! ..Jstr-4.,. 4.153-2.astrilS)
orel: as1ra-n0t-1nodul!-hardмed-meta:amdб4 (4.1S.3-1,c15traA .,. 4.tS.3-2.astra5}
[orel: astra-rюchmod:,,:-modu�me-t.J:amdб4 {4.1S.]-1.:ntr 0.51

;orel: chrom1um:amd64 (Jб.0.3809.100-lastr•З w> 80.0.3987.S7-lastra6}
1 ore!: chrom1um-common:amd64(76,03809.100-1 astrаз .,> 80.0.3987.87-1 astrа6}

; oret rups:amd5.412.2.1-8astril7-> 2.2.!·8ilstr.i11J
orel: cups- Ьsd:amd64{2.2 8a tra
!- s 7
l

Рис. 3.1. Обновление системы в Astra Linux

Если вы предпочитаете командную строку, то откройте терминал и введите
команду (для полного обновления системы):
sudo apt update && sudo apt full-upgrade

3.2. Настраиваем почтовый клиент
В Astra Linux команда вызова почтового клиента находится в программной
группе Сеть. Запустите почтовый клиент и просто введите ваш e-mail и па­
роль от почтового ящика. Почтовый клиент ThunderЬird умный и сам уста­
новит остальные параметры почтового сервиса (SMTP, IMAP, порты и т.д.).
Некоторые пользователи предпочитают использовать веб-интерфейс в брау­
зере, а не почтовую программу. В этом случае можно смело удалить кнопку
вызова почтового клиента, чтобы она даром не занимала пространство на
панели задач. Для этого щелкните по ней правой кнопкой мыши и выберите
команду Удалить из избранного. Вы освободите пространство для одной
полезной для вас кнопки!

…………………………………………………………………………

Do you want to start this connection at boot time?
Please enter по or yes (default по) :yes
Сводка по указанным вами данным

** Summary of what you entered **
Ethernet Interface:
User name:
Activate-on-demand:
Primary DNS:
Secondary DNS:
Firewalling:
User Control:

Accept these settings and adjust configuration files (y/n)? у
Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
Adjusting /etc/resolv.conf
(But first backing it up to /etc/resolv.conf.bak)
Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
(But first backing it up to /etc/ppp/chap-secrets.bak)
(But first backing it up to /etc/ppp/pap-secrets.bak)
Congratulations, it should Ье all set up!
Туре ‘/sbin/ifup рррО’ to bring up your xDSL link and ‘/sbin/ifdown рррО’
to bring it down.
Туре ‘/sЬin/pppoe-status /etc/sysconfig/network-scripts/ifcfg-ppp0’
to see the link status.

Внимательно прочитайте все, что сообщит вам конфигуратор после сохра­
нения настроек. Он сообщает, что вся конфигурация будет, записана в файл /
etc/sysconfig/network-scripts/ifcfg-pppO. Также будет изменен файл /etc/resolv.
conf — в него будет внесена информация DNS, а старая версия этого файла
будет называться /etc/resolv.conf.bak.
Имя пользователя и пароль будут добавлены в файлы /etc/ppp/chap-secrets
и /etc/ppp/pap-secrets (методы аутентификации СНАР и РАР используются
наиболее часто).
Чтобы вручную установить РРРоЕ-подключение, введите команду:
sudo /sbin/ifup рррО

fiгewall setup: howeveг, tl1ese wiJI provjde basic security. lf you
are гunniпg any servers оп your масhiпе, you nist choose ‘NONE’ a11d
set up fiгewalling yoнгself. Otheгwise, t11e firewall Гtles will deny
access to all standaгd serveгs like Jeb, e-мail, ftp, etc. lf you
с,ге using SSti, the rules wi 11 Ыосk outgoi11g SSH co11nectio11s wJ1ich
аllocate а pгivileged source рогt.
Тhе fiгewal1 c}юices аге:
0 — NONE: ‘I11is script will not set any firewall rules. You аге гesponsiЫe
for ensuгing the secuгity of your мachine. You are SТRONGLY
recomrrended to use some kiпd of fire1..1all гules.
1 — STANDALONE: Appropгiate for а basic st1m,�жр,:,11.1и11(‘1- �it�Pc�•

Библн,н�кv. — 1′-‘-1;:l16.т,оа�» — ст;,!)��

j l-.>Pilt� � ‘щm»
.. -)_Jг.
Поэтому создавать файлы и выполнять другие операции по работе с файла­
ми (удаление, редактирование, копирование и т.д.) пользователь может толь­
ко в этом каталоге и то ·при условии, что файлы принадлежат ему.
Если в домашнем каталоге пользователя root создал файл, пользователь не
сможет удалить или изменить его, поскольку он не является его владельцем.
Сможет ли он прочитать этот файл, зависит от прав доступа к файлу (о них
мы поговорим ·позже) .

•…………………………………………….-..-…………..-………..tD

Остальные файлы, которые находятся за пределами домашнего каталога,
пользователь может только просмотреть, и то если это не запрещено права­
ми доступа. Например, файл /etc/passwd пользователь может просмотреть, а
/etc/shadow — нет. Также пользователь не может создать файлы в корневой
файловой системе или в.любом другом каталоге, который ему не принадле­
жит, если иное не установлено правами доступа к этому каталогу.

12.5.2. Смена владельца файла
Команда chown используется для изменения владельца файла/каталога. Фор­
мат такой:
chown

Здесь пользователь — это новый владелец файла . Чтобы подарить другому
пользователю файл, вы должны быть или его владельцем, или пользовате­
лем root.

12.5.3. Определение прав доступа
Для изменения прав доступа используется команда chmod. Для изменения
прав доступа вы должны быть владельцем файла/каталога или же пользова­
телем root. Формат команды следующий:
chmod

Права доступа состоят из трех наборов: для владельца, для группы владельца
и для прочих пользователей. Первый набор задает возможности владельца
файла, второй — для группы пользователей, в которую входит владелец, и
третий — для всех остальных пользователей.
В наборе может быть три права — чтение (r), запись (w) и выполнение (х).
Для файла право на выполнение означает возможность запустить этот файл
на выполнение (обычно используется для программ и сценариев). Право вы­
полнение для каталога — возможность просматривать этот каталог.

….

— — . — — .. — — — . — — — . — — -·.. — -·. —·. — — — — . — — — . — — — . —·. — — . — — — . — .

— — . — — . — — — — — —

1. 1ава 12. Фaii. юваst cttc l l’Ja

Права доступа в наборе определяются четко в определенном порядке и мо­
гут быть представлены как в символьном, так и в числовом виде (в двоичной
или восьмеричной системе). Рассмотрим несколько наборов прав доступа:
• 100 — только чтение,
• 11 О — чтение и запись,
• 1О1 — чтение и выполнение,
• 111 — чтение, запись, выполнение.
Учитывая, что права доступа задаются для владельца, группы и остальных
пользователей, полный набор прав доступа может выглядеть так:
111 100 ООО

В этом наборе мы предоставляем полный доступ (в том числе и выполнение)
владельцу, группе владельца разрешено только чтение, остальным пользова­
телям доступ к файлу/каталогу вообще запрещен.
В двоичной системе права доступа мало кто записывает. В основном их пре­
образуют в восьмеричную систему. Если вы забыли, как это делается, то вам
поможет следующая таблица (табл. 12.2).
Таблица 12.2. Преобразование из двоичной в восьмеричную систему

··················································································-ID

Если вы видите право доступа 666, то никакой дьявольщины в нем нет, это
всего лишь полный доступ к обычному файлу (не к программе и не к сцена­
рию). Для каталога полные права доступа выглядят как 777 -чтение, изме­
нение и просмотр каталога для владельца, группы и прочих пользователей.
Просмотреть текущие права доступа можно командой 1s
каталог>, например:

При желании можно отправить систему в состояние «Suspend to Disk», когда
содержимое памяти будет записано на жесткий диск, после чего питание
будет отключено:
$ sudo echo -n disk > /sys/power/state

12.13.2. Псевдофайловая система proc
Файловая система proc позволяет отправлять информацию ядру, модулям и
процессам. Вы можете не только получать информацию о процессах, но из­
менять параметры ядра и системы «на лету». Эта файловая система интерес­
на тем, что позволяет изменять такие параметры ядра, которые невозможно
изменить другим способом, к тому же вносимые изменения вступают в силу
сразу же.

….. —.. —————-·-…………………………… ······

……… …

Некоторые файлы в /proc доступны только для чтения — вы можете только
просмотреть их. А некоторые вы можете изменять, и эти изменения сразу
же отразятся на работе системы. Просмотреть файлы из /proc можно любой
программой для просмотра файлов, проще всего в консоли использовать ко­
манду cat:
cat /рrос/

Записать информацию в файл можно с помощью команды echo, как уже
было показано выше:
sudo echo «информация» > /рrос/

В каталоге /proc очень много файлов, и рассмотреть все мы не сможем. Пре­
жде чем мы приступим к самым интересным с моей точки зрения файлам,
нужно понять, что означают каталоги с числами. Эти каталоги содержат ин­
формацию о запущенных процессах.
Итак, самые полезные информационные файлы:
• /proc/cmdline — содержит параметры, переданные ядру при загрузке;
• /proc/cpuinfo — содержит информацию о процессоре, откройте этот файл,
думаю, вам будет интересно. Кроме общей информации о процессоре
вроде модели и частоты, здесь выводится точная частота, размер кэша
и псевдорейтинг производительности, выраженный в BogoMIPS. Значе­
ние BogoMIPS показывает «сколько миллионов раз в секунду компьютер
может абсолютно ничего не делать». Способ измерения производитель­
ности пусть и не самый удачный, но от него до сих пор не отказались, а
«на дворе» уже 3-я версия ядра.
• /proc/devices — список устройств.
• /proc/filesystems — полный список поддерживаемых вашим ядром файло­
вых систем.
• /proc/interrupts — информация по прерываниям.
• /proc/ioports- информация о портах ввода/вывода.

………………………………..- —- —..—.—- — — —.— — — — —.— —..- .

I .1ава 12. Фaii.111вas1 с11сн·,ш

• /proc/meminfo — полная информация об использовании оперативной па­
мяти. Как по мне, вывод этого файла более понятен и удобен, чем вывод
командыfrее.
• /proc/mounts — содержит список подмонтированных файловых систем.
• lproc/modules — список загруженных модулей и их параметры.
• /proc/swaps — содержит список активных разделов и файлов подкачки.
• /proc/version — здесь находится версия ядра.
Используя /proc, можно не только получить информацию о системе, но и
изменить ее. Например, в файлах /proc/sys/kernel/hostname и /proc/sys/kerneV
domainname содержится информация об имени компьютера и домена. Вы
можете не только просмотреть, но и изменить содержимое этих файлов, из­
менив, соответственно, имя узла и имя домена. Хотя практика изменения
доменных имен через /proc/sys практикуется не часто, никто не мешает вам
это сделать:
sudo echo «server» > /proc/sys/kernel/hostname
sudo echo «example.com» > /proc/sys/kernel/domainname
Файл /proc/sys/kernel/ctrl-alt-del позволяет регулировать тип перезагрузки
системы при нажатии комбинации клавиш Ctrl+Alt+Del. По умолчанию в
этом файле содержится значение О, что означает так называемую «мягкую

/>
перезагрузку» (soft reboot). Если же вы внесете в этот файл значение 1, то
при нажатии Ctrl+Alt+Del эффект будет такой же, как при нажатии кнопки
Reset на корпусе компьютера:
sudo echo «1» > /proc/sys/kernel/ctrl-alt-del
Файл /proc/sys/kernel/printk позволяет задать, какие сообщения ядра будут
выведены на консоль, а какие — попадут в журнал демона syslog. По умол­
чанию в этом файле содержатся значения 4 4 1 7. Сообщения с приоритетом
4 и ниже (первая четверка) будут выводиться на консоль. Вторая четверка
— это уровень приоритета по умолчанию. Если для сообщения не задан уро­
вень приоритета, то считается, что его приоритет будет равен 4.

………………………………………………………………………….

st,·a l,inux

(ASTRд*LINUX»)

Третье значение определяет номер самого максимального приоритета.
Последнее значение — это уровень приоритета по умолчанию для первого
значения.
В большинстве случаев изменяют только первое значение, позволяющее
определить, будут ли сообщения с указанным уровнем приоритета выво­
диться на консоль или нет. Остальные параметры оставляют без изменения.
В файле /proc/sys/net/core/netdev_max_backlog содержится максимальное
число пакетов в очереди. Значение по умолчанию- 1000.
Файл /proc/sys/fs/file-max позволяет изменить максимальное количество за­
головков файлов, которое может быть одновременно открыто. Другими сло­
вами, этот файл задает, сколько одновременно может быть открыто файлов.
Значение по умолчанию для ядра 3.16 и файловой системы Ьtrfs- 73054.
Чтобы сохранить внесенные «на лету» изменения и не вводить их снова при
следующей перезагрузке сервера, нужно отредактировать файл /etc/sysctl.
conf. Представим, что вы изменили значение из файла /proc/sys/fs/file-max.
Тогда в файл /etc/sysctl.conf нужно добавить строку:
fs .file-max

16 384

Принцип прост: /proc/sys/ отбрасывается совсем, а в оставшейся строке все
слеши заменяются точками. Само же значение указывается через знак ра­
венства. Если нужно указать несколько значений, то они указываются через
пробел.
О файловой системе в Linux можно написать отдельную книгу, которая бу­
дет не меньше, чем та, которую вы держите в руках. Поэтому в этой главе мы
рассмотрели только самое необходимое.

…………………………………………………………………………

Глава 13.

Управление хранилищем

Astra Linux

(ASTRд*LINUX»]

В этой главе мы рассмотрим довольно-таки важные вещи — подключение
нового жесткого диска и его разметку в классическом варианте — безо вся­
ких менеджеров томов, затем мы рассмотрим LVM и то, как можно расши­
рить пространство группы томов, например, когда вы увеличили дисковое
пространство виртуального сервера.

13.1. Подключение нового жесткого диска и его
разметка
Классической программой для разметки жесткого диска в Linux и дру­
гих операционных системах является программа fdisk. Конечно, в той же
Windows программа fdisk с.овеем другая, но названия программ совпадают.
Рассмотрим пример использования этой программы. Представим, что мы
подключили новый жесткий диск и нам нужно «ввести» его в эксплуатацию.
Тренироваться лучше всего в виртуальной машине, особенно если вы в пер­
вый раз осуществляете разметку диска.
Формат вызова fdisk такой:
# fdisk

…………………………………………………………………………

Глава 13. Управление хранилищем

Да, команду fdisk нужно запускать с правами root. Далее мы будем считать,
что новым является устройство /dev/sdb:
# fdisk /dev/sdb
Посмотрите на рис. 13.1. Я запустил программу fdisk для нового и неразме­
ченного жесткого диска. Программа сообщила мне, что:
• Все изменения хранятся только в памяти и не переносятся на жесткий
диск до тех пор, пока вы их не запишете.
• Устройство не содержало таблицы разделов, и была создана таблица раз­
делов DOS (по умолчанию).

Рис. 13.1. Зanycкfdisk для нового :нсесткого диска

Рис. 13.2. Список комапдfdisk

Первым делом ознакомимся со списком команд fdisk. Введите команду m
для получения справки. Список команд в последних версиях fdisk разбит
на группы (рис. 13.2). В таблице 13.1 приведен список команд fdisk.

…… ……………… … . . ……. ····· … …….. ………………………. �
«

«

*

Лstra L,iш1,

1ASTRA LINux·1

Таблица 13.1. Команды npoгpaммыfdisk
Команда

Описание

а

Сделать раздел активным. Данный флаг был нужен для старых версий Windows, которые не могли загружаться с неактивных разделов. Сейчас эта команда попросту не нужна, а в
мире Linux — тем более

ь

Редактировать вложенную ВSD-метку

с

Применить флаг совместимости с DOS

d

Удалить раздел

l

Вывести известные типы разделов

п

Добавить новый раздел

Вывод таблицы разделов

t

Изменить тип раздела

V

Проверить таблицу разделов

т

Вывод справки

и

Изменить единицы измерения

х

Дополнительная функциональность (только для экспертов)

w

Записать таблицу разделов на диск и выйти

q

Выход без сохранения изменений

g

Создать новую пустую таблицу разделов GPT

G

Создать новую пустую таблицу разделов SGI (для ОС IRIX)

о

Создать новую пустую таблицу разделов DOS

s

Создать новую пустую таблицу разделов Sun

EII··················································································

(ASTRд*L1Nux·1

1 .1ава 13. У11рав.1с1111с хра�111J111щсм

Наша задача-создать раздел (или несколько разделов, здесь решать вам) и
подмонтировать его (их) к корневой файловой системе.
Первым делом выведем таблицу разделов командой р (рис. 13.3). Как видно
из рис. 13.3, таблица разделов пуста, а размер нашего жесткого диска всего
бОГб.

Рис. 13.3. Пустая таблица разделов

Наш диск довольно скромного размера, поэтому программа создала таблицу
разделов DOS. Для больших жестких дисков лучше создать таблицу разде­
лов GРТ. Если программа неправильно выбрала тип таблицы разделов или
вы хотите изменить его принудительно, введите команду g. Посмотрите на
рис. 13.4: я изменил тип таблицы разделов, а затем опять отобразил ее. Она
по-прежнему пуста, но обратите внимание на ее тип-теперь у нас таблица
разделов GPT.
Примечание. Таблица разделов GPT (GUID Partition ТаЫе) яв­
ляется частью стандарта EFI (ExtensiЫe Firmware lnterface) стандарта, который был предложен компанией lntel на смену
стандарта BIOS. Таблица GPT использует современную систе­
му адресации логических блоков (LBA), а не старую систему
CHS (цилиндр-головка-сектор). Но самое главное — это размер
раздела. В GPT можно создать раздел размером до 9.4 Тбайт
(9.4х 102 1 байт), а в MBR — максимальный размер раздела всего
2.2 Тб (2.2 х 1021 байт).

•’ ……………………………………………………………………···1!11
Рис. 13.4. Изл�енение таблицы разделов

Astra Linux

Настало время создать раздел. Введите команду n. Программа попросит вас
ввести (рис. 13.5):
• Номер раздела — это первый раздел, поэтому введите 1. В принципе, ког­
да вы будете создавать второй раздел, программа автоматически предло­
жит вам ввести номер 2.
• Первый сектор раздела. Просто нажмите Enter — программа автомати­
чески предложит правильный вариант.
• Последний сектор раздела. Если вы хотите создать раздел на весь жест­
кий диск (то есть использовать все доступное пространство), то просто
нажмите Enter. В противном случае укажите размер раздела. Проще все­
го это сделать, используя модификаторы +М и +G, например, для созда-.
ния раздела размером 30 Гб укажите +ЗОG. Если у вас очень большой
жесткий диск, где пространство измеряется терабайтами, используйте
модификатор Т, например + 1 Т.
о�н,,1 1m tor tн !р) 11
‘,11 t I r IPH н11mtн·1 (] 1 ’11, ,t, • ,tн I t 1 1
1
11 ,t
t, ltн C’i,HB 1/.’,IJ..-«‘JHHt,, ritt,нiit ,И!l!i
,11 , 1,1 ;1{ М ,,, [ !’, , Н1 ;- ! •,, Jf.1 ,,
r1 t , 1 f11r , • 1·, t,н
r,•,tfl 1f ,1 llf t-.1 р,о i 1111111 1 ,11 t1н1t

J IH!!

t J li J t r,1

, 1’1 н}

(1• i ,1 ‘•

J

,

i

! ! ;,t’ { ,,

11n.t /proc/sys/vm/drop caches

ID—..—.. -…….. —.. -..-.. —-… -..�-. ——.. —. —. ——. —————..—‘

Глава 15. У11равле1111е процессами

Сначала мы командой sync сбрасываем содержимое буферов на диск, а за­
тем уничтожаем кэш. Если просмотреть затем информацию об использова­
нии памяти, то вы увидите, что размер кэша был уменьшен почти в три раза
(рис. 15.9). Однако помните, что эта команда может негативно отразиться
на стабильности системы и на скорости ее работы. Не всегда очистка кэша
таким вот варварским образом — это хорошо.

Рис. 15.9. До и после ввода команды sync; echo 3 > /proc/sys/vm/
drop_caches

15.4. Команда fuser
Команда fuser позволяет узнать, какой процесс открыл тот или иной ресурс,
например, файл или сетевой порт. Примеры использования программы:
fuser -va 23/tcp
fuser -va /chroot/etc/resolv.conf
В первом случае мы получим идентификатор процесса, открывшего ТСР­
порт 23, во втором — идентификатор процесса, открывшего файл /chroot/etc/
resolv.conf. Что делать далее — решать вам, например, можно «убить» этот
процесс командой kill .

···································••.•············································-&1

Astra L.inux

15.5. Планировщики заданий
15.5.1. Планировщик cron
Планировщик заданий нужен для периодического выполнения каких-либо
заданий. Задания могут быть самыми разнообразными — очистка временно­
го каталога для экономии места, очистка кэша, обновление баз антивируса,
запущенного на почтовом сервере и т.д. Никаких ограничений нет — вы
можете написать на bash небольшой сценарий с необходимыми вам действи­
ями, а затем настроить планировщик для его периодического выполнения.
Самый древний планировщик заданий — cron. Он появился еще во времена
первых версий UNIX. Но примечательно то, что в современных дистрибу­
тивах используется его модифицированная версия, которая настраивается
практически так же. Так, в современных версиях дистрибутивов openSUSE
и Fedora используется демон cronie, который является потомком того самого
демона cron.
Не будем вникать в тонкости новой версии, а просто разберемся, как ее на­
строить. Как и в том самом cron, в cronie есть файл /etc/crontab — это табли­
ца расписания планировщика задач. Формат записей в этом файле следую­
щий:
минуты (0-59) часы (0-23) день (1-31) месяц (1-12) день_недели
(0-6, О — Вс) команда

В листинге 15 .1 приведен пример этого файла по умолчанию.
Листинг 15.1. Пример файла /etc/crontab
SHELL=/Ьin/bash
PATH=/usr/Ьin:/usr/sЬin:/sЬin:/Ьin:/usr/liЬ/news/Ьin
МAILTO=root
— *.15 * * * *
root test -х /usr/liЬ/cron/run-crons && /usr/liЬ/
cron/run-crons >/dev/null 2>&1

Примечание. Просмотреть (даже просмотреть, не говоря уже
о модификации!) файл /etc/crontab может только пользователь
root. Поэтому сначала нужно получить права root, а затем уже
что-либо делать с файлом /etc/crontab.

ВI————————————————————-···—··—··-·-··—··-·

!11ава 15. У11рав.1с1111с 11ронессами

Переменная SHELL задает путь к оболочке, РАТН — путь поиска программ,
а MAILTO определяет имя пользователя, которому будет отправлен отчет
о выполнении расписания. В таблице расписания всего одна запись — она
проверяет наличие сценариев в каталогах cron.hourly, cron.daily, cron.weekly
и cron.monthly и их выполнение. Об этом мы поговорим чуть позже.
Представим, что вам нужно выполнять какой-то сценарий каждый день в
8:30. Для этого в /etc/crontab нужно добавить строку:
30 8

*

*

*

/usr/bin/script arguments

Однако планировщик предлагает более удобный способ изменения таблицы
расписания. Представим, что у вас есть команда, которую нужно выполнять
периодически. Создайте файл myscript со следующим содержимым:
#/Ьin/bash
/путь/ myscript аргументы

Сохраните файл и установите право выполнения для этого файла:
chmod +х myscript

Только что вы создали простейший сценарий, который просто выполняет
вашу команду с заданными аргументами. При желании, необходимости и
знании bash (информацию по этой оболочке вы без особых проблем найдете
в Интернете) вы можете усовершенствовать этот сценарий.
После того, как сценарий создан, его нужно поместить в один ·из каталогов:
• /etc/cron.hourly — содержит сценарии, которые будут вьшолняться каж­
дый час;
• /etc/cron.daily — содержит сценарии, который будут выполняться еже­
дневно;
• /etc/cron.weekly — сюда нужно поместить сценарии, которые будут вы­
полняться еженедельно;
• /etc/cron.monthly — содержит сценарии, которые будут выполнены раз
в месяц.

················-·································································&I

Astra l.inux

Просто поместите сценарий в один из этих каталогов и положитесь на cron
— далее вашего вмешательства не требуется.
Также существует возможность создать отдельное расписание для каждого
пользователя. Для этого используется команда crontab. Однако такая воз­
можность на современных серверах (когда пользователи не работают с тер­
миналом сервера непосредственно) используется довольно редко. При этом
в файл /etc/cron.deny заносятся пользователи, которым запрещено использо­
вать планировщик cron. Если вам нужно отредактировать таблицу расписа­
ния для каждого пользователя, используйте команду crontab. В большин­
стве случаев команда будет такой:
crontab -е -u
После этого откроется текстовый редактор (определенный в переменной
окружения EDIТOR) для редактирования таблицы расписания указанного
пользователя. Синтаксис такой же, как для общесистемной таблицы распи­
сания.

15.5.2. Планировщик anacron
Планировщик anacron — еще один форк старого доброго планировщика
cron. Ситуация с anacron такая: когда стало понятно, что cron устарел, на­
чали появляться альтернативные планировщики, подобные ему. У каждого
из них были свои преимущества и недостатки, но некоторые разработчики
дистрибутивов остановили свой выбор на планировщике anacron. Однако
прошло время, и сейчас этот планировщик практически не используется. В
основном используется планировщик cronie, который настраивается прак­
тически так же, как и cron, что и было показано ранее.
Конечно, вам могут встретиться дистрибутивы, в которых по каким-то
причинам используется anacron. Как правило, это устаревшие версии
дистрибутивов. Если же вы обнаружили anacron в современной версии
дистрибутива, то, скорее всего, это личное предпочтение разработчиков
дистрибутивов.
Основное «визуальное» отличие этого планировщика — наличие файла
/etc/anacrontab вместо просто /etc/crontab. Формат записей также другой:

&lt··················································································

Глава 15. УnравJ1е11ие nроцессаl1и

(ASTRд*LINUX»J

Период

Задержка

ID

Команда

Пример таблицы расписания anacrontab:
1 5
7 10
30 75

cron.daily
cron.weekly
cron.monthly

run-parts /etc/cron.daily
run-parts /etc/cron.weekly
run-parts /etc/cron.monthly

Принцип прост: как и в предыдущем случае, вам нужно поместить ваш
сценарий в один из каталогов /etc/cron.daily, /etc/cron.weekly или /etc/cron.
montЫy (каталога cron.hourly для этого планировщика не было предус­
мотрено).
По сути, как только вы увидели каталоги cron.daiy, cron.weekly или cron.
monthly, можете сразу помещать в них свои сценарии, особо не разбираясь,
какой планировщик установлен. Самое главное, чтобы служба cron была
включена.

. — — ….. — — — . — — ·- — ……. — …. — — — .. — — -.. — — .. — — — — — . -.. — — -.. — — .. — -… — … — — -. — — -.. — —

….

..

ASTRA LINUX

®

Глава 16.

Пользователи и группы

Astra l,inux

16.1. Введение в учетные записи Astra Linux
Операционная система Linux поддерживает регистрацию и одновременную
работу множества пользователей. Обратите внимание: именно одновремен­
ную работу. Раньше, еще во времена UNIX, были компьютеры, к которым
подключалось несколько мониторов и клавиатур. Каждый комплект
монитор + клавиатура назывался терминалом и представлял собой от­
дельное рабочее место пользователя. Пользователь входил в систему, а его
рабочее место в системе отображалось как ttyN, где N — номер рабочего
места.
Сегодня такие компьютеры уже более не востребованы, их вытеснили персо­
нальные компьютеры, которые и стали называться персональными, посколь­
ку предполагают подключение только одного рабочего места. Мониторов
можно подключить несколько, а устройство ввода — клавиатура будет одна.
Но даже на таких компьютерах возможна одновременная работа несколь­
ких пользователей. Например, вы можете войти в систему как обычно посредством графического интерфейса. Другие пользователи смогут войти
через ssh или FTP. И все вы будете работать с системой одновременно. SSН­
пользователи смогут выполнять команды и получать результат их выполне­
ния, FТР-пользователи — обмениваться с вашим компьютером файлами .

. -.-. — — — -. -. -.. — . — — — -. — … — -.. -. — .. -.. — . — . — — — — ….. — . .. — — .. — .. — -…………. — .

(ASTRд*L1Nux·1

l

.1ава

1 (1. llо.11,юва1с.111 11 1

р� 11111,1

Все учетные записи можно разделить на три вида: учетные записи обычных
пользователей, учетные записи системных служб и учетная запись root. С
учетными записями обычных пользователей все ясно — они имеют право
входить в систему разными способами (если тот или иной способ не запре­
щен настройками системы), для них определен домашний каталог (обычно
/hоmе/), пароль и командная оболочка (как правило, в
последнее время используется /Ьin/Ьash).
Права обычных учетных записей:
• Право на вход в систему — по умолчанию обычный пользователь мо­
жет войти в систему самыми разными способами, если это не ограничено
настройками системы (например, модулями РАМ). Пользователь может
войти локально — через консоль или в графическом режиме через
дисплей-менеджер вроде gdm. Также никто не запрещает (опять-таки по
умолчанию) удаленный вход, например, по SSH или FTP, если на ком­
пьютере, в который осуществляется вход, установлены соответствующие
службы.
• Право на запуск программ, не требующих для своего выполнения
прав root — как правило, такие программы находятся в каталогах /Ьin и /
usr/Ьin. А вот из каталога /sЬin запустить программу может только супер­
пользователь. Программы, действие которых распространяется на всю
систему, например программы изменения сетевых интерфейсов,
программы разметки диска, находятся в каталоге /sЬin (super-Ьin). Что­
бы запустить эти программы, пользователю нужно получить полномочия
root. О том, как это сделать, будет сказано в следующем разделе.
• Обычный пользователь может создавать, удалять, читать, изменять,
запускать, устанавливать права и выполнять другие операции над фай­
лами, которые находятся в его домашнем каталоге. Как правило, это ка­
талог /hоmе/. Хотя администратор может назначить
пользователю любой другой каталог, хоть /users/Ьagira, как правило, этого
никто не делает. Каталог /home может находиться физически на одном
разделе, что и корневая файловая система, а может находиться и на дру­
гом разделе и даже на другом диске. На крупных серверах, как правило,
под /home отводят целый диск или даже создают RАID-массивы дисков.
• Право на чтение файлов — обычный пользователь может читать боль­
шую часть файлов за пределами домашнего каталога. Исключения раз­
ве что составляют домашние каталоги других пользователей (если эти
другие пользователи явно не разрешили этому пользователю читать их

‘.

— — — -.. — -.. — -..

·- …. -…. -·. — -.. — — . ·- -… — … -…. -… — …- — … — …. — .. — — —

. …

Лstra ljnux

1ASTRA*LINUX»]

файлы) и некоторые файлы/каталоги в /etc. Например, файл /etc/passwd
могут читать все пользователи, а вот файл /etc/shadow — только root.
• Пользователь не имеет право вносить изменения в конфигурацию
всей системы, то есть устанавливать программы, изменять глобальные
настройки устройств, параметры ядра, параметры загрузчика и т.д.
• Пользователь имеет право изменить свои пользовательские параме­
тры, например, обои рабочего стола, некоторые переменные окружения,
которые будут влиять только на его работу и т.д.
• Право на изменение своего пароля, но обычный пользователь не имеет
право изменять пароль других пользователей.
Учетные записи системных служб не имеют право входить в систему. Для
них не задан ни пароль, ни домашний каталог, а в качестве оболочки исполь­
зуется /Ьin/true или /Ьin/false — чтобы пользователь, используя учетную за­
пись службы, не мог войти в систему через консоль. От имени таких учетных
записей выполняются различные службы, например, от имени пользователя
www-data выполняется веб-сервер, gdm — учетная запись для GNOME
Display Manager и т.д.
Пользователь root — пользователь с максимальными правами, он может
делать все:
• Право на изменение любого файла — root может читать, записывать,
удалять любые файлы, в том числе и файлы в домашних каталогах других
пользователей.
• Право на изменение конфигурации системы — пользователь root мо­
жет изменять конфигурацию системы посредством редактирования фай­
лов в каталоге /etc, /proc, запуска конфигураторов системы.
• Право на запуск любых программ — root может запустить любую
программу, в каком бы каталоге она ни находилась.
• Право на создание, удаление, изменение (в том чи�ле изменение паро­
ля) других учетных записей.
• Право на установку и удаление программ.

………………………………………………………………………….

l .1ава 16. По.11,3ош11 r.111 11 1 р� 11111,1

Власть пользователя root неограниченна. Так было до определенного мо­
мента, пока не появились системы принудительного контроля доступа вроде
SELinux, LIDS, Tomoyo, которые могут ограничить даже самого root. Вот
только беда в том, что SELinux, LIDS, Tomoyo и другие подобные системы
по умолчанию неактивны или даже не установлены, поэтому пока их не ак­
тивировать, пользователь root будет все равно самым главным.

Примечание. Напомним, что когда у вас привилегии пользова:­

теля root, приглашение командной строки заканчивается симво­
лом #, а когда вы работаете как обычный пользователь — $.

16.2. Получение полномоч1:1й root
Самый простой способ получить права root — это войти как root. То есть
при входе в систему вы указываете имя пользователя root и пароль, указан­
ный при установке. Проблема в том, что не во всех дистрибутивах этот трюк
сработает. Учитывая всю опасность, которую несет использование учетной
записи root, во многих дистрибутивах учетная запись root отключена, а вход
как root ограничен самыми разными способами. Включать учетную запись
root не рекомендуется — ведь злоумышленник знает, что учетка root есть
везде и ему не придется угадывать имя пользователя, останется только по­
добрать пароль root. А так вы исключаете даже саму возможность входа как
root. Тем более права root можно получить другим образом, о котором мы
поговорим далее. А пока рассмотрим способы блокировки входа (кроме
отключения учетной записи) root.
Часто вход как root ограничен на уровне менеджера дисплея. В дистрибути­
вах, где используется графическая среда КDЕ и менеджер экрана КDМ (К
Display Manager), нужно отредактировать файл /etc/alternatives/kdm4-config.
В нем нужно найти директиву AllowRootLogin и присвоить ей значение true,
чем вы разрешите вход как root в графическом режиме.
При использовании GDM (Gnome Display Manager) вход как root ограничен
не столько конфигурацией самого GDM, а столько РАМ-модулями. Нужно
открыть /etc/pam.d/gdm-password и найти строку, отвечающую за запрет вхо­
да как root. Она может выглядеть, например, так:

•……………………………………………………………………….-111
auth required pam_succeed_if.so user != root quiet

Лstra l,inux

Некоторые дистрибутивы разрешают заходить как root даже в графическом
режиме. Просто они отображают предупреждение о том, что работать как
root небезопасно. Пример такого дистрибутива-СеntОS.
В Astra Linux используется оболочка Fly, конфигурационные файлы которой
хранятся в каталоге /etc/fly. Это собственная разработка, которую не встре­
тить в других дистрибутивах. За графический вход в систему отвечает
fly-dm (Fly Display Manager), конфигурационные файлы которого находятся
в каталоге /etc/Xll /fly-dm. Основной файл конфигурации -fly-dmrc. Самое
интересное, что вход как root в Astra Linux по умолчанию разрешен -пара­
метр AllowRootLogin установлен в true (рис. 16.1). Поэтому если вам очень
сильно хочется войти как root в графический режим, вы можете это сделать,
но сначала вам нужно изменить пароль самого пользователя root -как это
сделать, будет показано далее. Пока нужно отметить, что вход как root что
в графическом, что в настольном режиме — очень опасная штука. Поэтому
если вы за безопасность, выключите данный параметр (значение/а/sе), а для
временного получения полномочий root используйте команду sudo (будет
показано далее).

Рис. 16.1. Файл конфигурацииjfу-dтrс

Настоятельно рекомендуется работать в системе как обычный пользователь,
а максимальные права получать только тогда, когда они вам действительно
нужны. Например, когда понадобится запустить какую-то программу, требу­
ющую права root. При этом вам особо ничего не придется делать, кроме как
ввести пароль.

..

·-.. ·—……………. -··· .: ……… ··—··.-···.-··— —-· —— …. -…. ___

.,

1ASTRд*LINUX»]

!.1ана 16. По.1ыова1е.ш и 1ру1111ы

Рассмотрим пример. Вы установили Astra, при установке создали учетную
запись mark и задали пароль. По умолчанию инсталлятор создает первую
учетную запись так, что она вносится в группу sudo — членам этой группы
можно выполнять команды с привилегиями root. Другими словами, создан­
ный во время установки пользователь уже является root, только с некоторы­
ми оговорками.
Настройки, позволяющие группе sudo выполнять команды от имени root,
хранятся в файле /etc/sudoers. В этом файле указываются все учетные
записи, имеющие право выполнять административные задачи. Когда вы по­
пытаетесь выполнить одну из таких задач, например, добавить нового поль­
зователя, графический интерфейс автоматически запросит у вас ваш пароль.
Аналогично, когда вы будете пытаться запустить командную оболочку (ко­
манда sudo bash) с правами root. Это будет не пароль root, а ваш пароль, то
есть пароль пользователя mark (рис. 16.2). Ему разрешено выполнять адми­
нистративные задачи, просто система пытается убедиться, что вы — это вы,
а не некто, кто оказался за вашим компьютером во время вашего отсутствия.

Рис. 16.2. Запуск командной оболочки с правами root — команда sudo bash.
Нужно ввести пароль пользователя mark, а не root!

Когда же вам нужна командная строка с правами root, не обязательно даже
переключаться в консоль. Достаточно открыть терминал и ввести команду
su. Она попросит вас ввести пароль root. После ввода пароля вы получаете
терминал с правами root. Это означает, что все команды, которые вы будете

……………………………. …………………………….. .. ………

. ..

.stra (jnux

вводить после ввода команды su и успешной аутентификации, будут выпол­
няться с правами root.
Примечание. Если учетная запись root отключена, то вы не смо­
жете использовать команду sudo, так как она предполагает ввод
пароля root, а вы его не знаете.
Когда вы — единственный администратор, команда su — идеальный вари­
ант. Но когда администраторов несколько, команда su — не выход, посколь­
ку пароль root нужно будет сообщить всем остальным администраторам.
Если потом возникнет нестандартная ситуация, выяснить, кто виноват, будет
сложнее.
На этот случай у пользователя root могут быть доверенные лица. Это может
быть помощник администратора, его заместитель — называйте, как хотите.
Есть лица, которым разрешено получать права root. Такие лица вносятся в
файл /etc/sudoers (если вам не лень прописывать каждого отдельно) либо в
группу sudo (так правильнее).
Редактировать файл /etc/sudoers можно только через команду visudo (рис.
16.3):
export EDITOR=nano
sudo visudo

Рис. 16.3. Редактирование файла /etc/sudoers


. . .. . . . . . . . . . .. . . . . . . . . . …. . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. .

1 _JaB,I 1 (, Пo.JJ,IOR:ll(‘.111 11 1 р� llllhl

Первая команда устанавливает переменную окружения EDIТOR, задающую
удобный текстовый редактор, который будет использован для /etc/sudoers.
Вторая команда вызывает утилиту для редактирования файла /etc/sudoers.
Представим, что у нас есть пользователь bagira, которому нужно разрешить
делать все, что можно пользователю root. Для этого нужно добавить в /etc/
sudoers запись вида:
bagira ALL=(ALL:ALL) ALL

Можно также добавить запись:
%sudo

ALL= (ALL:ALL) ALL

Она означает, что членам группы sudo можно делать все, что можно делать
пользователю root. Тогда всех администраторов-помощников нужно доба­
вить в группу sudo (далее будет показано, как это сделать).
Сохраните файл и выйдите из редактора. Войдите как пользователь, которо­
му вы предоставили право sudo. В нашем случае — это пользователь bagira.
Далее введите команду, которая требует прав root через команду sudo:
sudo

Например:
sudo bash

Обратите внимание: система запрашивает пароль пользователя, а не
пароль root. Пользователь указывает свой пароль, а система знает, что ему
разрешено получать права root. В итоге наши помощники не знают пароль
root и смогут выполнять определенные действия с правами root под своим
именем.
Как правило, вам не нужно вообще редактировать файл /etc/sudoers. Приве­
денная информация о его формате — только для общего развития. На прак-

•. ——————————.-………..———..-..—.—-.-..—.—. —.. —&1

Astra l,inux

тике вам нужно просто добавить пользователя в группу sudo, чтобы у него
появилась возможность получать права root:
sudo usermod -а -G sudo bagira

Данная команда изменяет группу для пользователя bagira, добавляя (-а) в
список групп пользователя группу (-G) sudo.
Контролировать получение прав sudo можно командой’:
# tail /var/log/auth.log I grep sudo

Посмотрите на рис. 16.4. Для примера, 6 июля 2022 года в 7 .16 пользователь
mark пытался выполнить команду sudo для выполнения команды bash. То
есть в журнале отображаются не только попытки использования sudo, но и
журналируются даже вводимые пользователями команды.

Рис. 16.4. Журнал аутентификации auth.log

Если вам нужно получить некоторый аналог команды su, чтобы вы могли
вводить сразу неограниченное количество команд с максимальными права­
ми без приставки sudo, используйте следующий трюк — запустите с макси1

В некоторых дистрибутивах журнал аутентификации называется secure, а не auth.log.

…………………………………………………………………………

1 1,В,1 1(, JJ11.11,ю1н11l’.III 11 1 р� llllbl

мальными правами оболочку bash. Все команды, вводимые в этой оболочке,
будут выполнены с максимальными правами:
sudo bash

Закрыть такой сеанс можно командой exit.
Прежде чем перейти к следующему разделу, разберемся, как сменить пароль
пользователя root. Для этого нужно просто �адать пароль:
sudo passwd root

Сначала нужно ввести ваш пароль, затем новый пароль для root, после этого
— подтвердить пароль. После этого вы сможете войти в систему как root в
консоли. Для входа в графическом режиме нужно редактировать файл, отно­
сящийся к РАМ, как было сказано ранее. Отметим, что активация пользова­
теля root — занятие небезопасное, гораздо правильнее использовать коман­
ду sudo. На личном компьютере еще такое мероприятие допускается, но на
сервере — такое делать воспрещено.

16.3. Управление учетными записями
пользователей
16.3.1. Создание учетной записи пользователя
Создать новую учетную запись пользователя можно командой adduser.
Пример:
sudo adduser evg

В большинстве случаев adduser просто добавляет в файл /etc/passwd
учетную запись пользователя. Но в Astra Linux данная команда запраши­
вает не только имя пользователя (которое передается команде в качестве
первого параметра), но и пароль пользователя. Также есть возможность

·————————————————————————————

.stra Linux

ввести дополнительную информацию о пользователе, если есть такая
необходимость (см. рис. 16.5).

Рис. 16.5. Создание нового пользователя в Astra

Если при создании пароль задан неверно (вы задали слишком простой или
слишком сложный пароль и хотите его изменить), можно сменить пароль с
помощью команды passwd:
sudo passwd имя пользователя

Напомню, что для добавления учетной записи пользователя нужны права
root, который пользователь может получить через su или sudo, если он вне­
сен в /etc/sudoers и ему разрешена операция добавления пользователя.
В Astra Linux есть также графический конфигуратор и создать пользователя
можно не только с помощью команды adduser. Чтобы открыть графический
конфигуратор и создать пользователя, выполните следующие действия:
1. Откройте Панель управления.
2. Перейдите в раздел Безопасность и запустите Управление политикой
безопасности.

11:t—·-····—···——-·—······························-·—···········-···········

1 1 ,111,1 1(, 110.11, юва н·.111 11 1 р� 11111,1

3. Перейдите в раздел пользователя и нажмите кнопку+ на панели инстру­
ментов.
4. Заполните информацию о пользователе и нажмите зеленую галку на па­
нели инструментов для сохранения пользователя (рис. 16.6).

GEC:OS:

!
,_

о�-�,сnд(

r .

. ., «
н.��- -:t�

t]if-Ы’Dn-laund’I 11S

H#’wl«I
Ц&uw.»

….

!LR�

Рис. 16.6. Создание пользователя, графический метод

16.3.2. Файлы /etc/passwd и /etc/shadow
При добавлении учетной записи происходят следующие действия (вкратце):
• Добавляется запись в файл /etc/passwd — это небольшая база данных о
пользователях в текстовом формате. Этот файл могут просмотреть все
пользователи.
• Если при создании учетной записи утилита запрашивает пароль, то он
будет внесен в файл /etc/shadow. Пароли в этом файле хранятся в зашиф­
рованном виде, а доступ имеет только root. Команда passwd , из­
меняющая пароль пользователя, вносит изменения как раз в этот файл.
• Создается домашний каталог /hоmе/, и в него копируется содержи­
мое каталога /etc/skel.
• Создается почтовый ящик пользователя в каталоге /var/spool/mail.

, __ —————————————————-. ——————�—. —IJII

�t.-:1 l.illll

• Владельцем каталога /hоmе/ и всех файлов и каталогов в нем на­
значается создаваемый пользователь.
Рассмотрим формат файла /etc/passwd:
имя_пользователя:пароль:UID:GID:полное_имя:домашний_каталог:оболочка

Вот фрагмент этого файла:
evg:x:1000:1000:evg:/home/evg:/bin/bash
mark:x:1001:1001: :/home/mark:/bin/bash

Формат файла /etc/passwd приведен в таблице 16.1.
Таблица 16.1. Формат фaйлa/etc/passwd

Номер
поля

Название

Описание

1

Имя пользователя

Имя, использующееся при входе в ·
систему

2

Пароль

Поскольку пароль пользователя хранится в файле /etc/shadow, то в файле /
etc/passwd вместо пароля просто указывается символ ‘х’

3

UID

Идентификатор пользователя

4

GID

Идентификатор группы пользователя

Полное имя пользователя

Устанавливается администратором и
ни на что не влияет. В крупных организациях имя пользователя помогает
установить контакт с пользователем.
Это поле может также содержать
номер телефона, номер комнаты и
прочую информацию, которую запрашивает adduser при создании пользователя

�·

…………………………………………………………………………

.

*

(ASTRA LINUX»J

6

1 l,IB,I 1 (1

110.11,юван•.111 11 1 р� llllbl

Домашний каталог пользователя

Обычно это /hоmе/

Оболочка

Программа, которая будет запущена
при входе пользователя в систему из
консоли (для графического режима
это поле не имеет значения). Список
доступных оболочек хранится в файле
/etc/shells

7

В файле /etc/shadow полей больше, чем в /etc/passwd. Как и в случае с /etc/
passwd, поля разделяются двоеточиями:
1. Имя пользователя. Совпадает с именем пользователя в файле /etc/passwd.
2. Зашифрованный пароль. Позже мы поговорим о том, как распознать алго­
ритм шифрования, которым был зашифрован пароль.
3. Количество дней (с 1 января 1970 года), когда пароль был сменен в
последний раз.
4. Число дней до смены пароля. Если в этом поле О, то пароль может быть
сменен в любой момент.
5. Количество дней, после которых пароль должен быть сменен. Обычно
здесь значение 999999, которое показывает, что пользователь может ни­
когда не менять свой пароль.
6. Число дней, в течение которых пользователь получает предупреждение о
необходимости изменить пароль. Обычно такие предупреждения пользо­
ватель получает за неделю (7 дней) до часа «Х».
7. Число дней после окончания действия пароля, когда еще пользователь
может работать со старым паролем. Если после этого срока пользователь
не сменит пароль, учетная запись будет заблокирована.
8. Число дней, начиная с 1 января 1970, после которых пароль будет забло­
кирован.
9. Не используется.

. … -……. -… — -. — -. -… -……. -… — -.. — -…… -. -. -.. -.. — -.. — -… — — .. — -. — — — —

Astгa Linнx

Обычно последние три поля не используются. По зашифрованному паролю
можно понять, какой алгоритм шифрования использует система. Посмотри­
те на начало зашифрованного пароля:
• $1$-MD5. Ранее часто использовался, сейчас чаще используется SHA512, поскольку в МD5 обнаружились математические уязвимости.
• $2$, $2а$ — Blowfish. Чаще используется в FreeBSD/OpenВSD, чем в
Linux.
• $5$ — SHA-256.
• $6$ — SHA-512. Используется в современных дистрибутивах.
Форматы файлов /etc/passwd и /etc/shadow были приведены «для общего раз­
вития», чтобы вы понимали, что происходит. Модифицировать учетную за­
пись пользователя правильнее с помощью команды usermod, а не с помощью
редактирования файла /etc/passwd. Конечно, можно внести небольшие изме­
нения, например, изменить полное имя пользователя. А вот для изменения
остальных параметров, например, домашнего каталога, правильнее исполь­
зовать usermod, чтобы потом не делать много ручной работы.

16.3.3. Изменение и удаление учетных записей
Как было отмечено, ранее для модификации учетной записи пользователя
нужно использовать команду usermod, но прежде поговорим об изменении
пароля, так как изменение пароля — это тоже, по сути, изменение учетной
записи.
Для установки и изменения пароля пользователя используется команда
passwd:
# passwd

Если пользователь хочет изменить собственный пароль, то указывать имя не
нужно:
$ passwd

&1———————————————————————————·

/ 1а11,1 /(, llo.11,IOIШll’.III II IJ)�lllll,I

А вот теперь можно приступить к рассмотрению команды usermod. Формат
вызова этой команды следующий:
# usermod [параметры] учетная_запись

Параметры команды usermod описаны в таблице 16.2.
Таблица 16.2. Параметры команды usermod

Параметр

Описание

-а, -append

Добавляет пользователя в дополнительную
группу. Используется только с параметром -G

-с, —comment
комментарий

Добавляет комментарий для учетной записи
пользователя

-d, —home каталог

Задает новый домашний каталог пользователя. Если указать параметр -т, то текущий домашний каталог пользователя будет перенесен в новый домашний каталог, который будет
создан, если не существует

-е, —expiredate дата

Указывает дату устаревания учетной записи
пользователя. По достижении этой даты учетная запись пользователя будет заблокирована.
Дата указывается в формате ГГГГ-ММ-ДД.
Если дату не указывать, то устаревание учетной записи будет отключено

-f, —inactive дни

После указанного числа дней, которые пройдут после устаревания пароля, учетная запись
будет заблокирована. Значение -1 означает,
что эта возможность не используется, а О запись будет заблокирована сразу же после
устаревания пароля

-g, —gid группа

Указывает имя или GID первичной группы
пользователя Группа с таким именем/GID
должна существовать. Все файлы в домашнем
каталоге пользователя, которые принадлежали бывшей первичной группе, теперь будут
принадлежать новой группе

.————-. — . — — — . —. -. ·- —- — — .. — —-. ———. —. ———. ——-..—

—-

st.-:1 l,i1111,

-G, —groups группа][,
группа2, … , группаN}

-/, —login новое_имя

Список дополнительных групп, в котарых находится пользователь. Перечисление
групп осуществляется через запятую без
дополнительных пробелов. Например, -G
group 1,group2
Изменяет имя пользователя на новое имя.

-L, —lock

Блокирует учетную запись пользователя.
Нельзя использовать этот параметр с -р или -1

-т, —move-home

Перемещает домашний каталог. Используется
вместе с параметром -d

-о, —non-unique

При использовании с -и позволяет указать не
уникальный UID (идентификатор пользователя)

-р, —password пароль

Шифрованное значение пароля, которое возвращает функция crypt. Использовать этот
параметр не рекомеНдУется, поскольку другие пользователи увидят незашифрованный
пароль в списке процессов

-R, -root chroot

Выполняет изменения в каталоге chroot и использует файлы конфигурации из этого каталога

-s, —shell оболочка

Задает оболочку для пользователя. Если оболачка не указана, то будет использована оболачка по умолчанию

-и, —uid UID

Задает новый UID пользователя, который должен быть уникальным

-И, —unlock

Разблокирует учетную запись пользователя

-Z, —selinux-user SEUSER

.-

Новый пользователь SELinux для пользовательского входа

•.

— — — — — — — —— — — — — — — —- —- — —- ————- —— — ——— ——. —— — —

(ASTRд*LINUX»J

1 1,111,1 1(, 1111.11,IOIHlll.’.III II l!)�llllbl

Рассмотрим несколько примеров:
# usermod -d /home/new home -m mark
# usermod -1 mark
# usermod -G admins,sudo mark

Первая команда задает новый каталог для пользователя mark. Теперь он бу­
дет называться /home/new_home. Старые файлы (из каталога /home/ubuntu)
будут перемещены в новый домашний каталог.
Вторая команда блокирует учетную запись пользователя mark. Третья ко­
манда вносит пользователя mark в группы admins и sudo.
Теперь рассмотрим команду userdel (см. табл. 16.3):
# userdel [параметры] пользователь

Таблица 16.3. Параметры команды userdel

Параметр

-f, —force

-r, —remove

Описание
Удаляет учетную запись, даже если пользователь
работает в системе. Также будет удален домашний
каталог и почтовый ящик, даже если другой пользователь использует тот же домашний

каталог. Если в
файле /etc/login.defs параметр USERGROUPS_ENAB
равен yes, то будет удалена и первичная группа пользователя, даже если она является первичной и для
другого пользователя. Довольно опасный параметр,
который может привести систему в нерабочее состояние
Удаляет домашний каталог пользователя и почтовый ящик. Файлы этого пользователя, созданные на
других файловых системах, нужно искать и удалять
вручную

-R, —root chroot

Выполняет изменения в каталоге chroot и использует
файлы конфигурации из этого каталога

-Z, —selinux-user

Удаляет все пользовател.ьские сопоставления
SELinux для учетной записи пользователя

·———————————————————————————-1!11

.sti-:1 (,iпu,

[ASTRд*LINUX»]

Пример удаления учетной записи ubuntu, домашний каталог и почтовый
ящик также будут удалены:
# userdel -r ubuntu

16.3.4. Группы пользователей
Для более простого управления пользователями их можно объединять в
группы. Например, можно задать ограничения ресурсов для группы пользо­
вателей. Тогда они будут распространяться на всех пользователей, входящих
в группу, и вам не придется их устанавливать для каждого пользователя от­
дельно.
Но, прежде чем устанавливать права для группы, нужно эту группу создать.
Добавить группу можно командой groupadd, однако ничего плохого не слу­
чится, если вы просто отредактируете файл /etc/group (не groups, а именно
group!) и добавите группу вручную. При добавлении группы следите, чтобы
ID группы бьm уникальным. Если же вы не хотите ни за чем следить, тогда
просто введите команду groupadd:
# groupadd [параметры] имя группы

С параметрами команды groupadd можно ознакомиться в справочной систе­
ме — man groupadd.

16.4. Модули РАМ
Подключаемые модули аутентификации РАМ (PluggaЫe Authentication
Modules) предоставляют администраторам дополнительные методы под­
тверждения подлинности пользователя. Модули РАМ — это не новинка в
мире Linux. Они были разработаны очень давно, но до сих пор есть даже в
самых современных дистрибутивах Linux, поскольку заменить их, по сути,
нечем.

1!11———————————————————————————-.

(ASTRд*LINUX»]

1.,ана 16. По.1ыова1е.111 и 1ру1111ы

Модули РАМ позволяют использовать несколько схем аутентификации.
Большинство приложений, которые нуждаются в проверке подлинности
пользователя, используют РАМ. Модули РАМ позволяют реализовать аль­
тернативную аутентификацию, например, по отпечаткам пальцев или по сет­
чатке глаз, но для этого необходимо дополнительное оборудование, напри­
мер, сканер отпечатков. В этой книге мы рассмотрим традиционный вариант
использования РАМ- когда аутентификация происходит посредством вво­
да пароля с клавиатуры.
Основной файл конфигурации называется /etc/pam.conf. В каталоге /etc/
pam.d/ находится конфигурация для разных сервисов, которые поддержива­
ют РАМ, например, в /etc/pam.d/sshd находится конфигурация РАМ-модулей
для SSH, в /etc/pam.d/fly-dm-конфигурация пароля для менеджера дисплея
Fly Display Manager и т.д. В каталоге /etc/security также есть файлы конфигу­
рации, относящиеся к РАМ, например, файл ассеss.соnf управляет доступом
в систему.
Безопасность вашей системы зависит от используемых вами модулей. Мо­
дули хранятся в каталоге /liЬ/security или /lib64/security (для 64-битных си­
стем), однако некоторые дистрибутивы не следуют этому стандарту. К при­
меру, в некоторых системах модули можно найти в каталоге /usr/liЬ/security.
При желании можно написать и собственные модули, но для начала следует
р;цобраться с уже имеющимися. Ниже приведен список наиболее часто ис­
пользуемых модулей. Больше информации по каждому из них можно полу­
чить, набрав man модуль, к примеру, man pam_pwcheck. Обратите внимание,
что нет «стандартного списка» модулей. Их состав варьируется от дистрибу­
тива к дистрибутиву.
• pam_access — разрешает или запрещает доступ, в зависимости от IР­
адреса, имени пользователя, имени хоста или доменного имени и т.п. По
умолчанию правила доступа определены в файле /etc/security/access.conf.
Когда пользователь входит, проверяются правила доступа до· первого
совпадения, и принимается решение, разрешить или запретить доступ.
Также смотрите модуль pam_time-тaм другие ограничения.
• pam_cracklib и pam_pwcheck — предоставляют функции проверки
прочности пароля (проверки на легкость угадывания или повторяемость).
У пользователя спрашивают пароль, и если он проходит предустановлен­
ные правила и считается прочным, тогда нужно ввести его еще раз для
проверки правильности ввода.

··················································································C!I

• pam_deny- безусловно запрещает доступ. Этот модуль можно исполь­
зовать для блокирования пользователей как политику по умолчанию (см.
также pam_permit).
• pam_echo- выводит предустановленное текстовое сообщение. См. так­
же pam_motd.
• pam_env — позволяет присвоение значений переменным окружения.
Правила по умолчанию берутся из файла /etc/security/pam_env.conf.
• pam_ехес — вызывает внешнюю программу.
• раm_lаstlоg-выводит дату и время последнего входа в систему.
• pam_limits — устанавливает ограничения на системные ресурсы, ис­
пользуемые пользователем. Ограничения по умолчанию берутся из фай­
ла /etc/security/limits.conf.
• pam_Iistfile -разрешает или запрещает сервис в зависимости от значе­
ний в файле. К примеру, если вы хотите открыть FТР-доступ лишь для не­
которых пользователей, перечень которых указан в файле /etc/ftpusers_ok,
нужно добавить строку auth required рат_listfile.so item = user sense = allow
file =letc/ftpusers_ok onerr =fail в файл /etc/pam.d/ftpd (см. также модуль
pam_nologin).
• pam_mail — сообщает пользователю о наличии свежей электронной
почты.
• pam_ mkhomedir -создает домашний каталог пользователя, если он не
существует на локальной машине. Таким образом, можно использовать
централизованную авторизацию (к примеру, в NIS или LDAP) и создавать
домашние каталоги лишь при необходимости.
• раm_mоtd-выводит «сообщение дня». См. также модуль pam_echo.
• pam_nologin-запрещает доступ, когда существует файл /etc/nologin.
• pam_permit-безусловно разрешает доступ — очень небезопасно! (см.
также модуль pam_deny).
• pam_rootok — разрешает доступ для пользователя root без дополнитель­
ных проверок. Обычно этот модуль используется в /etc/pam.d/su, чтобы
пользователь root мог войти под любым другим пользователем даже без

………………………………………………………………………….

1 1,1ва

1(, 110.11.юнан•.111 11 1 р�11111,1

ввода пароля. Файл должен содержать следующие строки (обратите вни­
мание на вторую строку, см. модуль pam_wheel):
auth
auth
auth

sufficient
required
required

pam_rootok.so
pam_wheel.so
pam_ unix.so

• pam_succeed_if- проверяет некоторые характеристики учетной записи,
к примеру, принадлежность к определенной группе, значение UID и т.п.
• pam_time — запрещает доступ к службе в зависимости от дня недели и
времени дня. По умолчанию правила берутся из файла /etc/security/time.
conf. Однако запрет накладывается лишь на момент входа в систему. Спо­
соба принудительно заставить пользователя выйти из системы нет.
• pam_umask- устаJ:Iавливает маску создания файлов.
• pam_unix или pam_unix2 — классическая аутентификация в UNIХ­
стиле, основана на файлах /etc/passwd и /etc/_shadow (см. также модуль
pam_userdb).
• pam_userdb — аутентифицирует пользователя с помощью базы данных
(см. также модуль pam_unix).
• pam_warn — заносит название службы, номер терминала, пользователя
и другие данные в системный журнал. Модуль можно использовать везде,
он не влияет на процесс аутентификации.
• pam_wheel — позволяет rооt-доступ лишь для членов группы wheel.
Часто этот модуль используется для su, чтобы лишь избранные пользова­
тели могли пользоваться этой программой. Пример использования можно
найти в описании модуля pam_rootok.
Если книга не посвящена отдельно РАМ, лучше всего рассматривать РАМ на
отдельных примерах.

16.4.1. Ограничиваем доступ к системе по IР-адресу
Файл /etc/security/access.conf используется модулем pam_access.so, чтобы
определить, каким пользователям позволено входить в систему и с каких
IР-адресов.

,.

…………………………………………………………………….. …

st,·a l.i11ux

Если открыть файл access.conf, то в нем будет достаточно много различных
примеров, которые хорошо прокомментированы. Если вы знаете английский
язык, то не составит особого труда во всем разобраться самостоятельно.
Формат этого файла следующий:
разрешения : пользователи : источники

Разрешение может начинаться с символа «+» (доступ разрешен) или «-«
(доступ запрещен). Если нужно указать несколько пользователей, то их име­
на разделяют пробелом. Если нужно сделать исключение для некоторых
пользователей, то перед их именами указывают служебное слово ЕХСЕРТ.
Третье поле может содержать список из одного или более имен консолей
(tty) — для несетевого доступа к системе, имен узлов (для сетевого досту­
па), доменных имен (начинаются с».»), IР-адресов узлов, IР-адресов сетей
(заканчиваются».»). Также можно указать все источники(ALL), ни один из
источников(NONE) или только локальные источники(LOCAL).
Теперь несколько примеров:
-:ALL ЕХСЕРТ root:ttyl

Первая консоль — это только консоль root. Другим пользователям запреще­
но ее занимать. Мы запрещаем доступ(-) всем пользователям(ALL) кроме
(ЕХСЕРТ) пользователя root на консоли tty 1.
Следующий пример — разрешение регистрации как root с определенных IР­
адресов:
+
+

root
root

192.168.1.1 192.168.1.4 192.168.1.9
127.0.0.1

Если нужно разрешить регистрацию root со всей подсети 192.168.1.0, тогда
укажите адрес этой подсети, указав точку вместо О:

….
+

root

192.168.1.

—.——-.—-.—·.— —-. ·—-.—………………..-…-..-….—· ..-…. .

l.1ава 16. По.1ыован�.ш 111ру1111ы

[ASTRд*LINUX·]

Самый жесткий пример — запрещаем root вообще входить в систему:
root

ALL

Примечание. Обратите внимание, что комментарии в этом фай­
ле начинаются с #, если вы хотите использовать один из приме­
ров, приведенных в файле, убедитесь, что вы раскомментирова­
ли нужную вам строку.
Чуть выше мы разрешили вход пользователя root с определенных IР-адресов.
К сожалению, одного только редактирования access.conf будет недостаточ­
но. Нужно еще отредактировать соответствующие файлы в /etc/pam.d. Нас
интересует регистрация по SSH (telnet уже не используется, поэтому вы бу­
дете регистрироваться по SSH) и обычная регистрация в системе. Поэтому
нам нужно отредактировать файлы /etc/pam.d/sshd и /etc/pam.d/system-auth.
В этих файлах вам нужно добавить строчку:
account

required

/lib64/security/pam_access.so

Если у вас 32-разрядная система, тогда нужно добавить немного другую
строку:
account

required

/liЬ/security/pam_access.so

16.4.2. Ограничиваем время входа в систему
Безопасностью системы лучше управлять, когда вы бодрствуете. Поэтому
имеет смысл разрешить регистрацию только в это время, например, с 8:00 до
19:00 (вдруг кто-то немного задержится на работе).
Откройте файл /etc/security/time.conf и добавьте в него строку:
login;tty* & !ttyp*; !root & admin &

!Al0800-1900

··················································································88

.st1·:1 J,iпнх

Здесь мы разрешаем пользователям регистрироваться только с 8:00 по 19:00.
На пользователей root и admin это правило не распространяется. Также в
файле time.conf вы найдете еще несколько примеров.
Как и в случае с предыдущим файлом, вам нужно изменить файлы /etc/
pam.d/sshd и /etc/pam.d/system-auth, в которые нужно добавить строку:
account

required

/lib64/security/pam_time.so

или строку (для 32-разрядной системы):
account

required

/liЬ/security/pam_time.so

16.4.3. Ограничение системных ресурсов с помощью РАМ
С помощью РАМ-модулей можно ограничить системные ресурсы, что по­
лезно для защиты системы от DоS-атаки. Принцип DоS-атаки заключается
в том, что злоумышленник узурпирует все ресурсы системы, в результате
обычным пользователям ничего не остается. Ограничив системные ресурсы,
вы можете смягчить последствия DоS-атаки на ваш сервер. Конечно, полной
защиты этот способ не даст, но все равно ваш сервер будет продолжать рабо­
тать, хоть и медленно. Все же это лучше, чем ничего.
Ограничить системные ресурсы можно с помощью /etc/security/limits.conf.
Формат записей в этом файле такой:
домен

тип

ресурс

значение

В качестве домена указывается или имя пользователя, или имя группы поль­
зователей (@имя). Также можно указать звездочку (*), если ограничение
должно распространяться на всех пользователей.
Ограничения бывают мягкими (soft) и жесткими (hard). Мягкое ограничение
можно незначительно превысить, жесткое превысить нельзя.
Возможные значения третьего поля задают тип ограничиваемого ресурса и
представлены в таблице 16.4.

……………………………………………………………………….. ,

11,111,11(1

1111.11,Юllall’.III 111р�1111ы

Таблица 16.4. Ресурсы, которые можно ограничить с помощью limits.conf

Элемент

Описание

core

Позволяет ограничить размер файла ядра (в килобайтах)

cpu

Задает максимальное процессорное время (в минутах)

data

Определяет максимальный размер сегмента данных (в килобайтах)

fsize

Позволяет указать максимальный размер файла (в килобайтах)

maxlogins

Определяет максимальное количество параллельных регистраций пользователя. По умолчанию пользователю разрешается войти неограниченное количество раз разными
способами — по SSH, FTP, с разных консолей и т.д.

nofile

Задает максимальное число одновременно открытых файлов

nproc

Определяет число процессов, которые может запустить
пользователь

priority

Задает приоритет, с которым будут выполняться процессы
пользователя или группы

stack

Максимальный размер стека (в килобайтах)

Последнее поле определяет значение лимита. Теперь несколько примеров:
*
@ssh users
@ssh users

hard
hard
hard

maxlogins
nproc
fsize

3
5
24576

В первом случае мы ограничиваем число одновременных. регистраций поль­
зователей до 3 (консоль, Xll, если есть и SSH- этого более чем достаточ­
но). Во втором пользователям из группы ssh_users мы разрешаем запускать

•.

.—..-… — — — — . -.. —…………….. -….-………..—.. —…- -…-.. —

……….

Astra Linux

не более 5 процессов одновременно. Также SSН-пользователям не разреша­
ется создавать файлы размером более 24 Мб.
Обратите внимание: здесь мы просто задаем лимит на максимальный раз­
мер файла. В принципе, 24 Мб вполне достаточно даже для хранения фото­
графий с зеркальной камеры и больших документов Word, содержащих изо­
бражения и другие объемные объекты. А видео и файлы большего размера
пусть пользователи хранят или на своих компьютерах, или входят иным спо­
собом, например, по FTP, где можно более качественно ограничить опера­
ции с файлами.
После редактирования /etc/security/limits.conf никакие другие файлы редак­
тировать не нужно. Но описанные вами изменения будут действовать для
новых сеансов пользователей, поэтому желательно перезагрузить систему,
чтобы изменения действовали сразу для всех пользователей.
Если вам нужна дополнительная информация о РАМ, предлагаем ознако­
миться с официальной документацией, доступной по адресу:
https ://mirrors. edge. kernel. org/puЬ/linux/libs/pam/

a!t················-·············-·······-···········································

Глава 17.

Настройка неб-сервера

*
ASTRA LINUX

Не секрет, что очень часто Linux, в том числе и Astra Linux, применяется в
роли операционной системы для веб-сервера. Она столь популярна в этом
направлении, что мы решили в этой книге уделить отдельное внимание соз­
данию и настройке веб-сервера. Начнем мы с настройки веб-сервера.
В данной главе будет произведена установка программного обеспечения,
необходимого для реализации веб-сервера. По сути, нам необходима связка
Apache + РНР + MySQL. В сети очень много руководств по организации
такой связки. Повторяться и писать еще одно подобное руководство не хо­
чется, тем более все равно они не раскрывают всех нюансов подобной уста­
новки. А нюансы могут заключаться в том, что устанавливаемая CMS не
поддерживает версию РНР, которую вы установили. И узнаете вы об этом
только тогда, когда будете устанавливать CMS и она не пройдет провер­
ку системных требований. В этой главе мы подготовим наш веб-сервер под
установку CMS Magento. Это довольно требовательная CMS: разные ее вер­
сии требуют разных версий РНР, а также, кроме базовых пакетов, она требу­
ет множества расширений РНР.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

— — — — — — — — — — — — — — — — — — — — .

[ASTRд*LINUX»J

1 1,111.1 1 7 11 at· 1 ршi1,а вt•ii-c..-pвt•pa

17.1. Установка и настройка Apache
Администратор может использовать в качестве веб-сервера или Apache, или
nginx. Выбор зависит от предпочтений администратора. В этой книге мы бу­
дем использовать Apache, при необходимости всегда можно перенастроить
сервер на работу с nginx (хотя некоторое внимание nginx мы все же уделим
— там, где вопросы касаются нетривиальной настройки).
Установить веб-сервер можно так:
sudo apt install apache2

Здесь мы устанавливаем пакет apache2. Команда sudo подразумевает исполь­
зование rооt-прав. Если вы вошли на свой сервер уже как пользователь root,
тогда ее вводить не нужно, и команда будет сокращена до следующей:
apt install apache2

После установки нужно настроить сервер. Как минимум, вам нужно указать,
что ваш сервер будет использовать купленное ранее доменное имя.
Первым делом нужно зайти в панель управления доменным именем и до­
бавить А-запись для вашего домена, указывающую на IР-адрес вашего VDS­
cepвepa. Как это сделать? Проще всего обратиться в службу технической
поддержки регистратора, у которого вы покупали доменное имя, поскольку
регистраторов очень много и все они часто используют панели управления
собственной разработки, поэтому невозможно в книге привести руководство
абсолютно для всех регистраторов. Тогда бы книга называлась «Как управ­
лять доменом».
Далее желательно установить файловый менеджер Midnight Commander, ко­
торый позволит производить операции с файлами более удобно:
sudo apt install mc

Перейдите в каталог /etc/apache2/sites-enaЫed и откройте файл 00-default.
conf. Мы не будем создавать отдельные веб-серверы для каждого сайта .

•.

. . .. . . … . ….. . . ……. . -………………………………………………. …

Astra Linux

Будем считать, что у нас есть один сайт и его конфигурация как раз будет
храниться в файле 00-default.conf. Реальный пример конфигурации приве­
ден на рис. 17.1.

Рис. 17.1. Конфигурация сервера

Основные директивь1:
• ServerName — здесь нужно указать купленное доменное имя.
• DocumentRoot — указывает, где будут храниться файлы сайта, мы ис­
пользуем каталог по умолчанию /var/www/html.
• ServerAdmin — можно указать адрес электронной почты администрато­
ра сервера.

Мы сейчас не будем подключать SSL-сертификат, а сделаем это чуть позже.
Осталось запустить сервис веб-сервера:

•.

. . — .. — … — — -.. — -.. — ….. -.. — -. — . — -.. — -.. — . -. -. — — — — — -. — — -… -.. — — — .. — — .. — . — . — — .. — —

!�1ана 17. Нас I poiii-.:a неб-сервера
sudo systemctl start apache2.service

Аналогично, для перезапуска и останова сервиса можно использовать сле­
дующие команды:
sudo systemctl restart apache2.service
sudo systemctl stop apache2.service

17.2. Установка сервера баз данных. Создание
базы данных и пользователя
Для установки СУБД MySQL нужно ввести команды:
sudo apt install mysql-server mysql-client
sudo mysql secure installation

Первая команда устанавливает необходимые пакеты — сервер и клиент. Вто­
рая запускает настройку так называемой безопасной инсталляции, в ходе ко­
торой будут произведены:
1. Установка пароля для МуSQL-пользователя root. Обратите внимание, что
этот пользователь и системный пользователь root — две разные сущно­
сти, поэтому постарайтесь, чтобы и пароли у них были разные.
2. Удаление тестовой базы данных.
3. Запрет подключения к серверу баз данных извне, только с локального
узла. Это означает, что к СУБД сможет подключиться ПО, работающее
только на этом сервере, а не все желающие. Не беспокойтесь: к вщпему
магазину смогут подключаться все пользователи, просто они не смогут
напрямую подключаться к БД, что нежелательно с точки зрения безопас­
ности.
После этого нужно ввести команду:

•. . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . .. . .. . . . . .. .· -ID
mysql -u root -р

CREATE DATAВASE magento2;
CREATE USER magento2user@localhost IDENTIFIED ВУ ‘password’;
GRANT ALL PRIVILEGES ON magento2.* ТО magento2user@localhost IDENTIFIED ВУ
‘password’;
FLUSH PRIVILEGES;
exit

Здесь запускается клиент и от имени МуSQL-пользователя root выполняют­
ся запросы. Первый запрос создает базу данных magento2, второй — созда­
ет пользователя magento2user, от имени которого Magento будет обращаться
к СУБД. Третий запрос — предоставление полномочий пользователю
magento2user ко всем таблицам базы данных magento2. Естественно, вместо
‘password’ укажите какой-то сложный пароль.
Последний запрос; осуществляет применение полномочий, а команда exit выход из клиента mysql.

17 .3. Установка и настройка РНР. Выбор версии
Для установки РНР и самых популярных расширений введите команду:
sudo apt install php php-cli openssl libcurlЗ php-curl php-gd
php7.0-xml php-intl php-zip php-mЬstring php-soap php-mysql php-json
libapache2-mod-php php-xsl php-bcmath php-ldap composer

Кроме расширений РНР будет установлен и пакет libapache2-mod-php, свя­
зывающий РНР и Apache — он нужен, чтобы веб-сервер умел выполнять
РНР-скрипты.
Теперь нужно настроить РНР и Apache. Первым делом откройте файл кон­
фигурации РНР (Х- версия):
sudo mcedit /etc/php/7.X/apache2/php.ini

В нем нужно установить лимит памяти:

memory_limit = 512М

— —- — — — — — — — — — — — — — — — — —- —… — .. — — — — — -. — — — — . — .. — —… —. —.. — — -.. — .

Можно установить и другие параметры, но об этом мы поговорим далее в
этой книге, когда пойдет речь об оптимизации сервера.
Сохраните файл, выйдите из редактора и добавьте необходимь1е модули
Apache:
sudo a2enrnod rewrite

Также, чтобы нормально работали SEF URL Magento, нужно открыть ваш
файл конфигурации /etc/apache2/sites-enaЫed/000-default.conf и добавить в
секцию VirtualНost строки:

Options Indexes FollowSyrnLinks MultiViews
AllowOverride All

Все, можно перезапускать Apache:
sudo service apache2 restart

17.4. Директивы файла конфигурации Apache
Основной файл конфигурации Apache называется /etc/apache2/apache2.conf.
Конфигурация Apache просто огромна:
• Основной файл конфигурации apache2.conf «весит» более 7 Кб и содер­
жит 224 строки конфигурации.
• Посредством директивы Include в конфигурацию Apache включают­
ся другие файлы из каталога /etc/apahce2. Например, директива lnclude
ports.conf в основном файле конфигурации говорит о том, что в месте ди­
рективы нужно вставить содержимое ports.conf. Аналогично, вы можете
создать файл my.conf и вставить его содержимое с помощью директивы
IIiclude my.conf.
• С помощью директивы IncludeOptional включается содержимое всех фай­
лов конфигурации из каталога /etc/apache2/sites-enaЫed. Как правило, в
этих файлах конфигурации принято хранить описание виртуальных

•.————.—.———————————-.———.—..—-. ———. —111

.stra l,inux

узлов, или, попросту говоря, сайтов. Принцип прост. Сам файл конфигу­
рации для определенного сайта помещается в каталог sites-availaЫe (до­
ступные сайты), а затем на него создается ссылка в каталоге sites-enaЬled
(включенные сайты). Если сайт нужно временно отключить, то чтобы не
удалять его конфигурацию, просто удаляют ссылку на файл конфигура­
ции из каталога sites-enaЫed.
Теоретически вы можете хранить всю конфигурацию в файле apache2.conf.
Тогда ваш файл конфигурации будет еще больше. Вряд ли вам будет удобно,
но такая возможность есть.
Директивы конфигурационного файла сервера Apache можно условно раз­
делить на такие группы:
1. Общие. К общим директивам относятся глобальные директивы, влия­
ющие на работу всего WеЬ-сервера. Это директивы ServerName, Server­
Type, Port, User и Group, ServerAdmin, ServerRoot, PidFile, DocumentRoot,
UserDir.
2. Директивы протоколирования: EпorLog, TransferLog, HostnameLookups.
3. Директивы ограничения доступа: AllowOverride, Options, Limit.
4. Директивы управления производительностью: StartServers, MaxSpa­
reServers, MinSpareServers, а также директива CacheNegotiatedDocs.
5. Директивы обеспечения постоянного соединения с клиентом: Timeout,
KeepAlive, KeepAliveТimeout.
6. Директивы настройки отображения каталога. Оформить отображение
каталогов можно с помощью директив настройки отображения катало­
гов: Directorylndex, Fancylndexing и AddlconВyType.
7. Директивы обработки ошибок. Директивой обработки ошибок НТТР­
сервера является директива EпorDocument. С ее помощью можно устано­
вить реакцию на любую ошибку сервера, например, на ошибку 404 (до­
кумент не найден).
8. Директивы перенаправления: Redirect, Alias и ScriptAlias.
9. Директивы для работы с многоязычными документами: AddLanguage
и LanguagePriority.
10. Директивы обработки МIМЕ-типов. Настроить свой сервер для обра­
ботки различных МIМЕ-типов можно с помощью директив DefaultType,
AddEncoding, AddType, AddHandler и Action.

————————————————————————————‘

l .1ава 17. Hac,poiiкa веб-сервера

11. Директивы создания виртуальных узлов: Virtua!Нost, Listen, BindAd­
dress.
Директив много, но вам не нужно редактировать все директивы сразу. Вы
можете постепенно кастомизировать ваш веб-сервер — по мере поступле­
ния задач от руководства. Как минимум, вам нужно изменить две следую­
щие директивы:
• ServerName — директива, которая определяет имя сервера Apache. При­
чем здесь должно быть задано официальное имя сервера в таком виде,
в котором оно должно появляться в строке адреса браузера. Данное имя
должно быть зарегистрировано в сервере DNS вашей сети.
• ServerType — директива, которая определяет тип сервера. По умолчанию
используется значение standalone. Если вы хотите достичь максимальной
производительности вашего WеЬ-сервера, не изменяйте эту опцию.
Другие полезные директивы веб-сервера приведены в таблице 17 .1.
Таблица 17.1. Некоторые директивы файла конфигурации Apache

Директива

Описание

User и Group

Директивы User и Group определяют идентификаторы пользователя и группы, от имени которых
будет работать сервер. Данные идентификаторы
присваиваются серверу, если он запущен в автономном режиме. Можно использовать как имена
пользователей, так и их числовые эквиваленты
— UID. По умолчанию используется имя пользователя www-data. Из соображений безопасности не рекомендуется изменять это значение и
присваивать имя реального пользователя. В этом
случае WеЬ-сервер получит доступ только к тем
файлам, которые разрешены для чтения для всех
пользователей. Нужно заметить, что указанный
пользователь и группа должны существовать в
вашей системе. Ни в коем случае не запускайте
сервер от имени пользователя root!

·———————————————————————————fВ

ServerAdmin

Задает электронный адрес вебмастера вашего
WеЬ-узла. Если возникнут какие-то проблемы,
связанные с работой сервера, то по этому адресу
будет отправлено соответствующее сообщение.
Обычно используется значение webmaster@
Your Host.com. Пользователь webmaster, как
правило, не существует реально в системе. Для
определения имени (псевдонима) webmaster ис­
пользуется файл псевдонимов электронной
почты /etc/aliases

ServerRoot

В этой директиве указывается местонахождение
файлов конфигурации сервера Apache. По умол­
чанию для этих целей используется каталог /etc/
apache2

BindAddress

Данная директива используется для поддержки
виртуальных хостов и применяется, чтобы сооб­
щить серверу, какой IР-адрес следует прослуши­
вать. Значением данной директивы может быть
«*» (любой адрес), IР-адрес или полное имя домена

ErrorLog и
ТransferLog

Определяют расположение журналов сервера
Apache. Обычно для этих целей используется
каталог /var/log/apache2. В журнале errorlog
протоколируются диагностические сообщения,
а также сообщения об ошибках, которые по­
рождают СGI-сценарии. В журнале trasferlog
протоколируются запросы клиентов. Если вклю­
чена директива HostNameLookups, то вместо IР­
адреса клиентов будут регистрироваться имена
компьютеров. Данные директивы можно ис­
пользовать для задания отдельных журналов для
каждого виртуального узла. При определении
виртуального узла (см. далее) вы можете задать
другие журналы, индивидуальные для этого узла

&1————————·-····—·—··——-··—·—··——-··—··-·-············

1 1,1на 17 llat·1 poiiкa вt·fi-ct·pвt·pa

.

Timeout

Задает промежуток времени в секундах, в тече­
ние которого сервер продолжает попытки возоб­
новления приостановленной передачи данных.
Значение директивы Timeout распространяется
не только на передачу, но и на прием данных.
Если вам нужно получать большие файлы, реко­
мендую увеличить данное значение

KeepAlive

Разрешает постоянные соединения, то есть та­
кие соединения, в которых производится более
одного запроса за один раз

KeepAliveTimeOut

Определяет таймаут для постоянного соедине­
ния

MaxClients

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

MaxRequestsPerChild

После
обработки
определенного
количества запросов, указанного в директиве
MaxRequestsPerChild, копия сервера завершает­
ся, а вместо нее запускается новая

Listen

Позволяет вам связывать Apache с определен­
ным IР-адресом и (или) дополнительными пор­
тами

DocumentRoot

Директива, определяющая местонахождение
корневого каталога документов вашего сервера.
Значение по умолчанию — /var/www/html. Как
правило, для каждого виртуального узла задает­
ся собственное значение для DocumentRoot

.

.,…

······—····························-·············································—

.str·a [.inux

UserDir

Задает названия подкаталога в домашнем катало­
ге пользователя, из которого берутся документы.
В этом случае вы активизируете возможность
использования пользовательских каталогов.
Если вы не хотите включать эту возможность,
укажите UserDir DISAВLED. Более подробно
эта директива будет рассмотрена позже

Directorylndex

Позволяет задать название документа, кото­
рый будет возвращен по запросу, который не
содержит имя документа. С помощью данной
директивы можно задать несколько имен фай­
лов. Значениями по умолчанию являются index.
html, index.php, index.htm, index.shtml, index.cgi,
Default.htm, default.htm, index.phpЗ. Например,
если вы введете в строке адреса броузера http://
localhost, то будет возвращен один из указанных
в директиве Ditectorylndex документов. Если в
каталоге будет несколько документов, описан­
ных в Directorylndex, то будет возвращен пер­
вый из них (в данном случае — index.html)

Fancylndexing

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

…..

— ………………………………………… — — …….- ···—· ……….. .

l .1arш 17. Hac,poiiкa веб-сервера

Сопоставляет значок с типом файла. Значок бу­
дет использоваться при выводе каталога, если
включена директива Fancylndexing. Директива
AddlconВyType имеет следующий формат:
AddlconByType (ТЕХТ, URL)

AddlconByТype

mime-type

Параметр ТЕХТ определяет текстовое описание
типа, которое увидят пользователи, использую­
щие текстовый браузер, или пользователи, у ко­
торых отключено отображение рисунков. Пара­
метр URL определяет адрес значка, а параметр
mime-type — это тип файла, с которым нужно
сопоставить значок. Полный перечень МIМЕ­
типов приведен в файле apache-mime.types. В
качестве имени файла можно задать не только
МIМЕ-тип, но и символы, которыми заканчива­
ется имя файла, но для этого нужно использо­
вать директиву Addlcon вместо AddlconВyType
AddiconByType (VID,/icons/movie.gif) video/*
Addicon /icons/binary.gif . bin .ехе
Первая директива сопоставляет с типом vid­
eo значок /icons/movie.gif. Вторая директива
сопоставляет с бинарными файлами * .Ьin и * .ехе
значок /icons/Ьinary.gif. Значок по умолчанию
задается директивой Defaultlcon

DefaultТype

Если запрашиваемый клиентом тип не соответ­
ствует ни одному из МIМЕ-типов, используется
МIМЕ-тип, указанный в директиве DefaultType

AddEncoding

Для сокращения времени передачи файла кли­
ентам используется сжатие данных. Браузеры
имеют встроенные программы для распаковки,
запускаемые при получении архивов определен­
ных МIМЕ-типов. Именно эти МIМЕ-типы и
указываются в директиве AddEncoding

«. ——————————… -… -.. ———————. -. -…. -. —. -. —. -· ID

stп1 l.i1н1

AddLanguage

(ASTRд*LINUX»)

В большинстве браузеров можно задать пред­
почитаемый язык. Благодаря этому вы можете
. предоставлять документы на разных языках.
Директива AddLanguage сопоставляет расшире­
ние файла с аббревиатурой языка. Для русского
языка используется аббревиатура ru, для англий­
ского — еп. При этом в корневом каталоге ваше­
го сервера могут находиться несколько индекс­
ных файлов на разных языках. Например, для
русского языка нужно использовать имя файла
index.html.ru, а для английского — index.html.en
Если на вашем сервере размещены докумен­
ты на разных языках, то с помощью директивы
LanguagePriority можно указать приоритеты раз­
личных языков. Например, вы установили ди­
рективу LanguagePriority так:
LanguagePriority en ru

LanguagePriority

Клиент вводит в строке адреса своего браузера
адрес http://www.server.com/. Если в свойствах
браузера имеется возможность задать предпочи­
таемый язык, то возвращен будет файл на нуж­
ном языке, если такой существует. Если браузер
клиента не поддерживает такую возможность,
будет возвращен файл на языке, имеющем наи­
более высокий приоритет. В рассмотренном слу. чае (см. пример) это английский язык. Если файл
на нужном языке, например, на немецком, не
существует, то будет возвращен файл на англий­
ском языке. Для того чтобы сервер поддерживал
нужный вам язык, предварительно установите
правильное значение директивы AddLanguage

:

•.

— — — — — — — — . — — — — — — — — — — — — — . — — — . — — — . — — . — — — — — — — — — — — — — . — — — . — — — — . — — — . — -. . — — . — — — .. . — — . — —

1 1,1н,1 7 llar1p11ii1..:a вrб-rrpвrpa

Alias

С помощью директивы Alias можно предоставить доступ не только к файлам, находящимся в
каталоге, указанном директивой DocumentRoot,
и его подкаталогах, но и в других каталогах. По
умолчанию определен только псевдоним для каталога /icons

ScriptAlias

Аналогична директиве Alias, но позволяет задать
месторасположение каталога для СGI-сценариев

AddТype

С помощью этой директивы можно добавить
новый МIМЕ-тип, который не указан в файле
apache-mime. types

AddHandler и Action

Директива AddHandler позволяет сопоставить
определенный МIМЕ-тип с каким-нибудь обработчиком. А с помощью директивы Action
можно определить какое-нибудь действие для
обработчика. Например, вы можете запустить
какую-нибудь программу для обработки файла
данного типа. Пример:
AddHandler text/dhtml dhtml
Action text/dhtml /cgi-bin/dhtml-parse

ErrorDocument

Redirect

Директива, сопоставляющая коды ошибок сервера URL-aдpecaм на этом же сервере
Используется для перенаправления с
адреса на другой

ОДНОГО

В таблице 17.1 не рассмотрены директивы Location и Directory, которые
заслуживают отдельного разговора. Директива Directory определяет свой­
ства каталога, например:

Options Indexes Includes FollowSymLinks
AllowOverride None

………………………………. -… — . — … — — .. — — — . — — — . — — — . — — — . — — … —

. . …

stп1 l.inux

(ASTRд*LINUX’)

Свойства каталога можно указывать в директиве Directory или в файле
.htaccess, который находится в том каталоге, для которого необходимо уста­
новить нужные параметры.
В блоке Directory могут находиться директивы управления доступом. К ним
относятся директивы AllowOverride, Options, Limit. Рассмотрим по поряд­
ку все эти директивы. Директива AllowOverride может принимать значения,
указанные в табл. 17.2.
Таблица 17.2. Значения директивы AllowOverride

Значение

Описание

None

Сервер Apache будет игнорировать файлы .htaccess. Рекамендую установить данную опцию, так как это повысит
производительность сервера

All

Пользователи имеют право переопределять в файлах
.htaccess глобальные параметры доступа. Из соображений
безопасности лучше не использовать этот режим

Options

Разрешает использовать директиву Options

Limit

Разрешает использовать директиву Limit

AuthConfig

Разрешает использование директив AuthName, AuthType,
AuthUserFile и AuthGroupFile

Filelnfo

Разрешает использовать в файлах .htaccess директивы
AddType и AddEncoding

С помощью директивы Options можно определить функции сервера, кото­
рые будут доступны для использования в определяемом каталоге. Данную
директиву можно использовать как в файле apache2.conf, так и в файлах
.htaccess. Допустимые опции для директивы Options представлены в табл.
17.3.

…………………………………………………………………………

1 1,111,1 17 llar1 р11111,а неfi-прнера

1ASTRA,Nux·1

Таблица 17.3. Допустимые опции директивы Options

Опция

Описание

None

Не разрешается использование каких-либо
функций

All

Разрешаются все функции

FollowSymLinks

Разрешается использовать символические
ссылки. С точки зрения безопасности не рекомендуется использовать этот режим

SymLinkslfOwnerMatch

Разрешается использование символических
ссылок, если ссылка указывает на объект, который принадлежит тому же пользователю,
что и ссьmка

ExecCGI

Разрешается выполнение СGI-сценариев

Indexes

Если эта опция вь1ключена, сервер не будет
передавать содержимое каталога при отсутствии файла index.htmVindex.php

Includes

Разрешено использование серверных включений. Рекомендую отключить эту опцию, поскольку это сильно нагружает сервер

IncludesNoExec

Разрешает использование серверных включений, но запрещает запуск из них внешних
программ

Директива Limit ограничивает доступ к файлам в определенном каталоге.
Параметр метод определяет метод передачи, например GET или POST.
Директиву Limit можно использовать внутри блоков Directory, Location или
в файле .htacccess.
В блоке Limit можно использовать такие директивы: allow (разрешить),
deny (запретить), order (порядок), require (требуется). Директивы allow и
deny аналогичны директивам allow и deny файла конфигурации сервера

,.

…………………………………………………………………….. ..

ProFTPD. После директивы allow следует слово from, после которого мож­
но указать IР-адрес, адрес сети1 домен или просто имя компьютера. Слово
al/ обозначает все компьютеры. Например, вам требуется запретить доступ
всем компвютерам, кроме компьютеров, которые входят в домен ru:

order deny, allow
deny from all
allow from ru

Следующий пример показывает, как разрешить доступ компьютерам только
из вашей сети. Пусть при этом ваша сеть имеет адрес 192.168.1.0:

order deny, allow
deny from all
allow from 192.168.1.

Директива order определяет порядок выполнения директив allow и deny.
Кроме значений allow,deny и deny,allow, директива order может содержать
значение mutual-failure. В этом случае доступ будет отказан всем компьюте­
рам, которые явно не указаны в списке allow.
Директива Location позволяет задать определенный URL-aдpec, который
предназначен для обозначения каталогов, файлов или групп файлов. Обозна­
чить группу файлов можно с помощью шаблонов, например, шаблон * .html
определяет все файлы, имена которых заканчиваются на .html. В URL-aдpec
не включаются протокол и имя сервера. Пример:

директивы управления доступом

17 .5. Определение виртуальнь1х узлов
Концепция виртуальных хостов позволяет серверу Apache поддерживать
несколько WеЬ-узлов — попро�ту говоря, несколько сайтов. Получается, что
один WеЬ-сервер заменяет несколько серверов, и вместо одного узла поль-

118··…………………………………………….. —. —·—· ——·—.. ··-·-·

[ASTRд*LINUX.J

1 _1,ша 17 llac1pнiiкa 1н•б-сrрвt•ра

зователи видят отдельные WеЬ-узлы. Это очень удобно, если нужно органи­
зовать персональные WеЬ-узлы пользователей или собственные WеЬ-узлы
подразделений компании, например, sales.mycompany.com.
Сервер Apache можно настроить несколькими способами: чтобы запускал­
ся один сервер, который будет прослушивать ВСЕ обращения к виртуаль­
ным серверам, или запускать отдельный процесс для каждого виртуального
сервера. В первом случае один сервер будет одновременно обслуживать все
виртуальные. Если вас интересует такой вариант, нужно настраивать вир­
туальные серверы с помощью директивы VirtualНost. Настройка отдельных
процессов для каждого сервера осуществляется с помощью директивы
Listen и BindAddress.
В этом разделе рассматривается именно первый случай, поскольку он наи­
более часто используется на практике. Внутри блока директивы VirtualHost
можно использовать любые директивы, кроме ServerType, BindAddress, Lis­
ten, NameVirtualНost, ServerRoot, TypesCon:fig, PidFile, MinRequestPerChild,
MaxSpareServers, MinSpareServers, так как некоторые из них относятся к
основному НТТР-серверу (например, ServerType), а некоторые — ко второ­
му варианту настройки виртуальных серверов и здесь неприемлемы. Обя­
зательно должны присутствовать директивы ServerName, DocumentRoot,
ServerAdmin и EттorLog.
Виртуальные серверы можно идентифицировать по имени или по IР-адресу.
Идентификация по имени имеет существенное преимущество перед иденти­
фикацией по IР-адресу: вы не ограничены количеством адресов, имеющимся
у вас в распоряжении. Вы можете использовать любое количество виртуаль­
ных серверов, и при этом вам не потребуются дополнительные адреса. Такое
возможно благодаря использованию протокола НТТР/1.1. Данный протокол
давно подцерживается всеми современными браузерами.
В листинге 17 .1 приведен файл конфигурации реального

виртуального узла,
изменено только имя сервера.
Листинг 17.1. Конфигурация виртуального узла
# Поддерживаем протокол НТТР (порт 80) для перенаправления на НТТРS-версию
# Если клиент вводит адрес http://example.com, выполняем перенаправление на
# https://example.com

ServerName example.com
Redirect permanent / https://example.com/

··················································································88

# Основная конфигурация

ServerAdmin it@example.com
# Имя узла
ServerName example.com
# Псевдоним и IР-адрес
ServerAlias www.example.com 111.111.111.115
# Каталог документов
DocumentRoot /srv/www/example.com/htdocs
# Журнал ошибок
ErrorLog /srv/www/example.com/logs/error_log
# Журнал доступа
CustomLog /srv/www/example.com/logs/access log combined
# Включаем поддержку SSL
SSLEngine on
# Подключаем SSL-сертификат
SSLCertificateFile /etc/ssl/sert.pem
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ss1/chain.pem
# Настройка каталога документов

Directoryindex index.php
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All

17.6. Пользовательские каталоги
Директива UserDir включает подцержку пользовательских каталогов. Эта
директива определяет общее название подкаталога в домащних каталогах
всех пользователей. По умолчанию используется каталог puЫic_html. Дан­
ная возможность очень удобна при использовании ее в большой корпорации,
где каждый сотрудник имеет собственную страничку. Аналогичное решение
можно использовать для сервера кампуса, где администратору лень созда­
вать отдельный виртуальный узел для каждого студента.
Раньше эта возможность часто использовалась на серверах, предоставляю­
щих бесплатных хостинг. Может быть, помните адреса вида:
http :/lwww.chat.ru/-mypage?
Сейчас же все чаще используется технология виртуальных серверов, кото­
рую мы рассмотрели ранее, но знать, что такое каталоги пользователей и
·1111——————————————-··-···—·———·—-·—··—······-‘

1 1,1на 1- Н:11:1 po1ii-a Bl’0-1.’l’PBl’pa

как с ними работать, тоже не помешает. Тем более что домашние каталоги
настраиваются намного быстрее и проще, чем виртуальный сервер — нужно
всего лишь определить директиву UserDir и указать месторасположения до­
машних каталогов.
Доступ к файлам, расположенным в этих каталогах, производится с помо­
щью указания через наклонную черту пользователя после имени сервера.
Например, пусть имя сервера www.server.com, имя пользователя — mark,
тогда URL-aдpec будет выглядеть так:
http://www.server.com/~mark/

При этом сервер самостоятельно определит, где именно расположен домаш­
ний каталог пользователя. Если домашний каталог пользователя /home/mark,
то сервер передаст клиенту файл /home/mark/puЫic_htmVindex.html.

17.7. Оптимизация веб-сервера
Сервер Apache для каждого соединения запускает отдельную копию, кото­
рая будет обрабатывать запросы клиента. Управлять запущенными копиями
позволяют директивы StartServers, MinSpareServers, MaxSpareServers.
Директива StartServers задает количество копий, которые будут созданы
при запуске исходной копии сервера. При этом исходная копия сервера по­
лучает запросы и передает их свободным копиям. Это позволяет равномерно
распределить нагрузку между отдельными процессами и повысить произ­
водительность сервера, однако на практике все не так хорошо, как хотелось
бы. Существенного прироста производительности можно добиться только
в случае большой загрузки сервера. По умолчанию запускается пять копий
сервера.
Если число поступающих запросов превышает количество запущенных ко­
пий сервера, запускаются дополнительные процессы-серверы. Эти процессы
не завершаются после обработки своего запроса, а продолжают находиться в
памяти. Директива MaxSpareServers позволяет указать максимальное чис­
ло таких процессов. Если это количество превышено, то лишние процессы
завершаются. Если количество «серверов на подхвате» меньше, чем задано
директивой MinSpareServers, запускаются дополнительные копии.
Сервер Apache ведет журнал доступа других компьютеров. Если вы вклю­
чите директиву HostnameLookup (значение оп), то в журнал будет записано
‘-················································································1111

.st,·a l,in11x

1ASTRд»‘L1Nux·1

доменное имя компьютера-клиента: Если эта опция выключена (ojj), в жур­
нал будет записан IР-адрес клиента. Включение данной опции замедляет ра­
боту сервера, так как требуется дополнительное время на ожидание ответа
от сервера DNS. Поэтому из соображений оптимизации сервера директиву
HostnameLookup нужно выключить.

17.8. Защита сервера Apache
По окончании настройки сервера запретим изменение и удаление файла кон­
фигурации apache2.conf:
sudo chattr +i /etc/apache2/apache2.conf

После этого вы (и никто другой) не сможете изменить этот файл, даже с по­
мощью конфигуратора. Если изменить файл все же нужно, снимите атрибут:
sudo chattr -i /etc/apache2/apache2.conf

Не нужно, чтобы посторонние глаза смогли посмотреть, а руки — изме­
нить (и выполнить) файлы, находящиеся в каталогах /etc/apache2 и /var/log/
apache2:
sudo chmod 700 /etc/apache2
sudo chmod 700 /var/log/apache2

IIEI···························································-······················

Глава 18.

Подключение SSL­
сертификата

*
ASTRA LINUX

str-.1 l,i1111,

Хотим мы того или нет, но переход на https неизбежен. Активно стимулирует
владельцев к переходу на безопасную версию http компания Google — как
минимум, в адресной строке Chrome (да уже и других браузеров) будет
отметка о том, что соединение не защищено, как максимум, поисковые ре­
зультаты с сайта не будут появляться в так называемых rich snippets, что до­
вольно плохо для интернет-магазинов.

18.1. Заказ сертификата
Здесь все достаточно просто: выбор огромен и по сути, если вам нужен
просто значок «защищено» в адресной строке браузера, то все равно, у кого
купить SSL. Это можно сделать у вашего провайдера, у поставщиков непо­
средственно сертификатов вроде Comodo. Выбирайте сертификат по цене
— где предоставят более выгодные условия, там и покупайте.
Сертификаты отличаются не только вендором и ценой. При покупке серти­
фиката нужно обратить внимание на его тип, определяющий функционал
сертификата.
Три основных типа:

1118… —. —.—-.—.. —… -..—… —…-……………..-.. —……..—..—.. —..

l_1,шс1 IS llo,1к.1ю•1c1111cSSl,-ccp111ф11ю11:1

1. DV (Domain Validation) — используется для подтверждения домена.
Данный сертификат подтверждает, что пользователь находится именно
на том сайте, на который он осуществил переход, то есть такой серти­
фикат удостоверяет сервер, обслуживающий сайт. DV-сертификат не со­
держит информации о компании-владельце, поэтому не может считаться
безопасным для оказания коммерческих услуг. Если вы будете обраба­
тывать платежи, поступающие от ваших клиентов, самостоятельно, то
такой сертификат нельзя считать безопасным. Если же обработкой
поступающих платежей занимается другой сервис, например PayPal, а
ваш сайт только выполняет перенаправление на страницу покупки, то
можно обойтись DV-сертификатом. Если вы вообще ничего не продаете,
а вам нужен сертификат, чтобы слева от имени вашего сайта в браузере не
было строки Не защищено, то данный тип сертификата тоже подойдет.
2. OV (Organization Validation) — используется для подтверждения ор­
ганизации и домена. Сертификат этого типа позволяют подтвердить не
только доменное имя, но и организацию-владельца веб-сайта. Подлин­
ность организации проверяется по регистрационным данным юриди­
ческого лица, которые пересылаются провайдеру SSL-сертификата при
заказе ОV-сертификата. Такие сертификаты наиболее популярны на се­
годняшний день.
3. EV (Extended Validation) — служит для расширенного подтверждения
организации и домена. Данный сертификат обладает tамым высоким
уровнем доверия со стороны других узлов. Если вам нужна строгая кон­
фиденциальность передаваемых данных (например, обработка платежей
именно на вашем сайте), то вам нужен ЕV-сертификат.
Шифрование между браузером и сайтом обеспечивают все типы сертифика­
тов. Если вам нужно только организовать шифрование трафика по HTTPS,
вы можете выбрать любой тип сертификата. Как правило; выбирают DV как
самый дешевый.
У всех этих сертификатов есть дополнительные опции WildCard и SAN. Пер­
вая подтверждает домен и все его поддомены следующего уровня. То есть
можно купить сертификат DV с опцией WildCard для домена example.com и
использовать его для подтверждения не только example.com, но и всех его
поддоменов следующего уровня, то есть computers.shop.com, phones.shop.
com, software.shop.com и т.д.
Опция SAN подтверждает домены по списку, указанному при получении
SSL-сертификата.

,…—…—…-…-…-….-…. -.—-.. —…………… ·-…….. —.. —….. -. —1111

!’itra l,i1111x

ЕV-сертификаты заслуживают отдельного разговора, поскольку являются
самыми дорогими. Они подразумевают расширенную периодическую про­
верку данных владельца сайта для предотвращения подмены этих данных.
Так, если ОV-сертификат считается действительным на протяжении всего
своего срока, и проверка организации осуществляется только при покупке
сертификата, то в случае с ЕV-сертификатом такая проверка может осущест­
вляться несколько раз (с определенной периодичностью) на протяжении
всего срока действия сертификата.
Изначально все продаваемые SSL-сертификаты были типа OV, то есть под­
разумевали проверку данных организации. Но спрос рождает предложение,
и появились более дешевые DV-сертификаты с упрощенной проверкой, под­
разумевающей проверку только самого домена. Мошенники могут исполь­
зовать DV-сертификаты в своих целях — ведь при наличии такого сертифи­
ката браузер не будет предупреждать пользователя о возможных проблемах
с подлинностью сайта. Отчасти виновником этой проблемы стали браузеры,
требующие SSL-сертификат. В погоне за зеленым значком в адресной строке
многие стали покупать SSL-сертификаты, платить за OV никому не хочется
(да и иногда нет самой организации, которую нужно проверять, например,
когда сертификат покупает частное лицо для личного сайта), и провайдеры
SSL-сертификатов стали предлагать более дешевые DV-сертификаты.
При желании можно вообще не покупать SSL-сертификат. Вы можете
настроить бесплатный сертификат Let’s Encrypt и не платить ни копейки.
В этой главе будет показано, как это сделать. Для нашей цели — зеленый
значок в адресной строке — данного бесплатного сертификата вполне
достаточно. Единственный недостаток — его нужно перегенерировать каж­
дые 3 месяца. Но эту задачу можно поручить cron, поэтому можно сказать,
что сертификат SSL можно получить бесплатно. В следующем разделе будет
показано, как прописать полученный сертификат (без разницы — купили
вы его или получили бесплатно) в конфигурационных файлах веб-серверов
Apache и nginx, а затем будет рассмотрен процесс получения бесплатного
сертификата.

18.2. Настройка Apache
В результате заказа сертификата вам будут предоставлены два файла — SSL­
файл сертификата (расширение рет) и ключевой файл (расширение key).
Оба эти файла нужно поместить в каталог /etc/ssl.

1111————————. ———. ————. —-. ——————————.

1 1ава 1:-:. По,11,;,11о•н·111н· SSl,-ccp11 1ф11ю11a

Перейдите в каталог /etc/apache2/sites-availaЫe. В нем хранятся конфигура­
ционные файлы сайтов, работающих на вашем веб-сервере.
Откройте файл, содержащий конфигурацию сайта, для которого вы купили
сертификат. Далее представим, что наш сайт называется example.com. Кон­
фигурация для него будет следующей:

ServerName example.com
Redirect permanent / https://example.com/

ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com ххх.ххх.ххх.ххх
DocumentRoot /srv/www/example.com/ht docs
ErrorLog /srv/www/example.com/logs/error_log
CustomLog /srv/www/example.com/logs/access log comЬined env= !loopback
SSLEngine on
SSLCertificate /etc/ssl/example.pem
SSLCertificateKeyFile /etc/ssl/server.key

Разберемся, что и к чему. Сначала мы создаем виртуальный хост для порта
80, который будет работать как перенаправление — на https-вepcию сайта.
Можно было бы сделать это и через .htaccess, но поскольку у нас есть доступ
к конфигу сервера, то можно сделать это прямо здесь.
Далее мы описываем виртуальный хост для порта 443 (используется SSL).
Настройки такие же, как и для обычной версии сайта (ServerName,
DocumentRoot и т.д.). Отличие заключается только в наличии трех SSL­
директив. Первая включает SSL, вторая задает РЕМ-файл, третья — КЕУ­
файл (имена файлов, понятное дело, у вас будут отличаться).
После этого нужно сохранить файл конфигурации и перезапустить Apache:
sudo systemctl restart apache2.service

или (в зависимости от вашего дистрибутива)
sudo servic� apache2 reitart

•. ——. ———. ———.—.—..—.—..—.—..—. —.—..—.—-.—.—1111

*

,t,·a l.ilНI

1ASTRA LJNux·1

Обратитесь к вашему сайту. Если вместо надписи Не защищено появилось
изображение зеленого замка, то все хорошо и настройку можно считать за­
вершенной.
Примечание. Иногда замок отображается не зеленым, а серым
и не закрытым, а открытым. Это означает, что не все ресурсы
сайта загружаются по протоколу https. Откройте исходный код
страницы и произведите поиск по строке «http://» (без кавычек).
Ваша задача — найти адреса ресурсов (JS, CSS, картинок), кото­
рые загружаются по протоколу http. Исправьте URL проблемных
ресурсов на https:// и снова обновите страницу сайта. Если вы
все сделаете правильно, вы увидите зеленый замок соединения.

18.3. Настройка nginx
Когда сертификат уже есть, осталось дело за малым — настроить веб-сервер.
Переходим к нужному файлу конфигурации виртуального узла и приводим
его к виду:
server {
listen 443 ssl default_server;
listen 80;
server narne ;
ssl_certificate /пyть/fullchain.pern;
ssl certificate key /пyть/privkey.pern;
root /var/www/;
index index.php index.htrnl;
location /.well-known/acrne-challenge
root /var/www/;
# Другие параметры

Обратите внимание на следующие моменты:

1111 ……………………………………………………………………….

1 .1I*�
t�ra>l•�fio»‘)

о

=.,..•-,J,1J«>»»e,,.�­
,�-•…… ,,,,,
…� �»11″»

,1 .. *
IJ-ЫH&-SЦ@!-‘

:.

V’St!rvtr

S�tem

s»»»

Qo»‘ …

Websit(I Harddisk. Quota

Рис. 19. 7. ISPCon.fig

19.2.4. Ajenti
Бесплатная ПУ разработки Евгения Панькова. Разработчик отказался от под­
держки Apache, отдав предпочтение веб-серверу nginx.
Преимущества:
• Удобный функционал по управлению веб-серверами и сайтами.
• Модульная структура.
• Удобный интерфейс пользователя.
Недостатки:
• Нет поддержки Apache.
• Сложности с редактированием конфигурационных файлов.

/ 1,11, l ‘1 B1.1iiop 11 � l’ 1 allOlll,a llallt’. llt � 11().111. ll’IIIIII Cl’/)1l’/IOt

ajenti.org

+ADOW!OGП

LН:н.,лщ 12 04,2 LtS

Z

�(‘onf�uнt
0:l’!ui:пн

Е

� Hpt:im,r,

а,
,J�Но-н:»
i!!t.og•

• н

• н
• н
�l.>f1″V,iAH
f№MyiQt
Q«r,;1цx
QOp•nVf>N

Рис. 19.8. Ajenti

19.2.5. Рекомендации
Нужно определиться, какой продукт выбрать. Если инсталляция планирует­
ся на только что купленный сервер, где еще не установлено какое-либо ПО
(в т.ч. веб-сервер), неплохим вариантом будет VestaCP. Это удобная и
быстрая панель управления с удобным интерфейсом. Да, у нее нет бесплат­
ного файлового менеджера, но с этим можно мириться.
ISPConfig не подходит для индивидуальных проектов. Для небольшого
хостинг-сервера — отличный выбор, но для одного VDS ее функционал бу­
дет избыточным. Да и сложность установки говорит не в пользу ISPConfig.
Ajenti — неплохая и быстрая админка, но она не подойдет пользователям,
отдавшим предпочтение веб-серверу Apache. Если по тем или иным при­
чинам вам нужен Apache, эту панель можно сразу вычеркивать из списка
претендентов.
Webmin хороша тем, что она входит в состав любого дистрибутива Linux и
не привязывается к веб-серверу. Другими словами, установить ее достаточ­
но просто. В отличие от VestaCP, вам не придется возвращать сервер в состо­
яние сразу после установки (то есть удалять уже наверняка установленные

,

…….. ·-···········——····-··—····—···-·-·-·-··-· — -…………………….

st,·a l.inю:

(ASTRA*LINUX»)

и настроенные сервисы) для установки этой панели управления. Именно по
этой причине Webmin будет рассмотрена в следующем разделе.

19.3. Установка панели управления Webmin на
сервер
19.3.1. Знакомство с Webmin
Панель Webmin, как и VestaCP, является бесплатной. Вот только если под­
держка у VestaCP платная, но она есть, то у Webmin поддержки как таковой
нет — ни платной, ни бесплатной. Если у вас что-то не получилось, вы мо­
жете попросить помощи на форумах сообщества Webmin по адресу:
http ://www.webmin.com/community.html
К счастью, какие-либо сложности с настройкой и использованием Webmin
возникают редко, поэтому не думаю, что вам когда-либо придется познако­
миться с сообществом.
Возможности у Webmin типичные для панели управления Linux-cepвepoм:
управление учетными записями пользователей, настройка служб и серви­
сов, создание почтовых ящиков, мониторинг работы системы. В поставке
по умолчанию Webmin содержит более 500 различных скриптов, которые
можно использовать для настройки различных компонентов системы. Благо­
даря этим скриптам возможностей у Webmin будет больше, чем у VestaCP,
где некоторые модули, например, файловый менеджер, придется покупать
(50 долларов пожизненно или 3 доллара в месяц).

19.3.2. Установка Webmin
Первым делом установите файловый менеджер mc, чтобы было удобнее
работать, в том числе изменять содержимое конфигурационных файлов.
Откройте терминал или подключитесь к серверу по ssh и введите команду:

sudo apt install mc

. . . . . . .. . . . . . . . .. . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . . . .. . . .. . .

Гтша 19 Выбор и �с• анов�,:а 11а11е.111 у11рав.1е111111 сервсро,1

Далее нам нужно подключить репозитарий с webmin. Для этого откройте
файл /etc/apt/sources.list и добавьте в него строки:
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.eo.uk/repository sarge
contrib.

Добавьте GРG-ключ:
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Осталось обновить списки пакетов и установить пакет webmin:
sudo apt-get update
sudo apt install webmin

Чтобы веб-интерфейс мог беспрепятственно работать, нужно обновить пра­
вила брандмауэра (разрешить порт 10000):
sudo ufw allow 10000

Собственно, на этом все. Панель управления Webmin установлена.

19.3.3. Вход в панель управления
Запустите браузер и введите адрес:
https://ip адрес сервера:10000

Браузер сообщит, что сертификат SSL не является доверенным, добавьте со­
ответствующее исключение в браузер (рис. 19.9). После этого вы увидите
форму входа — используйте имя пользователя и пароль с привилегиями root
(рис. 19.10) .
……. ………….. …………… ……………………. ……………. .. ..

.stп1 l,irшx

О ln,;.ecure conne

Загрузка дистрибутива ОС

Загрузите ISO-образ операционной системы Astra Linux Common Edition с официального сайта производителя https://astralinux.ru/ — на странице выберите Astra Linux Common Edition операционная система общего назначения, Релиз «Орел».
Последняя на момент написания статьи версия Astra Linux Common Edition это 2.12.

Запишите загруженный ISO-образ на установочный носитель (DVD-диск / USB-флешку).

По вашему запросу компания ИТРИУМ может предоставить дистрибутив операционной системы.

Установка операционной системы

  1. Загрузите целевой компьютер/сервер с подготовленного установочного носителя.
  2. Выберите язык загрузчика (выберите English).
  3. Запустите процесс установки. 
  4. Выберите язык интерфейса процесса установки (выберите English). Нажмите Continue (Продолжить).
  5. Выберите локаль, используемую по-умолчанию (выберите United States — en_US.UTF-8). 

  6. Примите лицензионное соглашение. 
  7. Задайте раскладку клавиатуры.
  8. Задайте имя компьютера (hostname) и полное имя пользователя.
         
  9. Задайте пароль пользователя.
  10. Уточните часовой пояс.
  11. Задайте разметку дисков.

    ВАЖНО

    Системными требованиями обусловлено наличие выделенного под ОС диска. В этом случае используйте опцию Guided — use entire disk (Использовать весь диск).

    При наличии одного физического диска (не рекомендуемый вариант), необходимо создать как минимум два логических раздела на данном диске — для операционной системы и для данных (медиаданные, резервные копии и др.). Для этого выберите Вручную и выделите под раздел операционной системы только часть носителя. Раздел для данных можно создать как на данном этапе, так и впоследствии — см. раздел Подготовка накопителей.

              

  12. Выберите Finish partitioning and write changes to disk, затем подтвердите ваш выбор.
         
  13. В списке устанавливаемых компонентов оставьте Fly desktop и SSH server.
  14. В списке дополнительных настроек ОС не рекомендуется отмечать какие-либо позиции..
  15. Согласитесь на установку загрузчика операционной системы GRand Unified Bootloader (GRUB) и укажите устройство для установки GRUB (/dev/sda).
         
  16. Дождитесь окончания процесса установки и извлеките установочный диск для загрузки ОС.

  17. Перезагрузите сервер, затем войдите в систему под пользователем user.
         

Настройка сетевых параметров

Для корректной работы требуется фиксированный IP-адрес сервера. Задайте сетевые параметры вручную или используйте DHCP, который всегда для данного MAC выдаёт один и тот же IP-адрес.

Подробная инструкция по настройке сети приведена в документации на операционную систему: https://wiki.astralinux.ru/pages/viewpage.action?pageId=3277370. Ниже приведена краткая инструкция по ручной настройке одного фиксированного IP-адреса для одного сетевого интерфейса.

  1. Отключите network-manager. Для этого, откройте терминал Fly и выполните следующую команду:

    sudo apt remove network-manager -y

    После отключения network-manager перезагрузите систему.

  2. Откройте терминал Fly и выведите список подключённых сетевых устройств:

    В тексте вывода обратите внимание на первую строку:

    eth0: flags=4098<BROADCAST,MULTICAST> mtu 1500

    eth0 — это и есть искомое имя сетевого интерфейса.  Сетевые интерфейсы могут иметь и другие имена. В результате eth0 может называться, например enp0s3 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.

  3. Рассмотрим пример настройки одного сетевого интерфейса со статическим IP-адресом. Выполните команду открытия файла /etc/network/interfaces в текстовом редакторе:

    sudo nano /etc/network/interfaces
  4. Допишите блок кода (вместо eth0 впишите имя вашего интерфейса):

    auto eth0
    iface eth0 inet static
    address 10.1.29.37
    netmask 255.248.0.0
    gateway 10.0.1.1
    dns-nameservers 10.1.31.1

    Где:

    • auto eth0 — флаг автоматического включения сетевого интерфейса eth0 при загрузке системы;

    • iface eth0 inet static — интерфейс (iface eth0) находится в диапазоне адресов IPv4 (inet) со статическим ip (static);

    • address 10.1.29.37 —  IP адрес (address) сетевой карты; 

    • netmask 255.248.0.0 — маска подсети (netmask);

    • gateway 10.0.1.1 — адрес шлюза (gateway);

    • dns-nameservers 10.1.31.1 — адреса DNS серверов;

  5. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.

  6. Перезагрузите систему:

Настройка репозиториев

Для установки необходимых системных компонентов необходимо произвести настройку репозиториев Astra Linux.

  1. Выполните команду открытия файла /etc/apt/sources.list в текстовом редакторе:

    sudo nano /etc/apt/sources.list
  2. Измените блок кода и приведите его к следующему виду:

    deb http://mirror.yandex.ru/astra/stable/orel/repository/ orel main contrib non-free
  3. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.

Установка системных компонентов

Для работы Платформы НЕЙРОСС необходимо установить и настроить Java 1.8 (ГосJava) и некоторые системные утилиты (ntpdate и др.). Приведённые ниже инструкции предполагают, что у целевой операционной системы корректно настроен сетевой интерфейс и есть доступ в сеть Интернет. В отсутствие доступа в сеть Интернет вы можете загрузить необходимые deb-пакеты, перенести их на целевую систему и установить их вручную.

Установка ГосJava

  1. Создайте файл /etc/apt/sources.list.d/gosjava.list:

    sudo nano /etc/apt/sources.list.d/gosjava.list
  2. Добавьте в него следующую строку:

    deb http://packages.lab50.net/gosjava/ce211 gosjava main
  3. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.

  4. Добавьте цифровой ключ подписи в APT.

    sudo wget -qO - http://packages.lab50.net/lab50.asc | sudo apt-key add -
  5. Выполните:

    sudo apt update
    sudo apt install gosjava-jre

    Проверить корректность установки java вы можете с помощью команды:

Установка необходимых системных компонентов

Установка и настройка NTP-сервера

Все узлы сети НЕЙРОСС должны быть синхронизированы по времени. Для этого каждый узел выполняет периодическую синхронизацию времени с NTP-сервером, адрес которого задан в настройках узла.

Платформа НЕЙРОСС автоматически выполняет синхронизацию времени с указанным в настройках NTP-сервером. Если сервер Платформы НЕЙРОСС должен сам выступать в роли NTP-сервера для других узлов НЕЙРОСС, то необходимо установить системный сервис NTP-сервера.

  1. Проверьте, правильно ли установлена временная зона:

    При необходимости, выполните перенастройку:

    sudo dpkg-reconfigure tzdata
  2. Установите демон NTP-сервера:

    sudo apt update
    sudo apt install -y ntp
  3. Если сервер должен быть основным источником времени (должен «доверять» сам себе), то отредактируйте файл /etc/ntp.conf в текстовом редакторе:

  4. Поместите следующее содержимое в файл /etc/ntp.conf:

    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
  5. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
  6. Перезапустите сервис: 

    После переконфигурации NTP-сервера может потребоваться 10-15 минут, чтобы применить новые настройки. В течение этого времени синхронизация с этим NTP-сервером может быть всё ещё недоступна.

Подготовка накопителей

Для обработки медиаданных (импорта, экспорта и пр.) требуется хотя бы один накопитель. В роли накопителей в Платформе НЕЙРОСС выступают разделы (partitions) на жёстких дисках. Платформа НЕЙРОСС использует все смонтированные разделы с файловыми системами типов Ext4, Ext2, NTFS, VFAT за исключением корневого раздела (смонтированного в /), однако для медиаданных рекомендуется выделить отдельный физический диск/диски.

В подавляющем большинстве случаев достаточно простого физического подключения диска, но иногда требуется смонтировать раздел для диска вручную.

  1. Выполните физическое подключение диска и загрузите операционную систему.
  2. Выполните поиск всех доступных дисков и разделов:

    Название жёсткого диска в Linux зависит от интерфейса, через который он подключён. Название может начинаться на:
    sd — устройство, подключённое по SCSI (сюда входят жёсткие диски, USB-флешки и ATA-диски, которые подключаются к SCSI через специальный переходник);
    hd — устройство ATA;
    vd — виртуальное устройство;
    mmcblk — обозначаются флешки, подключённые через картридер;
    Третья буква в имени диска означает его порядковый номер в системе: sda — первый диск, sdb — второй диск, sdc — третий и так далее. Дальше следует цифра — это номер раздела на диске — sda1, sda2.
    Пример вывода команды (два диска: sda и sdb, диск sdb не имеет таблицы разделов):

  3. Создайте точку монтирования раздела:

    Где:

    /storage — путь монтирования раздела (media имя каталога для медиафайлов).

  4. Отформатируйте диск в файловую систему ext4 с помощью утилиты mkfs:

    Где:
    /dev/sdb — форматируемый диск.

  5. Смонтируйте раздел:

    sudo mount /dev/sdb /storage

    Где:
    /dev/sdb — монтируемый диск;
    /storage — выделенный раздел для диска.

  6. Перезагрузите систему:

По завершении настройки ОС выполните следующие шаги:

  • Установка и настройка СУБД PostgreSQL
  • Установка Платформы НЕЙРОСС вручную

М. Д. Матвеев  

Linux   Современные российские издания   Учебники и самоучители по компьютеру  

Astra Linux (pdf) Добавлена: 23.11.2022 Версия: 1.009.
ISBN: 978-5-907592-07-0 ББК: 32.973 УДК: 004.42
Издательство: Наука и Техника
Город: Санкт Петербург

Поделиться:

  (ссылка для форума)  
  (ссылка для блога)  
  (QR-код книги)  

Аннотация

Astra Linux — дистрибутив специального назначения на базе ядра Linux, созданный для комплексной защиты информации и построения защищен­ных автоматизированных систем. Основан на Debian 1О, поэтому если вы до этого работали с DeЬian или UЬuntu, то большая часть ваших знаний применима и к Astra Linux Эта операционная система хороша тем, что с высокой эффективностью ее можно использовать как на персональных компьютерах (для личного пользования), так и серверах различного уровня. Также эта система поддерживается и мобильными устройствами.
Эта книга поможет вам освоиться в Astra Linux достаточно быстро и просто: начиная от самых основ (установка системы, начальная конфигурация, основы командной строки) мы перейдем к настройке различных видов сети (локальная сеть, Wi-Fi, VPN- и DSL-соединения), установке различных программ и запуску Windows-приложений. Также рассмотрим файловую систему, управление хранилищем, загрузкой ОС и процессами. В заключительной части книги для уже чуть более опытных пользователей Linux будут рассмотрены настройка и подключение веб-сервера.
Книга будет полезна как начинающих линуксоидам, так и более опытным пользователям, которые хотят познакомиться с Astra Linux поближе.

Рекомендации:

эту книгу рекомендовали 0 пользователей.
Прежде чем рекомендовать книгу, хорошо подумайте. Рекомендация — это высшая оценка, которую вы можете выставить книге. 10 по 5-балльной шкале.

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Ориентированный на отношения стиль руководства
  • От чего помогает скипидарная мазь инструкция по применению отзывы
  • Ко перинева 0 625 мг 2мг инструкция по применению отзывы
  • Должностная инструкция уборщик территории в доу
  • Норваск 5 инструкция по применению при каком давлении отзывы взрослым

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии