MacOS Mojave ограничивает доступ к почтовому каталогу из-за новых функций безопасности

В эти выходные я обновился до Mojave 10.14. MacOS представила новые функции безопасности в этом выпуске Mojave 10.14. Одна функция определяет приложения, пытающиеся копировать, изменять или использовать определенные файлы и службы. Умно сделано Apple, но я считаю, что это дает мне ошибку. Мой скрипт python извлекает почтовые вложения, отправленные мне из надежного источника, и анализирует данные во вложениях для дальнейшей обработки. Я использовал решение RichieHindle для немедленного поиска подкаталогов:

import os
def get_immediate_subdirectories(a_dir):
    return [name for name in os.listdir('/Users/userx/Library/Mail')
        if os.path.isdir(os.path.join(a_dir, name))]

Прекрасно работал в выпуске High Sierra. По-прежнему отлично работает с другими каталогами. Однако с этим кодом я СЕЙЧАС получаю ошибку как в Терминале, так и в Pycharm (сначала предполагая, что Терминал мог быть авторизован).

OSError: [Errno 1] Operation not permitted: '/Users/userx/Library/Mail'

Я предполагаю, что это результат новых функций безопасности Apple. Я могу изменить разрешения на совместное использование в подкаталоге Mail, используя «показать информацию» после щелчка правой кнопкой мыши по каталогу Mail. Это бесполезно. Системные настройки «Безопасность и конфиденциальность» тоже не приносят утешения.

Вопрос 1: Считается ли мое предположение правильным?

Вопрос 2: Если да: что нужно сделать или изменить для доступа к каталогу Mail и перечисления его подкаталогов и содержимого в выпуске Mojave 10.14?


person Crooner    schedule 19.11.2018    source источник


Ответы (1)


Предположение верное.

Пользователи могут предварительно одобрить приложения (например, Терминал, PYCharm), добавив их в новую категорию «Системные данные приложений» на панели «Безопасность и конфиденциальность системных настроек». Таким образом, пользователь предварительно авторизует эти приложения для доступа ко всем конфиденциальным данным без запроса. Сделано соответствующим образом, и теперь это снова работает для меня. (Ответ найден здесь)

person Crooner    schedule 20.11.2018