Как исправить ошибку «Файл не может быть выполнен, поскольку у вас нет соответствующих прав доступа» в macOS

Если при выполнении доверенного .commandскрипта появляется сообщение «Файл не может быть выполнен, поскольку у вас нет соответствующих прав доступа», обычно ему требуется разрешение на выполнение. В Терминале добавьте это разрешение для своей учетной записи с помощью команды `cd` chmod u+x, а затем запустите скрипт снова. Это изменит бит разрешения файла; скрипт не проверяется и не обходит проверки безопасности macOS, поэтому проверьте файл и убедитесь в его надежности перед запуском.

Перед изменением прав доступа проверьте файл.

Убедитесь, что файл действительно заканчивается на определенный символ .commandи что вы знаете, откуда он взялся. Скрипт командной строки может запускать команды Терминала с правами доступа вашей учетной записи. Если вы не ожидали этот файл или не можете проверить его источник, не запускайте его. Откройте его в текстовом редакторе, чтобы просмотреть его содержимое, или получите чистую копию от разработчика.

Окно «Информация» в Finder полезно для проверки имени файла и общих разрешений доступа, но оно не предоставляет простого способа добавить бит выполнения оболочки к скрипту. Apple описывает chmodметод создания исполняемого скрипта оболочки в Терминале в своем руководстве пользователя Терминала .

Окно «Загрузки» в Finder с выбранным файлом script.command
Пример отображения файла .command в папке «Загрузки» в Finder.

Исправьте права на выполнение.

  1. Откройте Терминал. Воспользуйтесь Spotlight или откройте Приложения > Утилиты > Терминал.
  2. Предоставьте вашей учетной записи права на выполнение. Для скрипта в папке «Загрузки» с именем script.commandвведите эту команду и нажмите Enter:
    chmod u+x "$HOME/Downloads/script.command"
    Замените примерный путь и имя файла на фактический путь. Оставляйте путь в кавычках, особенно если имя папки или файла содержит пробелы. Вы также можете ввести chmod u+x (включая последний пробел) и перетащить файл из Finder в окно Терминала, чтобы вставить его путь. Не вводите слова «путь к файлу» буквально.
В терминале применена команда chmod u+x к файлу script.command в папке «Загрузки».
Команда `chmod u+x` добавляет права на выполнение для владельца файла.

Команда обычно возвращает командную строку без вывода сообщения об успешном выполнении. uобозначает владельца файла и +xдобавляет разрешение на его выполнение. Это более узкое ограничение, чем предоставление скрипту права на выполнение для каждой учетной записи на Mac. При наличии права на выполнение файла и возможности изменения его прав, пароль администратора не потребуется.

  1. Запустите скрипт. Если он находится в папке «Загрузки», введите:
    cd "$HOME/Downloads"
    ./script.command
    Вы также можете дважды щелкнуть файл в Finder после изменения его прав доступа. Запуск из Терминала удобен, поскольку позволяет прочитать любое сообщение об ошибке или вывод. Если macOS отображает предупреждение при вставке команды в Терминал, прочтите предупреждение, прежде чем продолжить.
В терминале отображается вывод команды ./script.command и пример кода скрипта.
Пример работы терминала после запуска скрипта из соответствующей папки.

Проверьте права доступа, если ошибка сохраняется.

Чтобы посмотреть права доступа к файлу, выполните следующую команду:

ls -l "$HOME/Downloads/script.command"

Если текущая учетная запись является владельцем файла и установлены права на выполнение, первая группа разрешений должна включать x, например -rwx, . В руководстве Apple по разрешениям для Mac объясняется, чем отличается доступ к файлам и папкам для разных пользователей.

Вывод команды `ls -l` в терминале с указанием прав владельца скрипта (например, `x`)
Используйте команду `ls -l`, чтобы убедиться, что строка прав доступа владельца содержит префикс `x`.
  • Команда выдает сообщение «Нет такого файла или каталога». Путь или имя файла не совпадают. В Finder подтвердите имя и местоположение, затем повторите команду с правильным путем.
  • Сообщение об ошибке гласит «Операция запрещена» или «Доступ запрещен». Возможно, вы не являетесь владельцем файла, или родительская папка не предоставляет к нему доступ. Переместите копию в папку, которая принадлежит вам, например, «Загрузки», или попросите владельца файла или администратора вашего Mac исправить доступ. Избегайте добавления файла sudoв качестве первого шага.
  • Файл имеет бит выполнения, но всё равно не запускается. Убедитесь, что файл является допустимым скриптом и что в его первой строке указан доступный интерпретатор. Если сообщение относится к приложению, которое Apple не может проверить, к неопознанному разработчику или вредоносному ПО, это отдельное предупреждение Gatekeeper или вредоносного ПО, а не ошибка разрешения на выполнение.

Не следует ослаблять безопасность macOS ради исправления прав доступа к файлу.

Не используйте эту команду, chmod a+xесли вы намеренно не хотите, чтобы другие локальные учетные записи имели разрешение на выполнение, и избегайте общих команд, таких как chmod -Rили изменение разрешений для системных папок. Чтобы отменить добавленный вами бит на выполнение для вашей учетной записи, выполните команду chmod u-x "$HOME/Downloads/script.command".

Чтобы избежать предупреждения о проверке приложения, следуйте рекомендациям Apple по безопасному открытию приложений только после подтверждения того, что приложение получено из надежного источника. Не игнорируйте предупреждение о том, что программное обеспечение может повредить ваш компьютер или что macOS обнаружила вредоносное ПО. Apple также описывает новые средства защиты от вставки в Терминал в своем руководстве по защите Терминала и скриптов .

Оставить комментарий

Как исправить ошибку «Файл не может быть выполнен, поскольку у вас нет соответствующих прав доступа» в macOS

Как исправить ошибку «Файл не может быть выполнен, поскольку у вас нет соответствующих прав доступа» в macOS

Устраните ошибку доступа к скрипту .command в macOS, целенаправленно изменив права на выполнение, затем проверьте файл и безопасно устраните предупреждения безопасности.

Как добавить адресную строку в Finder на macOS

Как добавить адресную строку в Finder на macOS

Отобразить кликабельную панель пути Finder, показать полный путь к папке в заголовке окна с помощью параметра Terminal или скопировать путь, используя встроенную команду macOS.

Как перезагрузить сенсорную панель Touch Bar на MacBook Pro

Как перезагрузить сенсорную панель Touch Bar на MacBook Pro

Перезагрузите зависший или пустой MacBook Pro с Touch Bar, не перезагружая сам компьютер. Используйте Терминал или Монитор активности, а затем, если компьютер по-прежнему не реагирует, попробуйте выполнить следующие проверки.

Как редактировать файл Plist в macOS с помощью Xcode

Как редактировать файл Plist в macOS с помощью Xcode

Отредактируйте файл Plist в macOS с помощью Xcode, предварительно создайте его резервную копию и защитите подписанные приложения, изменив источник проекта вместо установленного пакета.

Как получить доступ к фотофайлам iPhone на macOS

Как получить доступ к фотофайлам iPhone на macOS

С помощью Image Capture можно копировать фотографии и видео с iPhone прямо в папку Finder или экспортировать неизмененные оригиналы из приложения «Фотографии», если вы уже импортировали их.

Как установить приложения по умолчанию в macOS для файлов, веб-ссылок и электронной почты

Как установить приложения по умолчанию в macOS для файлов, веб-ссылок и электронной почты

Выберите, какие приложения macOS будет использовать для типов файлов, веб-ссылок и электронной почты. Следуйте текущим инструкциям для Finder, Системных настроек и Почты, а также более старому пути в браузере.

Как сохранить изображение из буфера обмена в macOS с помощью Preview

Как сохранить изображение из буфера обмена в macOS с помощью Preview

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

Как включить общий доступ к файлам в macOS

Как включить общий доступ к файлам в macOS

Включите общий доступ к файлам в macOS, выберите, к каким папкам пользователи могут получить доступ, включите протокол SMB для Windows и подключитесь с другого компьютера.

Как заблокировать обновление macOS Catalina на Mojave

Как заблокировать обновление macOS Catalina на Mojave

Временно приостановите обновление до Catalina на macOS Mojave с помощью устаревшей команды Терминала, оставьте включенными обновления безопасности и снимите блокировку позже.

Как исправить проблему с отображением iPhone в Finder на macOS Catalina

Как исправить проблему с отображением iPhone в Finder на macOS Catalina

Чтобы iPhone отображался в Finder в Catalina, включите пункт «Устройства iOS» на боковой панели, подтвердите запрос на подтверждение доверия и проверьте USB-подключение.