
Права доступа к файлам — фундамент работы с Linux: будь то просто открытие PDF или запуск сложных программ. Кажется, что разобраться с ними легко, но на деле тут полно нюансов, о которых забывают даже опытные пользователи.
- Права определяют, кому что разрешено делать с файлом
- Три уровня пользователей — три набора прав
- Почему обозначения прав такие загадочные?
- Узнать права проще всего через команду ls
- Хотите больше информации о правах? Используйте stat
- Как сменить права на файлы: команда chmod
- Хотите запустить файл как программу? Проверьте его права!
- Не забывайте: права — это страховка от ошибок, а не абсолютная безопасность
- Для каталогов права работают совсем иначе!
- Не только терминал: меняйте права и в графических менеджерах!
Права определяют, кому что разрешено делать с файлом
С файлами и их правами вы сталкиваетесь почти сразу — стоит лишь попытаться открыть или сохранить что-то новое. Каждый файл (вернее, его inode) хранит свои права. Именно они решают, кто сможет читать данный файл или вносить в него изменения.
Если права на чтение отсутствуют — при открытии файла появится ошибка. Нет права на запись — блокируется и сохранение изменений:

Три уровня пользователей — три набора прав
Права состоят из видов действий и категорий пользователей. Есть три действия — чтение, запись и выполнение. А вот присваиваться эти действия могут сразу трем категориям.
Для каждого файла определён владелец и группа. Вы можете оказаться: владельцем, участником группы файла, либо просто “остальными”.
В результате, права разбиваются на три цепочки по три — возможны всевозможные комбинации. К примеру, файл открыт для всех на чтение, редактировать его может только владелец, а запускать — исключительно члены группы. И так далее.
Почему обозначения прав такие загадочные?
Чаще всего права отображаются в виде строки из 9 символов, вроде такой:
Это краткая запись состояния трёх прав для каждой пользовательской группы. Слева направо указываются: право читать, писать и выполнять — сначала для владельца, затем для группы, после — для остальных. Буква означает наличие права, дефис — его отсутствие.
Важно: «o» — это не от «owner» (владелец), а сокращённо от «other» (прочие пользователи). Не путайте: «u» всегда означает пользователя, «o» — остальных.
Разбив строку, мы видим:
Здесь владелец полноценно распоряжается файлом, группе разрешено читать и запускать его, остальным — только запуск разрешён.
Узнать права проще всего через команду ls
Самый быстрый способ посмотреть права — команда ls. Обычный вызов выдаст только имена файлов, а вот с флагом -l вы получите подробности, включая права доступа:

Сразу после первого символа (он показывает тип: «d» — каталог, «-» — файл) идут девять символов — те самые права для каждой категории.
Хотите больше информации о правах? Используйте stat
ls — отличное решение для быстрой проверки, но деталями порадует stat. Эта команда выдаёт гораздо больше сведений о файле и ещё позволяет настроить формат вывода под себя.
Вот пример команды, которая покажет имя файла и его права:
Обратите внимание: stat может работать немного по-разному на разных системах. Пример выше подходит для Ubuntu, а для macOS вариант такой: stat -f ‘%N %Sp’ filename. Всегда сверяйтесь с вашим мануалом.
Как сменить права на файлы: команда chmod
Главный инструмент для изменения прав — chmod («change mode»). Поначалу команда кажется сложноватой: столько вариантов! Но если освоите основы, — дальше всё элементарно.
Самый простой пример использования:
Эта команда добавляет право на чтение всем для файла myfile. Буква «a» обозначает «all» — все сразу: u (user), g (group), o (other). Знак « » — прибавить право, «-» — убрать, «=» — выставить точно. «r» — чтение, вместо него могут быть «w» (запись), «x» (выполнение).
Права можно изменять сразу для нескольких категорий:
Такая команда разрешает владельцу и читать, и редактировать файл, а остальным — только читать. Запускать файл не сможет никто.
Важно: менять права через chmod вы можете только в пределах своих файлов (если не действуете через root).
Рекомендую освоить пару базовых сценариев с chmod — это реально сэкономит время. Команда очень гибкая, её можно подстроить под любые задачи.
Хотите запустить файл как программу? Проверьте его права!
Только право на выполнение делает файл запускаемым — но и тут есть тонкости. Это как «флажок», разрешающий воспринимать файл как программу. Обычно такое право требуется исполняемым бинарникам или скриптам (например, .sh-файлам).
Интересный момент: если убрать право на выполнение, файл нельзя будет просто «запустить», но всё равно получится передать его интерпретатору вручную. Так что это больше защита от случайного запуска, а не жёсткий запрет на исполнение.
Не забывайте: права — это страховка от ошибок, а не абсолютная безопасность
Право на запуск — далеко не панацея. В целом, права в Linux — это скорее «ограждения», а не неприступные замки от взлома.
Например, а запретит ли отсутствие права на запись удаление файла?

Команда rm удаляет файл независимо от того, указано ли право на запись! Звучит неожиданно, но это особенность системы прав в Linux. Владелец, как правило, может в любой момент восстановить любые права через chmod. Так что rm всегда пытается «пробить» ограничения, если вы тот самый владелец.
Вывод прост: права нужны не для суперзащиты ваших данных, а чтобы случайно не стереть или не испортить что-то важное.
Для каталогов права работают совсем иначе!
Каталоги в Linux — те же файлы, только особого типа, и у них свои правила. Значение прав здесь меняется:
Право на чтение каталога означает, что вы увидите список его содержимого. Нет этого права — команда ls выдаст ошибку:

Право на запись позволяет создавать новые файлы или переименовывать старые непосредственно в каталоге:

Право на выполнение для каталогов — особый случай. Оно не про запуск, а про возможность «зайти внутрь» каталога:

Не только терминал: меняйте права и в графических менеджерах!
В Ubuntu файловый менеджер («Файлы») позволяет одним кликом увидеть или изменить права: просто откройте пункт «Свойства»:

В нижней части появится строка с текущими правами и статусом «Выполнить». Кликнув по ней, можно задать разные права для каждой категории пользователей:

В macOS всё нужное видно в «Finder»: нужно только открыть «Свойства» (Get Info) у файла:

В окне отобразятся права для пользователя, группы и всех остальных. Учтите: через Finder нельзя назначать право на выполнение.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!
Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru







