Права файлов Linux: как читать rwx и числовые режимы

Права файлов Linux: как читать rwx и числовые режимы

Kevin Wu
27 августа 2026 г.· 6 мин чтения

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

Ключевые выводы

  • Читайте строку как тип, владелец, группа и остальные.
  • Для каталога x означает проход и доступ к записям, а не «запуск папки».
  • Назначайте минимальные права для реальных пользователей и задачи.
  • Не используйте chmod 777 как универсальное исправление: запись получат все.

Общий подход есть в руководстве по устранению неполадок устройств.

Как права файлов Linux распределяются между владельцем, группой и остальными?

У каждого обычного файла и каталога есть пользователь-владелец и группа-владелец. Базовые наборы применяются к:

  • Владельцу: учетной записи, владеющей объектом.
  • Группе: пользователям, входящим в группу объекта.
  • Остальным: всем, кто не совпал как владелец или член этой группы.

Документация Ubuntu описывает отдельные права владельца, группы и всех остальных.[1] Система выбирает применимый класс; она не добавляет права «остальных» к более конкретному совпадению владельца или группы.

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

Как читать строку rwx?

Длинный список может показать:

-rw-r-----

Слева направо:

  1. - — обычный файл, каталог обычно начинается с d.
  2. rw- — права владельца.
  3. r-- — права группы.
  4. --- — права остальных.

Ubuntu использует ту же структуру «тип плюс три тройки»; дефис означает отсутствие бита.[2]

Строка не показывает все уровни. ACL, обязательный контроль, параметры монтирования, неизменяемые флаги, правила приложения и сетевой файловой системы тоже могут разрешить или запретить действие.

Что означают r, w и x для файла?

Для обычного файла:

  • Чтение (r) позволяет читать содержимое.
  • Запись (w) позволяет изменять или обнулять содержимое.
  • Выполнение (x) позволяет запросить запуск как программы или скрипта с учетом формата, интерпретатора, монтирования и других правил.

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

Бит выполнения не доказывает безопасность загруженной программы. Сначала проверьте источник. Варианты поставки описаны в сравнении APT, DEB, Snap, Flatpak и AppImage.

Что означают права каталога?

  • Чтение (r) позволяет перечислять имена.
  • Запись (w) позволяет создавать, удалять и переименовывать записи, обычно вместе с проходом.
  • Выполнение (x) позволяет проходить каталог и обращаться к записи по имени с учетом ее собственных прав.

Графические параметры Ubuntu также различают перечисление, доступ и создание или удаление.[1]

Отсюда следуют случаи:

  • r без x может показать имена, но не дать нормальный доступ к данным.
  • x без r может открыть известное имя без списка каталога.
  • w и x каталога могут позволить удалить или заменить запись, даже если сам файл недоступен для записи.

Проверяйте каждый родительский каталог. До читаемого файла нельзя дойти через каталог без x.

Как работают числовые режимы chmod?

Чтение = 4, запись = 2, выполнение = 1. Значения суммируются отдельно для владельца, группы и остальных.

РежимВладелецГруппаОстальныеТипичное значение
600чтение и записьнетнетличный файл
640чтение и записьчтениенетвладелец редактирует, группа читает
644чтение и записьчтениечтениеобщедоступный несекретный файл
700всенетнетличный каталог или программа
750всечтение и выполнениенетгруппа читает и проходит
755всечтение и выполнениечтение и выполнениеобщий каталог или программа

Это примеры, не универсальные рекомендации. 644 не подходит секрету, а 755 — частному каталогу.

Символическая форма лучше показывает намерение. chmod u+x script.sh добавляет выполнение только владельцу, а chmod 640 report.txt задает полный базовый режим. До запуска проверьте путь и владельца.

Почему chmod 777 — плохое исправление?

777 дает чтение, запись и выполнение владельцу, группе и всем другим локальным пользователям. Для каталога это может разрешить создание, замену, переименование и удаление записей. Режим скрывает ошибку владения или учетной записи сервиса и расширяет угрозу.

Сначала спросите:

  1. Какая учетная запись запускает приложение?
  2. Ей нужно читать, писать, создавать, удалять или проходить какой объект?
  3. Доступ должен принадлежать одному владельцу или контролируемой группе?
  4. Не блокирует ли родительский каталог?
  5. Нет ли ACL, параметра монтирования или политики?

Исправляйте минимальное несоответствие. Не меняйте рекурсивно большое дерево до проверки ссылок, специальных файлов, ожиданий приложения и отката.

Что такое владение, umask и особые права в Linux?

Начальный режим нового объекта формируется из запроса приложения, из которого маска процесса umask убирает выбранные биты по умолчанию. Поэтому разные приложения создают разные режимы в одном каталоге.

Linux также поддерживает set-user-ID, set-group-ID, sticky bit и ACL. Они важны для общих каталогов и программ, но выходят за базовые три цифры. При незнакомых символах или ACL изучите точную документацию, не упрощайте режим вслепую.

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

Безопасная проверка

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

Итоги

Разделяйте класс пользователя и действие и помните, что x каталога означает проход. Проверяйте полный путь, выбирайте минимальный режим и учитывайте владение и другие уровни. 777 не заменяет понимание отказа доступа.

Часто задаваемые вопросы (FAQ)

Что означает -rw-r--r--?

Обычный файл: владелец читает и пишет, группа и остальные только читают.

Что означает x для каталога?

Проход и доступ к записи по имени с учетом ее собственных прав, а не «запуск каталога».[2]

Можно удалить файл только для чтения?

Иногда да. Удаление главным образом зависит от прав родительского каталога.

Всегда ли 755 правильно для каталогов?

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

Почему читаемый файл не открывается?

Родительский каталог может не иметь x, либо доступ блокируют ACL, монтирование, песочница или политика.

Все скрипты должны быть исполняемыми?

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

Безопасен ли временный chmod 777?

Он расширяет запись и скрывает причину. Делайте узкое диагностическое изменение и возвращайте его.


Источники:

  1. Ubuntu Help — Set file permissions — https://help.ubuntu.com/stable/ubuntu-help/nautilus-file-properties-permissions
  2. Ubuntu Help — Files list columns preferences — https://help.ubuntu.com/stable/ubuntu-help/nautilus-list.html

Sources checked 27 августа 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Права файлов Linux: как читать rwx и числовые режимы | AethoVPN