Права файлов в Linux: GNOME, Plasma, Cinnamon, XFCE

- Права файлов в Linux определяют, кто может читать, изменять или запускать файлы и папки. На популярных рабочих столах GNOME, KDE Plasma, Cinnamon и XFCE их удобно менять через свойства файла в файловом менеджере. Если требуется более тонкий контроль, используется командная строка и расширенные механизмы вроде ACL и SELinux.
Зачем это нужно
Права файлов контролируют доступ к данным и исполнение программ. Правильная настройка снижает риск случайного удаления, несанкционированного доступа или запуска вредоносных скриптов.
Important
Ни в коем случае не давайте права на запись всем пользователям без крайней необходимости. Это частая причина утечек данных и проблем с безопасностью.
Основы прав файлов в Linux
В Linux права задаются в трёх измерениях: тип права, объект права и субъект права.
- Тип права: чтение, запись, выполнение
- Объект права: файл или каталог
- Субъект права: владелец, группа, остальные
Короткая памятка по типам прав:
- Нет доступа: пользователь не видит объект и не может взаимодействовать с ним
- Только чтение: можно просмотреть содержимое, но нельзя изменять или удалять
- Чтение и запись: можно изменять и удалять
- Выполнение: применимо к исполняемым файлам и скриптам, позволяет запустить файл как программу
Понимание битов
На уровне файловой системы права хранятся как биты rwx для каждого субъекта: владелец (u), группа (g), остальные (o). Часто встречающиеся числовые представления:
- 7 = rwx
- 6 = rw-
- 5 = r-x
- 4 = r–
Пример: разрешение 755 значит владелец rwx, группа r-x, остальные r-x.
Быстрая командная справка
Если вы знакомы с терминалом, эти команды помогут проверить и изменить права:
ls -l путь/к/файлу
chmod 644 файл.txt # владелец rw, группа r, остальные r
chmod u+x скрипт.sh # добавить право на выполнение владельцу
chown пользователь:группа файл.txtКогда графический интерфейс может не помочь
Графические файловые менеджеры удобны, но у них есть ограничения:
- Скрытые или особые атрибуты файлов не всегда доступны
- ACL и расширенные атрибуты (setfacl/getfacl, getfattr/setfattr) могут не отображаться
- SELinux/AppArmor применяют дополнительные политики поверх классических прав и их изменение в GUI не учитывает
- При работе с удалёнными файловыми системами (NFS, CIFS) поведение прав может отличаться
Если вы столкнулись с такими случаями, используйте командную строку и системные утилиты.
Изменение прав в GNOME
- Откройте файловый менеджер Nautilus
- Найдите файл или папку
- Правый клик и выбрать Свойства

- Перейдите на вкладку Права

На вкладке Права можно изменить права отдельно для владельца, группы и остальных. Галочка Выполнение позволяет сделать файл исполняемым.
Подсказка
Если поле группы неактивно, вероятно у вас нет прав на изменение владельца или группа управляется политиками системы.
Изменение прав в KDE Plasma
- Откройте файловый менеджер Dolphin
- Правый клик по объекту и выбрать Свойства

- В диалоге выберите вкладку Права

Plasma использует формулировки: Нет доступа, Только просмотр, Просмотр и изменение, а также отдельный флажок для исполнения файла. Понятия соответствуют базовым rwx, но оформлены в удобной форме.
Совет
Если вы видите опцию наследования прав у папки, подумайте, нужно ли распространять права на подкаталоги — это может упростить администрирование.
Изменение прав в Cinnamon
- Откройте файловый менеджер Nemo
- Правый клик и выбрать Свойства

- Перейдите на вкладку Права

Диалог очень похож на GNOME. Можно выбрать None, Read-only или Read and write для владельца, группы и остальных, а также поставить флажок сделать файл выполняемым.
Изменение прав в XFCE
- Откройте файловый менеджер Thunar
- Правый клик и выбрать Свойства

- Перейдите на вкладку Права

XFCE в дополнительение к стандартным опциям часто предлагает Write-only для редких сценариев. Отдельная галочка разрешает запускать файл как программу.
Мини-методология перед изменением прав
- Оцените необходимость: кому точно нужен доступ
- Проверьте текущие права: ls -l и getfacl при наличии
- Сделайте резервную копию конфигураций, если меняете системные файлы
- Измените права пошагово и проверьте работу приложения
- Зафиксируйте изменения в документации или в системе управления конфигурацией
Пример последовательности в терминале:
# посмотреть права и владельца
ls -l /путь/к/файлу
# изменить владельца при необходимости
sudo chown alice:developers /путь/к/файлу
# установить безопасные права
sudo chmod 640 /путь/к/файлу
# проверить результат
ls -l /путь/к/файлуАльтернативы и расширенные механизмы контроля
- ACL (setfacl/getfacl) позволяют задавать права конкретным пользователям и группам выше базовой модели
- SELinux и AppArmor вводят дополнительные контексты и политики безопасности
- Атрибут immutable (chattr +i) защищает файл от изменений даже с правами root без сброса атрибута
- Управление доступом через группы и setgid на каталогах для совместной работы
Когда использовать
- ACL хороши для сложных сценариев с множественными исключениями
- SELinux имеет смысл на сервере или в дистрибутиве с активной политикой безопасности
- chattr +i полезен для защиты критических конфигурационных файлов
Типичные ошибки и когда GUI обманчив
- Изменили права через GUI, но приложение всё равно не запускается — возможно отсутствует исполняемый бит или есть SELinux denial
- Вы даёте группе права записи, но новые файлы продолжают появляться с неправильными правами — проверьте umask и setgid каталога
- Работаете с USB-накопителем на FAT — FAT не поддерживает Unix-права, и GUI покажет маску монтирования
Counterexample
GUI покажет, что файл имеет права 644, но если он расположен на сетевом шаре CIFS, реальные права могут зависеть от параметров монтирования на клиенте и сервере. В таких случаях меняйте настройки монтирования или права на сервере.
Ментальная модель для быстрого понимания
Представьте файл как дом с тремя замками: один для владельца, один для группы жильцов и один для всех остальных. Каждый замок имеет три ключа: чтение, запись, выполнение. Меняя права, вы даёте или забираете эти ключи.
Чек-листы для ролей
Для обычного пользователя на рабочем столе:
- Убедиться, что файл принадлежит вам
- Дать исполнение только скриптам, которые вы доверяете
- Не давать право записи каталогу, доступному для всех
Для разработчика / power user:
- Использовать группы для совместной работы
- Настроить setgid на общем каталоге
- Протестировать умаску и создание файлов
Для системного администратора:
- Использовать ACL там, где нужны исключения
- Мониторить SELinux denial и логи системной безопасности
- Документировать изменения прав и владельцев
Примеры ситуаций и рекомендуемые решения
Нужен общий доступ для команды разработчиков: создать группу developers, chown root:developers /srv/project и chmod 2775 /srv/project (флаг setgid сохраняет группу для новых файлов)
Конфиденциальные конфиги, доступные только владельцу: chmod 600 конфиг
Скрипт должен запускаться от имени пользователя: chmod u+x скрипт.sh
Риски и рекомендации по безопасности
- Никогда не ставьте права 777 на каталоги или файлы в продакшн среде
- Используйте минимально необходимые права
- Обратите внимание на исполняемые файлы, появившиеся из ненадёжных источников
- Проверяйте журналы безопасности после массовых изменений прав
Краткий глоссарий
- Владелец: пользователь, которому принадлежит файл
- Группа: набор пользователей с общими правами
- Остальные: все остальные пользователи системы
- chmod: команда для изменения прав
- chown: команда для изменения владельца
- ACL: расширенные списки контроля доступа
- umask: умолчательная маска прав для вновь создаваемых файлов
Диаграмма принятия решения
flowchart TD
A[Нужно изменить права?] --> B{Рабочая станция или сервер}
B --> |Рабочая станция| C[Использовать GUI файлового менеджера]
B --> |Сервер или сложная политика| D[Использовать CLI и setfacl/SELinux]
C --> E[Открыть свойства файла -> Вкладка права -> Применить]
D --> F[Проверить ls -l, getfacl, изменить chmod/chown, проверить логи]
E --> G[Проверить работу приложения]
F --> GЗаключение
Графические окружения GNOME, Plasma, Cinnamon и XFCE дают удобный и интуитивный способ управлять базовыми правами файлов. Для большинства задач этого достаточно. Однако при сложных требованиях к безопасности или при работе с сетевыми/нестандартными файловыми системами следует переходить к командной строке и инструментам вроде ACL, SELinux и chattr. Всегда действуйте по принципу минимально необходимых прав и документируйте критические изменения.
Notes
Если вы хотите освоить командную строку для управления правами, начните с изучения chmod, chown, getfacl и setfacl, а затем переходите к темам SELinux и umask.
Похожие материалы
Установка VST-плагинов в REAPER
Задать браузер по умолчанию для ссылок Slack
Управление Arduino с Python — руководство
Соберите Bluetooth‑динамик своими руками
Как запланировать встречу в Microsoft Teams