В КУРСЕ?

Разбираемся в теме

Нет права запуска: почему файл с режимом 640 всё равно может быть прочитан?

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

Три категории пользователей, три вида действий

Обычные права различают владельца файла, других пользователей из группы файла и остальных пользователей. Для каждой категории отдельно задаются чтение, запись и исполнение. Поэтому разрешение одному участнику не означает такое же разрешение всем остальным. Чтение открывает содержимое файла. Запись позволяет изменять его содержимое. Исполнение связано с запуском файла как программы. Отсутствие разрешения на исполнение не отменяет отдельно выданного разрешения читать данные. Здесь рассматривается упрощённая модель обычных файлов. Дополнительные списки разрешений, особые привилегии и другие механизмы контроля доступа требуют отдельного анализа. Для каталогов те же обозначения имеют другую практическую роль, поэтому правила из этого примера нельзя без уточнений переносить на папки.

Что сообщает запись 640

В трёхзначной записи первая цифра относится к владельцу, вторая к группе, третья к остальным. Внутри каждой позиции чтение обозначается значением четыре, запись значением два, исполнение значением один. Разрешённые действия складываются: шесть означает чтение вместе с записью, четыре только чтение, ноль отсутствие этих разрешений. Следовательно, режим 640 предоставляет владельцу чтение и запись, группе чтение, а остальным не предоставляет ни одного из трёх обычных разрешений. Разрешение на исполнение в этой записи отсутствует у всех трёх категорий. Однако группа всё равно получает право читать содержимое. Представим вымышленный текстовый отчёт, предназначенный для автора и двух коллег. Если у файла назначена группа, в которой состоят ещё десять сотрудников, сама запись 640 не выделит нужных двух людей. Для понимания доступа необходимо знать не только цифры, но и состав назначенной группы.

Сначала определить читателей, затем оценивать режим

Полезная проверка начинается с назначения данных: кто должен их читать и кто должен менять? После этого можно сопоставлять задачу с категориями доступа. Запоминание одной якобы безопасной комбинации не заменяет такого сопоставления. Сравним условные режимы 600, 640 и 644. В стандартной модели чтение разрешено соответственно владельцу; владельцу и группе; всем трём категориям. Во всех трёх случаях владелец имеет также право записи. Поэтому различие между вариантами касается аудитории чтения, хотя ни один из них не добавляет исполнение. При этом остальные пользователи файловой системы не означают автоматически всех посетителей интернета. Публичная доступность через приложение или сервер зависит от дополнительных условий. Обратная ошибка тоже опасна: закрытая веб-страница сама по себе не объясняет, какие локальные процессы могут прочитать лежащий за ней файл.

Попробуйте на практике

Разберите три вымышленные карточки доступа на бумаге. Выполнять команды или менять разрешения настоящих файлов не требуется.

  1. Запишите три режима: 600, 640 и 644. Для каждого нарисуйте отдельные поля владельца, группы и остальных.
  2. Расшифруйте каждую цифру через разрешённые действия. Используйте значения четыре для чтения, два для записи и один для исполнения.
  3. Отметьте категории, которым предоставлено чтение, и сравните получившуюся аудиторию трёх карточек.
  4. Для карточки 640 добавьте условие: группа состоит из двенадцати коллег владельца, а отчёт предназначен только двум из них. Определите, сколько лишних читателей получает разрешение через группу.

Как проверить результат. В карточках должны получиться одна, две и три категории читателей соответственно. Разрешения на исполнение нет ни в одной. В последнем примере разрешение через группу получают десять лишних читателей. Команды для реального сервера не нужны.

Частые вопросы

Если файл нельзя исполнять, его данные скрыты?

Нет. Право чтения проверяется отдельно. Отсутствие исполнения само по себе не защищает содержимое от тех, кому разрешено читать.

Режим 640 всегда подходит для конфиденциального отчёта?

Нет. Нужно знать владельца, назначенную группу, её участников и остальные условия доступа. Одинаковые цифры в разных обстоятельствах дают разную фактическую аудиторию.

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

Зарегистрируйтесь, чтобы уточнить возможность доступа к этому материалу

Зарегистрироваться
← К списку материалов