Права доступа в Linux: rwx, chmod, файлы и каталоги
Научитесь читать три группы прав, отличать доступ к файлу от прохода по каталогу и выбирать ограниченный режим вместо chmod 777.
Три класса доступа
В обычной модели Unix у файла есть владелец, группа и биты доступа для остальных. Сначала система определяет подходящий класс: права разных классов не складываются в один общий набор. ACL и механизмы вроде SELinux могут добавлять условия сверх этой упрощённой картины.
Для отчёта оператора полезен режим 640: владелец читает и изменяет файл, группа только читает, остальные не получают доступа. Перед применением нужно знать, кто является владельцем и что это за группа.
Чтение, запись, выполнение
Каждая цифра — сумма весов r=4, w=2 и x=1. Значение 6 означает rw-, 4 означает r--, 0 означает ---. Первая цифра относится к владельцу.
| Бит | Обычный файл | Каталог |
|---|---|---|
| r | Читать содержимое | Получать список имён |
| w | Изменять содержимое | Изменять записи вместе с нужным x |
| x | Запускать как программу | Проходить по пути и обращаться к именам |
Ограничить доступ к отчёту
Создайте отдельный учебный файл и измените только его режим. В движке chmod поддерживает три восьмеричные цифры; смена владельцев, ACL и настоящая проверка групп не моделируются.
echo draft > notes/private.txt
chmod 640 notes/private.txt
ls -l notes/private.txtПроверка: В правах появляется rw-r-----.
Почему важны родительские каталоги
Права чтения файла недостаточны, если нельзя пройти хотя бы один каталог его пути. Для каталога x означает проход, а не запуск. Удаление имени зависит прежде всего от прав родительского каталога, с дополнительными ограничениями вроде sticky bit.
Не применяйте один режим рекурсивно ко всему дереву без разбора: обычному тексту обычно не нужен x, а каталог без x может стать недоступным. В прототипе rwx показывает метаданные и проверяет чтение/запись владельца для файла; проход по каталогам ещё не является полной POSIX-моделью.
Изменение с возможностью отката
На своей системе сначала запишите исходные владельца, группу и режим через stat. Меняйте конкретный объект и проверяйте доступ под нужной учётной записью. Для возврата установите сохранённый режим. Не используйте 777 как универсальное лечение Permission denied: оно расширяет доступ и не исправляет ACL, SELinux или read-only mount.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- GNU Coreutils — документация утилит
Проверка текста: 2026-09-05. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.