Битлента
Windows, macOS, Android, iOS5 мин чтения·

Права на файлы и папки в macOS: окно «Информация», чтение вывода ls -l и команда chmod

Как устроены права доступа в macOS: раздел «Общий доступ и права» в окне «Информация», разбор ls -l, числовые режимы chmod и безопасное исправление отказа в доступе.

Кратко

У каждого файла в macOS есть владелец, группа и набор прав на чтение, запись и выполнение. Их видно в окне «Информация» (Command+I) и в выводе ls -l, а менять можно там же или командой chmod. Рекурсивные массовые изменения применяйте осторожно.

Модель прав: владелец, группа и остальные

macOS построена на системе UNIX, поэтому права доступа к файлам во многом устроены так же, как в Linux. У каждого объекта есть три категории пользователей: владелец, группа и все остальные. Для каждой категории задаётся три права: чтение, запись и выполнение. Для папки «выполнение» означает право заходить внутрь и обращаться к вложенным объектам.

Как это выглядит на практике. Вы создали документ — владельцем стали вы, группа по умолчанию у пользовательских файлов обычно называется staff. Вы можете читать и править файл, участники группы и остальные — как правило, только читать. Если же вы пытаетесь открыть файл другого пользователя или системный каталог, система сообщит об отказе.

Отсюда распространённые ситуации:

  • файл скопирован с другого компьютера и принадлежит несуществующему здесь пользователю;
  • внешний диск подключён, но на запись доступен только владельцу с иным именем;
  • программа установлена от имени администратора и не может записать данные в папку;
  • права изменили вручную, и теперь не открывается папка целиком.

Общие сведения о правах UNIX также разобраны на странице про права доступа в Linux и chmod.

Окно «Информация»: раздел «Общий доступ и права»

Графический способ удобен для разовых правок. Выделите файл или папку в Finder и нажмите Command и I, либо выберите «Свойства» в контекстном меню. В нижней части окна раскройте раздел «Общий доступ и права».

Там перечислены пользователи и группы и уровень доступа каждого. Основные значения:

ЗначениеЧто разрешено
Чтение и записьоткрывать и изменять
Только чтениеоткрывать без изменений
Только запись (почтовый ящик)класть файлы в папку, не видя содержимого
Нет доступаникаких действий

Чтобы изменить настройки, нажмите значок замка в правом нижнем углу окна и подтвердите пароль администратора. Затем выберите нужный уровень во всплывающем меню напротив пользователя. Меню со значком шестерёнки содержит пункт для применения прав ко всем вложенным объектам: удобно для папки, но подумайте, прежде чем нажимать, потому что действие затронет всё содержимое. После правок замок лучше закрыть.

Чтение вывода ls -l

В терминале права показывает команда ls -l. Строка вывода выглядит примерно так: -rw-r--r-- 1 имя staff 2048 дата файл.txt. Разберём её слева направо.

  1. Первый символ — тип объекта: дефис для обычного файла, буква d для каталога, l для символической ссылки.
  2. Следующие девять символов — тройки для владельца, группы и остальных: r чтение, w запись, x выполнение, дефис означает отсутствие права.
  3. Затем число связей, имя владельца, имя группы, размер в байтах, дата и имя.

Пример: rw-r--r-- значит, что владелец читает и пишет, группа и остальные только читают. Запись rwxr-xr-x типична для программ и каталогов: все могут читать и входить, править может только владелец.

Если вам нужны сведения о самой папке, а не о её содержимом, используйте ключ -d вместе с -l. Чтобы увидеть скрытые файлы, добавьте -a. На macOS у вывода может появляться дополнительный знак в конце строки прав, говорящий о наличии расширенных атрибутов или списка доступа, и тогда подробности покажет ключ -e или -@ — детали есть в man ls.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

chmod и chown: числовая и символьная запись

Команда chmod меняет права, chown — владельца. Права удобно записывать числом: каждому праву соответствует вес, и сумма для каждой категории образует цифру.

ВесПраво
4чтение
2запись
1выполнение

Отсюда 6 значит чтение и запись, 5 — чтение и выполнение, 7 — все три права. Режим 644 означает владельцу 6, группе и остальным 4: типичный режим для обычных файлов. Режим 755 типичен для программ и каталогов. Пример: chmod 644 file.txt.

Символьная запись нагляднее для точечных правок: chmod u+x script.sh добавляет владельцу право выполнения, chmod go-w file.txt снимает запись у группы и остальных. Смена владельца выполняется командой chown и обычно требует sudo.

Рекурсивные ключи (-R) применяются ко всему содержимому каталога и способны быстро испортить права на тысячи файлов. Не используйте режим 777 «для надёжности»: он даёт всем право писать, и это снижает безопасность. Если команда нужна для папки в домашнем каталоге, указывайте путь точно и сначала проверьте его через ls.

Порядок действий при ошибке «нет доступа»

Когда файл или папка не открываются, не спешите менять права у всех объектов подряд. Пройдите по шагам.

  • Определите, кто владелец и какие права стоят: ls -l для файла, ls -ld для папки.
  • Проверьте, что вы работаете из нужной учётной записи, а не из гостевой.
  • Для внешнего накопителя посмотрите формат и параметры монтирования: том может быть подключён только для чтения.
  • Если защита связана не с правами UNIX, а с конфиденциальностью, проверьте разрешения программ в настройках системы.
  • Измените права точечно, только для нужного объекта, и сразу проверьте результат.

Некоторые каталоги защищены системой независимо от прав: изменять их не следует, и даже sudo может получить отказ. Это сделано ради целостности системы. Если вы сомневаетесь в безопасности действия, скопируйте данные в другое место и работайте с копией. Для общего контекста ознакомьтесь и со страницей про разрешения программ.

Расширенные атрибуты и карантин на загруженных файлах

Не все отказы связаны с правами UNIX. У файлов macOS есть расширенные атрибуты — дополнительные метки. Одна из них появляется у файлов, загруженных из интернета: система помечает их как скачанные, и при первом запуске показывает предупреждение. Это механизм проверки источника, а не ограничение прав.

Посмотреть наличие атрибутов позволяет ls -l@ или команда xattr с именем файла. Удалять метки без необходимости не следует: они часть защитных мер. Если вы уверены в происхождении файла, подтвердите открытие через стандартное окно системы, а не снимайте метки массово.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
macosправа доступаchmodтерминал

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

Читайте также