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, в рамках пяти основных доменов:
- Essential Commands (Основные Команды)
- Вход в систему Linux и работа с файлами и каталогами.
- Operations Deployment (Развертывание Операций)
- Изучение процесса загрузки системы (boot process).
- Автоматизация задач и управление критически важными ресурсами и процессами.
- Users and Groups (Пользователи и Группы)
- Создание, управление учетными записями пользователей и групп.
- Установка квот ресурсов и настройка расширенных опций аутентификации.
- Networking (Сеть)
- Работа с сетевыми службами.
- Маршрутизация (routing) и пакетная фильтрация (packet filtering). (Это напрямую связано с твоими знаниями в сфере сетевой безопасности).
- 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), он считается относительно текущего рабочего каталога. - Родительский каталог: Символы
..всегда ссылаются на родительский каталог текущего каталога (на один уровень выше).
- Текущий каталог: Если путь начинается с имени файла/каталога (например,
- Абсолютный путь (Absolute Path): Всегда начинается с корневого каталога (
Навигация по каталогам
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-узел будут удалены.
Ограничения жёстких ссылок
Жесткие ссылки имеют два основных ограничения, которые ты, как будущий сисадмин, должна знать:
- Только файлы: Можно создавать жесткие ссылки только на файлы, а не на каталоги (folders).
- Одна Файловая Система: Можно создавать жесткие ссылки только на файлы, расположенные на одной и той же файловой системе. Нельзя создать жесткую ссылку на файл, расположенный на внешнем диске, смонтированном в
/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
