WRT эту тему Что мне делать с com.apple.quarantine? Я хочу знать, как OS X может узнать и сохранить эту информацию в поле @. Я не ищу способ отключить эту функцию, но для кода (или псевдокод, идея, что угодно) относительно реализации этой вещи. Заранее спасибо.
macos
permissions
Раффаэле Ди Фацио
источник
источник
mdls
показывает это для загрузок, которые начинаются автоматически. И Get Info от Finder показывает это в виде списка через запятую, который я не заметил!После загрузки любого файла, запуск
xattr file
покажет вам, что браузер сохранил в расширенных атрибутах:Далее более подробная информация:
... или в читаемом формате:
Вы также можете установить их (или любой другой атрибут):
Следующее тоже работает, даже если это имеет разные результаты при выполнении вышеуказанных команд снова:
И для
com.apple.quarantine
атрибута, в соответствии с пониманием :Используя Действия с папками Automator, вы можете запускать такие команды для новых файлов в определенной папке, если это то, что вам нужно.
источник
Эта информация хранится в так называемых «расширенных атрибутах». У Джона Сиракузы есть отличная статья, в которой обсуждаются расширенные атрибуты, когда они были впервые представлены в OS X 10.4: http://arstechnica.com/apple/reviews/2005/04/macosx-10-4.ars/7 .
Похоже, что больше нет справочной страницы для инструмента командной строки 'xattr', но 'xattr -h' должна отображать базовую справку.
API уровня POSIX / BSD доступен в /usr/include/sys/xattr.h, который определяет функции C, такие как getxattr (), setxattr (), removexattr (), listxattr () и их двоюродные братья на основе FILE. (Эти команды, в отличие от xattr (1), имеют справочные страницы).
источник
Это устанавливается приложением, загружающим файл. Никакого волшебного обнаружения загрузки, только атрибут, установленный в загруженном файле приложением загрузки.
Я только что загрузил zip-файл, используя
wget
Google Chrome, Firefox и Safari, и, как и ожидалось,wget
загрузка не имеет расширенных атрибутов, как у загрузок браузера, поскольку они знают об этой функции. Интересно, что Firefox установил карантин для загрузки, но забыл установитьcom.apple.metadata:kMDItemWhereFroms
информацию о том, где изначально находился загруженный файл (его URL). Safari и Chrome установлены оба,wget
ни один.источник