Как подготовиться к LFCS (мой опыт)

Linux Foundation Certified System Administrator (LFCS) — это не просто теоретический тест, это практический, основанный на производительности экзамен, который проверяет твои реальные навыки работы с командной строкой. Это именно то, что нужно для администратора.

Мой опыт в кибербезопасности уже дал мне критически важную основу:

  • Глубокое понимание сетей (благодаря CCST Network).
  • Знание безопасности систем (благодаря CCST Cybersecurity и ISC2 CC), а Linux — это сердце многих защищённых систем.
  • Навыки работы с инструментами (благодаря Ethical Hacking).

Почему LFCS, а не LPIC/RHCSA?

Самое важное, что отличает LFCS от многих других сертификатов, особенно от LPIC, это его практический формат. LFCS (Linux Foundation Certified System Administrator) — это экзамен на производительность (Performance-Based). Тебе дают доступ к реальной командной строке Linux, и ты должен выполнить ряд конкретных задач по администрированию системы. Ты должен не выбрать правильный вариант из списка, а самостоятельно решить проблему, что гораздо ближе к реальной работе системного администратора. Твои знания проверяются на деле.

Конечно, у LFCS есть и свой минус, который стоит упомянуть. Срок действия сертификата всего 2 года, после чего его нужно продлевать. Это довольно мало по сравнению с некоторыми конкурентами.

Не буду лукавить, в момент выбора свою роль сыграл и финансовый аспект. Сертификаты — это всегда инвестиция, и часто довольно дорогая (обычная цена LFCS колеблется около 400 евро). Мне повезло: 1 декабря стартовала ежегодная Кибернеделя от Linux Foundation, и цена на экзамен была снижена более чем вдвое! Я смогла приобрести ваучер всего за 198 евро вместо полной стоимости (в стоимость входит 2 попытки сдачи экзамена + 2 симуляции перед экзаменом).

В итоге, LFCS предложил идеальное сочетание: акцент на реальной практике, который мне был необходим, и отличная цена, которая сделала его самой привлекательной опцией в тот момент.

Подготовка

Шаг 1. Я прошла курс на Coursera — Linux Foundation Certified System Administrator (LFCS) Specialization Certificate. Он состоит из 9 модулей. В курсе говорится, что его можно пройти за 8 недель, если заниматься по 5 часов в неделю. Не рассчитывай на этот срок, это только время просмотреть видео с курса. Чтобы проходить нормально и качественно, у меня ушло порядка 8 недель по 4-5 часов в день. Итого около 200 часов.

Шаг 2. Тут я уже купила ваучер на экзамен за 198 евро (спасибо, Кибер неделя, что нчалась именно сегодня). Сегодня получается 2-ое декабря, и я запланировала пойти сдавать в первую неделю января. То есть у меня есть ещё месяц чтобы «испачкать руки» в командной строке. Практика, практика и еще раз практика — здесь как нигде, это утверждение является ключом к успешной сдаче. Важная часть подготовки: научиться свободно пользоваться Man pages (руководством) и командой apropos (которая ищет ключевые слова по всем Man-страницам), так как запомнить все опции команд невозможно. И вот с этого шага, я хочу вести полный лог по подготовке, возможно и тебе это станет полезным.

Шаг 3. Последний этап подготовки — курс от Джереми Морган и Александру Андрей (Jeremy Morgan, Alexandru Andrei). Отзывы на их курс одни из самых лучших.

Модуль 1. Введение

Учебная Программа (5 Доменов Знаний)

Курс охватывает все темы, необходимые для экзамена LFCS, в рамках пяти основных доменов:

  1. Essential Commands (Основные Команды)
    • Вход в систему Linux и работа с файлами и каталогами.
  2. Operations Deployment (Развертывание Операций)
    • Изучение процесса загрузки системы (boot process).
    • Автоматизация задач и управление критически важными ресурсами и процессами.
  3. Users and Groups (Пользователи и Группы)
    • Создание, управление учетными записями пользователей и групп.
    • Установка квот ресурсов и настройка расширенных опций аутентификации.
  4. Networking (Сеть)
    • Работа с сетевыми службами.
    • Маршрутизация (routing) и пакетная фильтрация (packet filtering). (Это напрямую связано с твоими знаниями в сфере сетевой безопасности).
  5. Storage (Хранение Данных)
    • Настройка логического управления томами (LVM).
    • Работа с RAID и зашифрованным хранилищем (encrypted storage).
    • Расширенные разрешения файловой системы.
Цели экзамена и весомость

Курс разделен в соответствии с пятью основными доменами знаний, и каждый домен имеет определенный вес в общем балле экзамена:

Домен (Раздел)
Весомость
Краткое описание
Essential Commands (Основные Команды)
20%
Вход в систему, работа с файлами и каталогами.
Operations Deployment (Развертывание Операций)
25%
Процесс загрузки, автоматизация, управление ресурсами и процессами.
Users and Groups (Пользователи и Группы)
10%
Управление учетными записями, квоты ресурсов, расширенная аутентификация.
Networking (Сеть)
25%
Сетевые службы, маршрутизация, пакетная фильтрация.
Storage (Хранение Данных)
20%
LVM, RAID, зашифрованное хранилище, расширенные разрешения ФС.
ИТОГО
100%

Модуль 2. Основные команды

Удаленный вход в текстовом режиме (SSH)

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

  • Используемый инструмент: SSH (Secure Shell).
  • Принцип работы: SSH использует OpenSSH Daemon (демон SSH), который постоянно работает в фоновом режиме на сервере и ожидает входящих подключений.
  • Безопасность: SSH использует строгое шифрование. Это делает его намного безопаснее своего предшественника, Telnet, который был крайне небезопасен, так как не шифровал связь, позволяя злоумышленникам в той же сети украсть логин и пароль.
  • Клиенты:
    • В macOS и Linux SSH-клиент предустановлен.
    • В Windows 10 и 11 SSH-клиент также предустановлен (раньше приходилось устанавливать такие программы, как PuTTY).
  • Команда для подключения: Ты используешь команду ssh username@IP_address.
    Например, ssh aaron@192.168.0.17.
Удаленный вход в графическом режиме (Remote GUI)

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

  • VNC (Virtual Network Computing): Требует установки соответствующего VNC-клиента (VNC Viewer) на твоей локальной машине.
  • RDP (Remote Desktop Protocol): Может использоваться, если администратор настроил решение, позволяющее подключаться через RDP (стандартный для Windows).
Системная документация и помощь в Linux

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

1. Быстрая Помощь: --help
  • Многие команды поддерживают опцию --help (например, ls --help или journalctl --help).
  • Эта опция дает быстрый список опций команды с их краткими описаниями (обычно отсортированными по алфавиту).
  • Это самый быстрый способ освежить в памяти забытый синтаксис или флаг.
  • Для более сложных команд, таких как journalctl, вывод может быть длинным, и он открывается в пейджере (text viewer), что позволяет прокручивать текст клавишами со стрелками или Page Up/Down. Для выхода из пейджера нужно нажать q.
2. Подробные руководства: команда man
  • Для всех важных команд в Linux существуют страницы руководства (man pages).
  • Чтобы открыть руководство, используй команду man [название_команды]. Например, man journalctl.
  • Страница руководства содержит:
    • NAME: Краткое описание того, что делает команда.
    • SYNOPSIS: Общий синтаксис команды.
    • DESCRIPTION: Подробное описание работы команды.
    • EXAMPLES: Примеры использования команды (есть не во всех руководствах).

Если ты хочешь просмотреть команду из определенной секции, используй man [секция] [название]. Например, man 1 printf для команды, а не библиотечной функции.

Важно для LFCS: На онлайн-экзаменах Linux Foundation разрешает использовать команды man и —help! Используй —help для быстрого доступа, а man — для глубокого изучения.

3. Поиск команд по описанию: apropos

Если ты не помнишь название команды, но помнишь, что она должна делать, используй команду apropos [ключевое_слово]. apropos ищет совпадения в кратких описаниях (поле NAME) всех страниц руководства.

Создание базы данных: При первом запуске apropos может выдать ошибку, поскольку он полагается на базу данных, которую нужно создать. Ты можешь сделать это вручную, выполнив команду sudo mandb.

Фильтрация по секциям: Чтобы увидеть только команды системного администрирования (секции 1 и 8) и уменьшить список результатов, используй опцию -s: apropos -s 1,8 [ключевое_слово].

4. Автодополнение (Tab Autocomplete)

Нажатие клавиши TAB помогает сэкономить время, автоматически завершая команды, опции или имена файлов/каталогов. Если нажать TAB дважды после части команды (например, systemctl ), отобразится список всех возможных опций или аргументов.

Эта практика, когда ты пытаешься решить задачу, используя только man и —help, очень сильно поможет тебе развить навык быстрого поиска информации, который необходим для сдачи практического экзамена LFCS.

📁 Работа с файлами и каталогами (Essential Commands)

Просмотр файлов и каталогов (ls)

Команда ls используется для вывода списка содержимого каталога (файлов и подкаталогов).

Опция
Описание
Пример
-l (list)
Показывает длинный формат списка, который включает разрешения, владельца, группу владельцев, размер и дату последнего изменения.
ls -l /var/log
-a (all)
Показывает все файлы и каталоги, включая скрытые (те, чье имя начинается с точки, например, .bashrc).
ls -a
-h (human readable)
Показывает размеры файлов в удобном для человека формате (байты, килобайты, мегабайты и т. д.). Должна использоваться вместе с -l.
ls -alh
Комбинирование:
Флаги можно объединять: ls -a -l равнозначно ls -al.
Файловая система и пути
  • Filesystem Tree (Дерево файловой системы): Linux организует файлы и каталоги в древовидной структуре.
    • Корень (/) находится наверху, и от него идут ветви (подкаталоги).
    • Для доступа к файлу или каталогу нужно указать его путь (path).
  • Пути (Paths):
    • Абсолютный путь (Absolute Path): Всегда начинается с корневого каталога (/) и полностью указывает местоположение.
      • Пример: /home/aaron/Documents/Invoice.pdf.
    • Относительный путь (Relative Path): Указывается относительно текущего рабочего каталога.
      • Текущий каталог: Если путь начинается с имени файла/каталога (например, Documents/Invoice.pdf), он считается относительно текущего рабочего каталога.
      • Родительский каталог: Символы .. всегда ссылаются на родительский каталог текущего каталога (на один уровень выше).
Навигация по каталогам
  • pwd (Print Working Directory): Показывает текущий рабочий каталог.
  • cd (Change Directory): Используется для смены текущего каталога.
    • cd /: Переход в корневой каталог.
    • cd ..: Переход в родительский каталог.
    • cd -: Переход в предыдущий рабочий каталог.
    • cd (без аргументов): Переход в домашний каталог (/home/user/).
Создание, копирование, перемещение и удаление
Действие
Команда
Описание
Важные опции
Создать файл
touch
Создает пустой файл или обновляет его временную метку.
Создать каталог
mkdir (make directory)
Создает новый каталог.
Копировать файл
cp (copy)
Копирует файл из источника (source) в назначение (destination).
Копировать каталог
cp
Для копирования каталога (и его содержимого) нужно использовать опцию -r.
-r (recursive)
Переместить/Переименовать
mv (move)
Перемещает файл/каталог или переименовывает его в пределах одного расположения.
Работает рекурсивно с каталогами без флага -r.
Удалить файл
rm (remove)
Удаляет файл.
Удалить каталог
rm
Для удаления каталога (и его содержимого) нужно использовать опцию -r.
-r (recursive)

Совет: При копировании (cp -r) или удалении (rm -r) каталогов всегда используй опцию -r (recursive). mv делает это рекурсивно по умолчанию.

Жёсткие ссылки (Hard Links) в Linux

Что такое i-узел (Inode)?

В файловых системах Linux (таких как XFS, EXT4) информация о файле хранится в двух местах:

  • Блоки данных (Data Blocks): Хранят само содержимое файла.
  • i-узел (Inode): Хранит метаданные о файле.
    • К метаданным относятся: права доступа (Permissions), время последнего доступа и модификации, владелец, а также номера блоков данных, где хранится содержимое файла.
    • i-узел имеет уникальный номер (например, 52946177).

Файл = i-узел + Имя: Имя файла, которое ты видишь, просто связано (Hard Link) с определенным i-узлом. Это позволяет тебе работать с файлами по имени, а не по номерам i-узлов.

Жёсткая ссылка — это просто еще одно имя файла, которое указывает на тот же самый i-узел.

Команда для создания: ln [путь_к_целевому_файлу] [путь_к_файлу_ссылке].

Экономия места: Вместо копирования 5000 фотографий (что заняло бы 40 ГБ), можно создать 5000 жестких ссылок. Данные (20 ГБ) хранятся один раз в одном i-узле, а разные пользователи могут иметь к ним доступ через свои уникальные ссылки, которые указывают на этот i-узел.

Счетчик ссылок (Links): У каждого i-узла есть счетчик (например, Links: 2 в выводе stat). Это показывает, сколько жестких ссылок (имен) указывают на этот i-узел.

Безопасность при удалении

Это самое важное свойство жестких ссылок:

  • Когда пользователь удаляет свою жесткую ссылку (rm /home/aaron/file):
    • Удаляется только имя файла (жесткая ссылка).
    • Счетчик ссылок i-узла уменьшается на 1.
    • Данные не удаляются, пока счетчик ссылок не станет равен нулю.

Данные файла (блоки данных) удаляются с файловой системы только тогда, когда все жесткие ссылки на соответствующий i-узел будут удалены.

Ограничения жёстких ссылок

Жесткие ссылки имеют два основных ограничения, которые ты, как будущий сисадмин, должна знать:

  1. Только файлы: Можно создавать жесткие ссылки только на файлы, а не на каталоги (folders).
  2. Одна Файловая Система: Можно создавать жесткие ссылки только на файлы, расположенные на одной и той же файловой системе. Нельзя создать жесткую ссылку на файл, расположенный на внешнем диске, смонтированном в /mnt/Backups/, если сам файл находится на основном SSD.

 

Символические cсылки (Soft Links / Symlinks) в Linux

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

Сравнение с жёсткими ссылками

Символическая ссылка — это, по сути, текстовый файл, в котором хранится путь к целевому файлу или каталогу.

Характеристика
Жёсткая ссылка (Hard Link)
Символическая ссылка (Soft Link)
Команда
ln
ln -s (опция -s означает «symbolic»)
На что указывает
На i-узел (данные)
На путь (Path) к файлу/каталогу
Каталоги (Folders)
Нельзя создавать ссылки на каталоги.
Можно создавать ссылки на каталоги.
Файловые системы
Только в пределах одной файловой системы.
Можно ссылаться на файлы на других файловых системах.
Удаление цели
Если целевой файл удаляется, жесткая ссылка продолжает существовать, но счетчик ссылок уменьшается. Данные удаляются, только когда удалены все ссылки.
Если целевой файл удаляется, символическая ссылка ломается (становится «висячей»).
Создание символической ссылки

Синтаксис команды ln -s выглядит так:

ln -s [path_to_target_file] [path_to_link_file]

  • path_to_target_file: Путь к файлу или каталогу, на который мы ссылаемся.
  • path_to_link_file: Имя и расположение новой символической ссылки.
Отличия в отображении
  • В выводе ls -l символическая ссылка обозначается буквой l в начале строки разрешений.
  • ls -l также показывает, куда именно указывает ссылка (ее целевой путь).
  • Если ссылка сломана (целевой файл удален), ls -l может выделить ее красным цветом.
  • Команда readlink (например, readlink family_dog_shortcut.jpg) позволяет увидеть точный путь, хранящийся в символической ссылке, даже если он длинный.
Как проверить, является ли файл символической ссылкой

Чтобы убедиться, что файл действительно является символической ссылкой, используй команду ls -l:

ls -l links.txt

  • Если это символическая ссылка: Вывод начнется с буквы l и покажет целевой путь:l-rwxrwxrwx 1 user group 5 Dec 4 15:00 links.txt -> /path/to/target_file
  • Если это обычный файл: Вывод начнется с дефиса ( — ):
    • rw-rw-r-- 1 user group 1024 Dec 4 15:00 links.txt

Комментарии

Комментариев пока нет. Почему бы ’Вам не начать обсуждение?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *