ЧАСТЬ VI Cистемное администрирование Урок 26. Нештатные ситуации Урок 27. Процесс загрузки системы Урок 28. Системные службы Урок 29. Выполнение команд по расписанию Урок 30. Автоматизация задач
УРОК 26 Нештатные ситуации Разбор нештатной ситуации. Восстановление пароля root. Чтение логов. 26.1. Разбор нештатной ситуации Начнем сразу с практического примера. На рис. 26.1 показано, что при загрузке системы возникла нештатная ситуация, а именно — отказался монтироваться один из накопителей. Система сообщает, что перешла в аварийный режим (emergency mode) и предлагает ввести пароль root для входа и ручного исправления ошибок или же нажать комбинацию клавиш <Ctrl>+<D> для продолжения загрузки в обычном режиме (если отказался монтироваться несистемный раздел, то загрузка системы возможна, но данные на том разделе будут недоступны). Аварийный режим и режим восстановления Если система обнаружит неисправность в процессе загрузки, она перейдет в аварийный режим (emergency mode). Если же вы сами знаете, что есть неисправность, вы можете сразу загрузить режим восстановления (recovery mode), выбрав его при загрузке ОС в меню загрузчика. Для пользователя эти режимы ничем не отличаются. При входе в оба режима нужно указывать пароль root, после входа откроется командная строка с правами root и ничего больше. Никаких графических средств восстановления запущено не будет, поэтому названия разные, суть одна. О пароле root У нас с вами есть небольшая нестыковочка. Если вы не задавали пароль root, то вы его не знаете, следовательно, и ввести его не можете. Очень хорошо, если вы, прочитав это примечание, заранее установите пароль root командой sudo passwd root, и тогда вам не придется ломать голову, когда чрезвычайная ситуация произойдет. А вот если не установите, вам придется тогда еще и восстанавливать пароль root. Итак, войдя в аварийный режим, введите команду: journalctl –xb
352 Часть VI. Cистемное администрирование Рис. 26.1. Нештатная ситуация Эта команда покажет последние загрузочные сообщения, и среди них будет информация о возникшей ошибке. В зависимости от полученной информации, придется предпринять какие-то действия. В нашем случае, поскольку ошибка возникла во время монтирования накопителя, поможет команда: systemctl status mnt-sdb1.mount ПОЯСНЕНИЕ Фрагмент sdb1 в этой команде нужно заменить на имя устройства вашего накопителя. В выводе этой команды (рис. 26.2) видно, что система пытается смонтировать несуществующую файловую систему ex4. Такой файловой системы не существует — очевидно, в файле /etc/fstab была допущена ошибка. Открываем его и редактируем (рис. 26.3): вместо ex4 нужно указать ext4 и сохранить файл. После этого перезагрузите компьютер командой rebooot.
Урок 26. Нештатные ситуации 353 Рис. 26.2. Состояние монтирования устройства sdb1 Рис. 26.3. Редактирование файла /etc/fstab
354 Часть VI. Cистемное администрирование ПРИМЕЧАНИЕ Приведенная здесь чрезвычайная ситуация была специально сымитирована. На практике вам предстоит бороться с реальными отказами. Если вы еще не прочитали урок 18, сделайте это прямо сейчас — разд. 18.3 содержит информацию об утилите fsck, которая используется для проверки файловой системы. 26.2. Восстановление пароля root В штатном режиме установить пароль root можно так: 1. Войти как пользователь-администратор. 2. Открыть терминал (или войти в консоль). 3. Ввести команду: sudo passwd root. Но встречаются сложные ситуации, когда система не загружается полноценно, доступен только аварийный режим, а пароль от root вы не помните. Тогда следует поступать так: 1. Перезагрузите компьютер. 2. В меню загрузчика нажмите клавишу <e> — откроется экран редактирования конфигурации загрузочной метки. 3. Найдите ключевое слово linux и в конце строки добавьте пробел и строку init=/bin/bash, как показано на рис. 26.4. Рис. 26.4. Редактирование конфигурации загрузчика
Урок 26. Нештатные ситуации 355 Рис. 26.5. Консоль с правами root 4. Нажмите клавишу <F10> для загрузки системы с заданной конфигурацией — вы увидите консоль с правами root (рис. 26.5). 5. Введите команду passwd root для смены пароля. Аналогичным образом можно сменить пароль другого пользователя, а также командой adduser добавить нового пользователя. 6. Введите команду reboot для перезагрузки. Теперь у вас есть «ключи от системы», и вы можете делать с ней всё, что вам захочется. ВНИМАНИЕ! Да, так взломать можно любую систему, на которой установлена Astra Linux. Минимальной защитой может послужить пароль загрузчика GRUB — вы не сможете отредактировать загрузочную метку, если не знаете этого пароля. Но никто не мешает злоумышленнику загрузиться с LiveCD/LiveUSB и сбросить пароль root. Поэтому единственная надежная защита данных — это их шифрование. 26.3. Чтение логов В любой UNIX-подобной системе, коей является и Linux, имеются так называемые демоны протоколирования (далее просто «демоны»). Демоны записывают в протоколы (журналы, логи) сообщения, генерируемые ядром, сервисами, пользовательскими программами. Если вы уже работали с Linux, то знаете, что ранее протоколирование системы осуществляли демоны syslogd и rsyslogd. Сейчас же все устроено немного иначе — во многих современных дистрибутивах протоколированием системы занимается сама система инициализации systemd, а точнее, ее сервис systemd-journald.service. При этом запрос системного лога (журнала) организуется через утилиту journalctl. Вот, что нужно знать о протоколировании в современных дистрибутивах: все журналы по-прежнему хранятся в каталоге /var/log; серверы (WWW, FTP и пр.) могут создавать собственные каталоги/файлы журналов в каталоге /var/log;
356 Часть VI. Cистемное администрирование для просмотра системных журналов служит утилита journalctl — привычные файлы вроде /var/log/messages больше недоступны. Конечно, вы можете параллельно установить демон rsyslogd, и он будет прекрасно работать в паре с journalcrl. Однако у journalctl гораздо больше возможностей — например, с помощью опции –b можно просмотреть логи текущей или предыдущей загрузки. Некоторые возможности утилиты journalctl рассмотрены в этой книге, а с остальными вы сможете ознакомиться в справочной системе. 26.3.1. Установка времени Первое, что нужно сделать, — это установить правильный часовой пояс. Основной недостаток syslogd/rsyslogd заключался в том, что эти демоны сохраняли записи в журнале без учета часового пояса, и было непонятно, когда именно произошло то или иное событие. В journalctl этот недостаток устранен — можно использовать как местное время, так и UTC. Для выбора часового пояса служит команда: $ timedatectl set-timezone <часовой пояс> Просмотреть список часовых поясов можно командой: $ timedatectl list-timezones Просмотреть информацию о текущем часовом поясе можно командой: $ timedatectl status 26.3.2. Просмотр и фильтрация логов Для просмотра логов введите команду sudo journalctl — будет выведен огромный список различных записей. Использовать команды постраничного вывода вроде more нет необходимости, поскольку подобные средства просмотра журнала уже встроены в саму утилиту journalctl (рис. 26.6). Обратите внимание на самую первую строку — она говорит, с какого момента начинается ведение логов. Как правило, это дата установки системы. Понятно, что с самого начала будет очень много записей, и их как-то нужно фильтровать. 26.3.3. Фильтр по дате Фильтрацию журналов можно выполнить и по дате — для этого используются опции --since и --until. Например, для просмотра логов начиная с 11.10.24 7:00 введите команду: $ journalctl --since "2024-10-11 07:00:00" Если вы указали опцию --since, но не указали дату, будет взята текущая дата. Если указана дата, но не указано время, будет взято время 00:00:00.
Заключение В книге были рассмотрены основные моменты использования дистрибутива Astra Linux — от его установки до ряда операций по системному администрированию. Книга не претендует на полное руководство по этому замечательному дистрибутиву, однако предлагает читателю базовый уровень знаний, позволяющий без особых проблем перейти на него уверенному Windows-пользователю. В завершение надо отметить главные преимущества и недостатки дистрибутива Astra Linux. К преимуществам можно смело отнести простоту установки и использования, понятную панель управления, а также системы МКЦ и МРД в редакции Special Edition. Недостатков, к сожалению, больше. Основной недостаток — не очень современные версии системных библиотек, входящих в состав дистрибутива, и с этим вы столкнетесь при установке стороннего ПО — оно может попросту не работать. Указанная проблема отчасти решается посредством снапов, и это хорошая новость. Второй недостаток — архаичность интерфейса Fly. Он хотя и достаточно удобный, но напоминает интерфейс систем начала 2000-х, — особенно на фоне современных версий KDE и GNOME. В книге показано, как выжать из Fly хоть что-то полезное, но это практически максимум. Если вы работали с другими дистрибутивами и видели их интерфейсы пользователя, Fly вам не очень понравится. Есть у Astra Linux и множество мелких недостатков — вроде невозможности подключения к системе iPhone по кабелю, хотя при этом Android-смартфон подключается без проблем (но, возможно, это проблема iPhone?). Однако дистрибутив развивается, и будем надеяться, что в скором времени все эти неприятные моменты будут исправлены разработчиками.
Предметный указатель A Astra Linux Common Edition 11 Astra Linux Special Edition 11 D DEB-пакеты 127 DHCP-сервер 87, 105 DNS-сервер 91, 93 DOS 248 F firewall 115 G GRUB2 364 I IP-адрес 87, 91–93 L LiveCD 278 N NAT 115 R RPM-пакеты 127, 129 S SGID 288 SUID 288 Synaptic 133 V Virtual File System 315 VPN (англ. Virtual Private Network, виртуальная частная сеть) 95, 96 ◊ VPN-доступ 95 ◊ VPN-соединение 96 W Wine 237–240 А Аварийный режим 351, 354 Автодополнение 77 Автозамена 163–165 Автозаполнение ячеек 181 Автоматизация выполнения задач 376 Автоматическое монтирование 337, 338 Адаптер Wi-Fi 90 Аудиомикшер KMix 192 Аудиоплеер Clementine 192–194 Аудиоредактор Audacity 192 Б Беспроводные сети 89 Блочные устройства 248 Брандмауэр 115 ◊ iptables 117 ◊ UFW 117 В Версия ядра 37 Видеовыходы 339 Виртуальная ◊ машина 16, 18–20, 23, 29, 46 ◊ файловая система 315 proc 315 sysfs 315 ◊ частная сеть (VPN) 12 Виртуальный компьютер 16, 18, 23, 29, 46 Владелец файла/каталога 283 Внешний жесткий диск 333 Восстановление загрузчика GRUB/GRUB2 367 Г Гостевая операционная система 19, 23 Графический ◊ VPN-клиент 97 ◊ интерфейс Fly 16, 38 ◊ конфигуратор брандмауэра 121 ◊ менеджер пакетов Synaptic 130 ◊ файловый менеджер 250 Д Демон 370, 371, 375 ◊ протоколирования 355 Диск гибкий 267 Длинные имена дисков 273 Домашний каталог 252 Драйвер ◊ видеокарты 341 ◊ принтера 324, 329
Предметный указатель 399 Ж Жесткая ссылка 253 З Загрузочная флешка 16, 42 Загрузчик ◊ GRUB 40, 47, 48, 360, 362– 364, 367, 368 ◊ GRUB2 360–369 ◊ LILO 360 Зашифровать каталог 307, 308 Защита загрузчика паролем 364 И Идентификаторы udev и UUID 267 Изменение таблицы маршрутизации 110 Индексный дескриптор inode 253, 255, 256 Инструменты ◊ выделения GIMP 206, 208, 209, 216 ◊ преобразования GIMP 206 ◊ рисования GIMP 206 ◊ цвета GIMP 206, 218 Интернет-браузер Chromium 143, 153 Интерфейс SATA 332 Информационные proc-файлы 319 К Каталог ◊ /etc/skel 298 ◊ /var/cache/apt/archives 131 ◊ домашний 252 ◊ признак каталога 284 ◊ родительский 252 ◊ текущий 251 Квотирование 304 Кодеки 195, 196 Команда ◊ adduser 296 ◊ alias 385 ◊ apt-get 130 ◊ cat 249 ◊ cd 251 ◊ chmod 285 ◊ chmod +x 387 ◊ chown 288 ◊ chroot 278 ◊ clear 79 ◊ configure 128 ◊ cp 250 ◊ dd 279 ◊ df 79 ◊ exit 296 ◊ find 256, 288 ◊ free 79 ◊ fsck 272, 277 ◊ gpart 278 ◊ groupadd 299 ◊ grub-mkconfig 363 ◊ grub-mkpasswd-pbkdf2 365 ◊ hdparm 278 ◊ ifconfig 78, 103, 112 ◊ less 83, 250 ◊ ln 254 ◊ locate 250, 257, 279 ◊ ls 251, 284 ◊ make 128 ◊ mkdir 251 ◊ mkfs 277 ◊ more 83 ◊ mount 266, 271, 276, 278 ◊ mv 250 ◊ netstat 108 ◊ ping 112 ◊ rm 250, 251 ◊ rmdir 251 ◊ route 108, 109 ◊ su 110, 296 ◊ sudo 26, 43, 104, 105, 110, 112, 239, 266, 294 ◊ tac 250 ◊ top 80 ◊ touch 249 ◊ umask 283 ◊ umount 266, 276 ◊ unzip 263 ◊ update-grub 363 ◊ w 80 ◊ which 250, 257 ◊ who 80 ◊ whoami 80 ◊ winecfg 239 ◊ zip 263 Командная оболочка bash 384 Консоль 75, 76, 79, 250, 292, 341, 346, 354, 355 Консольный клиент openvpn 97 Конфигурационный файл ◊ bash 385 ◊ GRUB2 361 Концепция модулей 372 Корневая файловая система 265, 266 Криптографическая файловая система eCryptfs 307 Л Логические диски 267 Логический раздел 35 М Мандатное управление доступом (МРД) 43 Мандатный контроль целостности (МКЦ) 42, 43 Маршрутизатор 87, 116 ◊ Wi-Fi 95 Маршрутизация 107 ◊ пакетов 107 Маска имени файла 251 Массивы 390 Медиаплеер VLC 192, 195–197 Менеджер ◊ Synaptic 150 ◊ печати Fly 324, 329 Модель OSI 109 Модуль ntfs-3g 271 Монтирование 265, 266, 269, 270 Мягкая ссылка 253 Н Набор приложений iCloud for Linux 233, 234 Настройка ◊ VPN с помощью Network Manager 100 ◊ межсетевого экрана 115 О Область параметров инструмента GIMP 207 Облачный диск iCloud 234 Оператор ◊ case 391, 392 ◊ if 391 Основные особенности systemd 373 Офисный пакет LibreOffice 159 П Пакет 127 ◊ зависимости 128 ◊ конфликты 129 Панель ◊ Toolbox 227 ◊ быстрого запуска 56 ◊ запуска 56 ◊ инструментов GIMP 198, 206, 207, 210, 212, 218, 223 ◊ инструментов менеджера 258
400 Предметный указатель Параллельный запуск сервисов 371 Параметры печати 329, 331 Первичный раздел 35, 267 Передача файлов 226 Переменные 388 ◊ окружения 388 ◊ специальные 389 Перенаправление ввода/вывода 77 Пир 156, 158 Планировщик ◊ anacron 376 ◊ заданий 395 Плеер Qmmp 192, 194, 195 Политики брандмауэра 118 Пользователь root 50, 291, 295, 296, 298 Права доступа 283 Правила маршрутизации 107 Преобразование сетевого адреса 115 Привилегия root 293 Приложение ◊ Ark 230 ◊ iCloud Calendar 234 ◊ iCloud Contacts 234 ◊ iCloud Find My iPhone 234, 236 ◊ iCloud Photos 234 ◊ k3b 192 ◊ Терминал Fly 75 Проброс порта 121 Программа ◊ /usr/sbin/grub-mkconfig 361 ◊ Acronis True Image 16 ◊ AirDroid 226–228, 236 ◊ AOMEI Backupper Standard 16 ◊ apt 147 ◊ QApt 147, 148 ◊ qBittorrent 154 ◊ The Bat! 158 ◊ Thunderbird 158 ◊ VMware Workstation 18 ◊ управления пакетами apt 130 Псевдофайловая система 315 ◊ proc 319 ◊ sysfs 315 Р Работа с консолью 250 Раздел ◊ для загрузчика 31 ◊ загрузчика 33 ◊ подкачки 31, 33, 268 Размонтирование 266, 272 Разрешение зависимостей 131, 138 Расширение имени файла 247 Расширенный раздел 267, 268 Регулятор громкости Pulse Audio 192, 197 Редактирование ◊ конфигурации GRUB2 363 ◊ параметров загрузки 47 Редактор изображений GIMP 198 Редакция ◊ Common Edition 15, 16, 42 ◊ Special Edition 15 Режим ◊ восстановления 24, 351, 359 ◊ командной строки 75 Репозиторий 129 Роутер 87 Ручная разметка диска 29 С Сервис ◊ Network Manager 104 ◊ systemd-journald.service 355 Сетевые интерфейсы 103 Сеть ◊ Wi-Fi 94 ◊ отказ работы 112 Символическая ссылка 253, 254, 256 Символьные устройства 248 Система инициализации ◊ init 370 ◊ systemd 355, 372 Скрытые сети 91 Словарные слова 26 Служба 370 Снапы 127, 137, 138 Сокет сервиса 371 Специальные права доступа 288, 289 Справочная система Linux 77 Сценарий 387–390, 393–396 Т Таблица ◊ маршрутизации 108–110 ◊ разделов 333, 335 Текстовый процессор LibreOffice Writer 159 Терминал 78, 79 ◊ Fly 98 Технология виртуализации VMware 11 Тип файловой системы 335 Торрент-трекер 153, 155 Точка монтирования 266, 270, 273 У Уровень защищенности ◊ «Воронеж» 42 ◊ «Орел» 42 ◊ «Смоленск» 42 Установка программ из исходных кодов 128 Утилита ◊ fdisk 267, 333 ◊ GParted 267, 333, 334 ◊ Grep 317 ◊ Gwenview 198, 199, 203 ◊ journalctl 355 ◊ Rufus 16, 17 ◊ systemctl 373 Ф Файл ◊ .bash_history 385 ◊ /etc/anacrontab 377 ◊ /etc/apt/sources.list 130 ◊ /etc/default/grub 361 ◊ /etc/fstab 271 ◊ /etc/group 299 ◊ /etc/passwd 297 ◊ /etc/profile 384 ◊ /etc/shadow 298 ◊ /proc/filesystems 315 ◊ ~/.bash_logout 384 ◊ ~/.bash_profile 384 ◊ ~/.bashrc 384 ◊ ISO-образа 276 ◊ конфигурации xorg.conf 341 ◊ подкачки 31 ◊ права доступа 284 ◊ устройства 248 Файловая система eCryptfs 307 Файловый менеджер 256, 258 Файлы устройств 248 Фильтрация пакетов 116 Флеш-память 269 Ц Цепочка правил брандмауэра 116 Цикл ◊ for 390 ◊ while 391 Ш Шлюз 115 ◊ по умолчанию 107 Э Эффект красных глаз 203