macOS

Изменение прав доступа к файлам в macOS: команды и способы

Это руководство объясняет, как управлять правами доступа (разрешениями) к файлам и папкам в macOS с помощью Терминала (команда chmod) и графического интерфейса Finder. Вы научитесь授予вать, ограничивать и сбрасывать права для пользователей и групп.

Обновлено 15 февраля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:macOS Sonoma 14macOS Ventura 13macOS Monterey 12macOS Big Sur 11

Введение / Зачем это нужно

Права доступа (permissions) в macOS определяют, какой пользователь или группа может читать, изменять или выполнять конкретный файл или папку. Они критически важны для безопасности системы и корректной работы программ. Неправильные права могут привести к ошибкам «Отказано в доступе», сбоям в работе софта или утечке данных. Этот гайд покажет, как быстро и безопасно изменить права доступа двумя основными способами: через командную строку (более мощный) и через Finder (удобный для простых случаев).

Требования / Подготовка

  1. Права администратора: Для изменения прав на файлы, которыми вы не являетесь владельцем, или в системных каталогах потребуется пароль администратора.
  2. Доступ к Терминалу: Приложение «Терминал» находится в /Программы/Утилиты/ или можно найти через Spotlight (Cmd+Пробел).
  3. Понимание базовых прав: Знайте, кто является владельцем файла (владелец, группа, остальные) и что означают буквы r (read), w (write), x (execute).

Шаг 1: Определите текущие права доступа

Перед изменением всегда проверьте, каковы текущие разрешения. Это поможет понять, что именно нужно поменять.

  1. Откройте Терминал.
  2. Перейдите в каталог с файлом или укажите полный путь. Например:
    cd ~/Documents
    
  3. Выполните команду ls -l с именем файла:
    ls -l myfile.txt
    
    Вывод будет похож на:
    -rw-r--r--  1 user  staff  1234 15 Feb 10:30 myfile.txt
    
    Строка -rw-r--r-- — это и есть права:
    • - (тип файла, - — обычный файл, d — папка).
    • rw- (владелец: чтение + запись).
    • r-- (группа: только чтение).
    • r-- (остальные: только чтение).

Шаг 2: Измените права через Терминал (команда chmod)

Это самый гибкий и точный способ. Команда chmod (change mode) работает с числовыми (восьмеричными) или символьными режимами.

Способ A: Символьный режим (проще для понимания)

Используйте символы u (user/владелец), g (group/группа), o (others/остальные), a (all/все) и операции + (добавить), - (удалить), = (установить точно).

  • Добавить право на выполнение (x) владельцу:
    chmod u+x script.sh
    
  • Убрать право на запись (w) у группы и остальных:
    chmod go-w important.doc
    
  • Дать полные права (rwx) владельцу, только чтение и выполнение группе и остальным:
    chmod u=rwx,go=rx program
    

Способ B: Восьмеричный (числовой) режим (быстро и точно)

Каждому классу (владелец, группа, другие) присваивается трехзначное число, где:

  • 4 = чтение (r)
  • 2 = запись (w)
  • 1 = выполнение (x)
  • 0 = нет прав

Сумма этих значений дает итоговую цифру. Самый распространенный пример — 755:

  • 7 (4+2+1) = rwx для владельца.
  • 5 (4+0+1) = r-x для группы.
  • 5 (4+0+1) = r-x для остальных.

Примеры команд:

# Стандартные права для исполняемого скрипта/программы
chmod 755 myscript.sh

# Только владелец может читать и писать (private file)
chmod 600 private.key

# Полный доступ для всех (используйте осторожно!)
chmod 777 public_share.txt

Изменение прав на папку (рекурсивно): Добавьте флаг -R (recursive), чтобы применить права ко всем вложенным файлам и папкам.

chmod -R 755 my_folder/

⚠️ Важно: Рекурсивное изменение прав, особенно 777, может создать серьезные уязвимости в безопасности. Применяйте только к специфичным папкам общего доступа.

Шаг 3: Измените права через Finder (графический интерфейс)

Этот способ подходит для простых операций и не требует запоминания кодов.

  1. В Finder найдите нужный файл или папку.
  2. Нажмите на нем правой кнопкой мыши (или Ctrl+клик) и выберите «Свойства» (Get Info). Или выделите файл и нажмите Cmd+I.
  3. В нижней части окна «Свойства» найдите раздел «Права доступа» (Sharing & Permissions).
  4. Нажмите на значок замка в правом нижнем углу и введите пароль администратора, чтобы внести изменения.
  5. Вы увидите список пользователей и групп. Напротив каждого имени выпадающее меню с правами:
    • Чтение и запись (Read & Write) — полный доступ.
    • Только чтение (Read Only) — просмотр и копирование.
    • Доступ на запись (Write Only) — только добавление/изменение (для папок «Сброс мусора»).
    • Доступ запрещен (No Access) — полный запрет.
  6. Выберите нужный уровень доступа для каждого пользователя/группы.
  7. Для применения прав ко всем вложенным элементам (если это папка) нажмите кнопку «Исправить права доступа» (Apply to enclosed items). Эта опция доступна не для всех типов файлов и может не сработать для некоторых системных файлов.

Шаг 4: Проверка результата

После изменений убедитесь, что всё работает как задумано.

  • Через Терминал: Снова выполните ls -l <файл> и сравните строку прав с желаемой.
  • Через Finder: Окно «Свойства» должно отображать новые настройки.
  • Практическая проверка: Попробуйте выполнить действие от имени другого пользователя (или в режиме гостя) — открыть, отредактировать или запустить файл. Должно получиться или, наоборот, быть запрещено в соответствии с новыми правами.

Возможные проблемы

Ошибка «Operation not permitted» в Терминале

  • Причина: Вы пытаетесь изменить права на системный файл или папку, защищенную Системной целостностью (SIP, System Integrity Protection). Также может не хватать прав владельца.
  • Решение:
    1. Убедитесь, что вы не пытаетесь менять права в /System, /usr (кроме /usr/local), /bin, /sbin и других защищенных каталогах. Для пользовательских файлов SIP не мешает.
    2. Если нужно изменить права на системный файл (например, для разработки), вам потребуется временно отключить SIP. Это делается через Режим восстановления (Restart, удерживайте Cmd+R), запуск утилиты «Терминал» и команда csrutil disable. После перезагрузки измените права, затем снова включите SIP (csrutil enable) для безопасности.
    3. Проверьте, являетесь ли вы владельцем файла (ls -l показывает ваше имя в третьем столбце). Если нет, используйте sudo chown для смены владельца перед chmod.

Права в Finder не меняются для некоторых файлов

  • Причина: Finder использует расширенные атрибуты (ACL) и может не показывать все детали, установленные через chmod. Для системных файлов или файлов, принадлежащих root, интерфейс Finder ограничен.
  • Решение: Используйте Терминал и команду chmod для полного контроля. Чтобы увидеть ACL, используйте ls -le.

После смены прав файл перестал работать

  • Причина: Некоторые программы (особенно исполняемые файлы или скрипты) требуют конкретных прав. Например, скрипт без права на выполнение (x) не запустится.
  • Решение: Установите рекомендуемые производителем ПО права. Часто для исполняемых файлов это 755, для конфигурационных — 644. Если сомневаетесь, найдите инструкцию для вашей конкретной программы.

Рекурсивное изменение (chmod -R) затронуло не те файлы

  • Причина: Ошибка в пути или использование * без учета скрытых файлов (начинающихся с .).
  • Решение: Всегда проверяйте путь перед выполнением chmod -R. Используйте ls -la для отображения всех файлов, включая скрытые. Для изменения прав только на файлы (без папок) можно комбинировать с find: find /путь/ -type f -exec chmod 644 {} \;.

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

Чем команда chmod отличается от настроек прав в Finder?
Что делать, если при изменении прав вылезает 'Operation not permitted'?
Как сбросить все права доступа к файлу к стандартным?

Полезное

Определите текущие права доступа
Измените права через Терминал (chmod)
Измените права через Finder (графический способ)
Проверьте результат