IT Academy
Справочник курса

Linux-сервер: эксплуатация и диагностика

Все объяснения, задачи и лабораторная в одном месте.

Можно сохранить страницу в PDF через печать браузера. Для печати разборы ответов раскрываются автоматически.

1. Файловая система и права

Объяснение

В Linux файл имеет владельца, группу и права. Для каталога x означает возможность прохода, r — чтение списка имён. Root обходит многие ограничения, поэтому сервису выделяют отдельного пользователя.

Задача для самостоятельного решения

Что означает chmod 640 для обычного файла?

Показать разбор ответа

Владелец читает и пишет, группа читает, остальные не имеют доступа. Для каталога такой набор не даёт обычного прохода из-за отсутствия x.

2. Процессы и systemd

Объяснение

Процесс имеет PID, пользователя, окружение и открытые файлы. systemd unit описывает команду и правила запуска. Код завершения и journal объясняют сбой лучше, чем бесконечные рестарты.

Задача для самостоятельного решения

Unit запускается вручную, но не как сервис. Что сравнить?

Показать разбор ответа

Пользователя, рабочий каталог, PATH, переменные и права. Интерактивная оболочка и systemd не обязаны иметь одинаковую среду.

3. Сеть от сокета до HTTP

Объяснение

Сокет связывает процесс с адресом и портом. Listener на 127.0.0.1 доступен только локально, на 0.0.0.0 — на всех IPv4-интерфейсах с учётом firewall. HTTP и TLS проверяются после TCP.

Задача для самостоятельного решения

curl localhost работает, внешний запрос нет. Где искать?

Показать разбор ответа

Адрес bind, firewall, маршрут и публичный frontend. Не открывайте все порты; выясните, какой слой должен принимать внешний трафик.

4. Безопасное изменение и откат

Объяснение

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

Задача для самостоятельного решения

Как безопасно обновить Nginx?

Показать разбор ответа

Сохранить конфигурацию, внести правку, выполнить nginx -t, reload, затем проверить реальный HTTP-ответ. При отказе вернуть проверенную конфигурацию и повторить валидацию.

Практика

Лабораторная работа

Подготовка

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

Учебный пример

id
pwd
ls -ld .
ps -p $$ -o pid,ppid,user,comm
ss -lnt
systemctl --failed
df -h
free -h

Как работает пример и что ожидать

id показывает полномочия, ps — текущую оболочку и родителя, ss — слушающие TCP-сокеты. df отвечает о файловой системе, free — об оперативной памяти; эти ресурсы не взаимозаменяемы. systemctl --failed показывает unit в состоянии failed, но отсутствие failed не доказывает доступность приложения.

Итоговая работа

Поднимите собственный учебный HTTP-сервис на loopback и опишите путь запроса. Подготовьте unit, отдельного пользователя, журнал, health-check и порядок отката. Проверяйте конфигурацию до reload. Зафиксируйте диагностику занятого порта и отсутствующего права чтения файла.

Проверка результата

1. Опишите исходные данные и условия запуска, чтобы другой человек мог повторить работу.
2. Приложите результат обычного сценария и сравните его с ожидаемым.
3. Проверьте неверный вход, граничный случай и отказ зависимости, если она есть.
4. Объясните выбранное решение и известное ограничение.
5. Сохраните исправления после самопроверки вместе с примером, который раньше не работал.

Как оценить работу

По каждому пункту поставьте 0 (не выполнено), 1 (выполнено с пробелами) или 2 (результат воспроизводим и объяснён). Если обязательный сценарий не работает, вернитесь к нему независимо от общей суммы. Это рубрика самопроверки: сайт не исполняет присланный код и не выдаёт автоматическую оценку проекта.

Дополнительная самопроверка

Проверка: Linux-сервер: эксплуатация и диагностика →