Открыть файл как текст?

248
jww

Я работаю на MacBook Pro с 10.8.5 (полностью исправлен). Я пытаюсь добавить новую платформу в Configureскрипт OpenSSL (Android, x86):

enter image description here

Я щелкаю правой кнопкой мыши Configureи выбираю текстовый редактор (например, TextEdit.appили TextMate.app):

enter image description here

Когда я пытаюсь открыть файл как текст для чтения / записи (не выполнения), я всегда получаю сообщение об ошибке:

enter image description here

Я могу выполнить тот же файл из командной строки, но не могу прочитать его в текстовом редакторе из пользовательского интерфейса. (Это до того как я выполню xattr -r -d "com.apple.quarantine *).

Вопрос : Почему я могу выполнить запрещенный скрипт, но не могу открыть его в текстовом редакторе?

Для всех файлов, которые я пытаюсь открыть через Finder, если я отмечаю Always Open With, настройка не сохраняется, и я должен выбрать приложение в следующий раз, когда я пытаюсь открыть файл.

Вопрос : Как заставить Finder сохранить настройку Всегда открывать с ?

Это раздражающее поведение происходит в течение многих лет. Я вспоминаю переживание этого назад в OS X 10.6 и OS X 10.7 дней.

0

1 ответ на вопрос

1
Andrew

Question: Why am I allowed to execute the banned script, but not allowed to open it in a text editor?

Использование терминала для открытия скрипта обойдёт настройки GateKeeper. При открытии файла с помощью приложения GateKeeper пинает и мешает вам что-либо делать. Я бы предложил попробовать пару вещей:

  1. Отключите или измените настройки GateKeeper в Системных настройках> Безопасность и конфиденциальность> Общие.
  2. Попробуйте открыть приложение, которое вы хотите использовать, чтобы просмотреть содержимое и открыть файл напрямую
  3. Попробуйте использовать openкоманду из терминала с -aфлагом.
    open -a /Applications/TextMate.app path/to/file
  4. Используйте редактор терминала, например vimили nano.

Вопрос: Как заставить Finder сохранить настройку Всегда открывать с?

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

Вы также можете получить информацию о конкретном типе файла, чтобы увидеть, какое приложение настроено на открытие этого типа файла. Может быть, вы нашли ошибку в OS X и процессе запуска служб?

Благодарю. По какой-то причине я думал, что GateKeeper - это, по сути, подписание кода (о чем я знаю больше на iOS). Я не знал, что это было здесь (кажется, я никогда не устанавливал связь), и что это можно было тривиально обойти. jww 9 лет назад 0
GateKeeper использует подпись кода, и, учитывая снимок экрана, весьма вероятно, что ваш скрипт Configure помечен как исполняемый. Таким образом, OS X будет относиться к нему как к таковому и ограничивать его открытие. Поскольку он не подписан, он блокируется. Но да, кажется, тривиально обойти это с Терминалом. Andrew 9 лет назад 0