Shanraq.org Shanraq.org
Linux: пользователи, файлы и минимальные права
IT

Cloud & DevOps: от локального приложения до надёжного сервиса Урок 3 из 24

Linux: пользователи, файлы и минимальные права

Разбираем владельца, группу, режим доступа и почему сервис не должен постоянно работать от root.

Текст переведён с помощью ИИ.

Этот урок начинается с нуля. Незнакомое слово здесь не считается вашим пробелом: мы сначала создадим образ, затем дадим точное значение и только потом применим его.

Где мы находимся

Полётное повторение. В прошлом уроке была опора 📂 где я? → 📝 что изменено? → 📸 какая версия? → ✅ можно повторить. Не подглядывая, назовите её четыре звена и только затем сравните с записью.

Результат урока

Разбираем владельца, группу, режим доступа и почему сервис не должен постоянно работать от root. Не переходите дальше, пока не можете объяснить, что проверяет каждая команда и какой отказ она обнаруживает.

Сначала знакомый образ

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

Аналогия помогает начать рассуждение, но не заменяет устройство технологии. Ниже мы уточним каждое слово.

Опорный сигнал урока

👤 владелец | 👥 группа | 🌍 остальные × читать/писать/выполнять

Прочитайте цепочку слева направо. Она отвечает не на вопрос «какую команду запомнить», а на вопрос «почему следующий шаг следует из предыдущего».

Новые слова простыми словами

  • Пользователь — Идентичность, от имени которой выполняется процесс.
  • root — Суперпользователь почти без обычных ограничений доступа.
  • Права — Правила чтения, записи и выполнения для трёх групп людей.
  • 640 — Владелец читает и пишет; группа читает; остальные ничего не могут.

Разбираем без спешки

Минимальные права ограничивают радиус последствий: скомпрометированный процесс получает только то, что нужно его задаче. Числа 750 и 640 — не ритуал; они описывают чтение, запись и выполнение для владельца, группы и остальных.

Сейчас не нужно запоминать формулировку дословно. Найдите в ней причинную связь и привяжите её к опорному сигналу выше.

Сначала предскажите результат

До запуска ответьте на бумаге: что должно измениться, что должно остаться прежним и какой вывод команды подтвердит ваш прогноз? Даже неверный прогноз полезен, если после опыта вы можете объяснить расхождение.

Опыт маленькими шагами

Выполните команды из корня course/cloud-devops-lab. Команды рассчитаны на учебную среду. Перед командой, меняющей сервер или данные, прочитайте её целиком и проверьте текущий каталог. Запускайте блок по одной смысловой группе. После каждой остановитесь и сопоставьте результат со своим прогнозом.

id
umask
mkdir -p /tmp/cloudlab-permissions
printf '%s\n' secret > /tmp/cloudlab-permissions/config
chmod 640 /tmp/cloudlab-permissions/config
ls -ld /tmp/cloudlab-permissions
ls -l /tmp/cloudlab-permissions/config

Эталонные файлы проекта.

Что именно делает этот опыт

id называет вашу текущую идентичность. umask показывает ограничения по умолчанию. Затем создаётся учебный файл, chmod 640 задаёт права, а ls -l позволяет расшифровать результат, а не поверить команде на слово.

Что должно получиться

  • Файл не исполняемый.
  • У остальных пользователей нет доступа.
  • Вы можете расшифровать каждую цифру режима 640.

Соберите целое по опорной схеме

Опорная схема 3

Проведите пальцем или карандашом по четырём блокам и расскажите весь урок одним связным объяснением.

Воспроизведите без подсказки

  1. Закройте схему и нарисуйте четыре блока по памяти.
  2. Объясните каждый переход словами «потому что».
  3. Дайте определение одному новому термину, не повторяя текст дословно.
  4. Назовите один сигнал, который доказывает результат.

Найдите и исправьте ошибку

Ошибка: «Запуск от root исправляет проблему прав». Исправление: он скрывает неверную настройку и увеличивает последствия взлома или ошибки.

Задание

Теперь соберите тот же смысл самостоятельно. Можно смотреть на опорную схему; цель — не экзамен на память, а воспроизводимый результат.

Обязательное. Напишите POSIX sh-скрипт, который создаёт каталог с режимом 750 и файл конфигурации с режимом 640, затем проверяет режимы через stat. Отправьте только команды или скрипт POSIX sh без реальных ключей и токенов.

Критерии готовности

  • Вы понимаете каждую запускаемую строку.
  • Повторный запуск даёт ожидаемый результат или безопасно объяснённое отличие.
  • В выводе нет настоящих ключей, токенов и паролей.
  • Вы можете показать факт, который подтверждает успех.

Если проверка не прошла, зафиксируйте ожидаемое и фактическое, вернитесь к одному разорванному звену опоры и повторите. Ошибка не отнимает у вас право продолжать обучение.

По желанию. Запишите один возможный отказ и сигнал, по которому вы его заметите.

Открытая перспектива

Следующий урок добавит новую опору: Процессы, сигналы, службы и журналы.

Оглавление курса

Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом

Проверить задание

Сначала решите и запустите в VS Code — редактор покажет ошибку на месте. Готовое решение вставьте сюда. Проверяет модель: она укажет на ошибку, но не даст готовый ответ.

Чтобы проверить, нужно войти. Войти

Комментарии (0)

Пока нет комментариев. Будьте первым.