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

В эти выходные я обновился до Мохаве 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, используя команду «show info» после щелчка правой кнопкой мыши на каталоге Mail. Это безрезультатно. Системные настройки Безопасность и конфиденциальность также не предлагают утешения.

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

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

1 Ответ

0 голосов
/ 20 ноября 2018

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

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

...