Я создал скрипт Python, который требует разрешения sudo для выполнения (выполнение ICMP-запросов). Этот сценарий создает небольшой каталог и пару файлов .csv , а также файл log.txt . Сначала, после запуска программы, я смог удалить артефакты после запуска, чтобы проверить каталог и создание файла.

Теперь, внезапно, OS X Finder запрашивает у меня разрешения на удаление каталога и файла журнала. Я выполнил команду chmod 775 * в каталоге, в котором находится мой модуль, и при необходимости удалил папку и файл. Однако после повторного запуска сценария требуется еще раз выполнить разрешения. Еще один chmod , я могу удалить файлы и папки. Однако каждый раз, когда я запускаю программу, я сталкиваюсь с одной и той же проблемой.

Любые предложения о том, как я могу это исправить навсегда?

1 ответ1

0

Исходя из приведенных выше комментариев между операцией и мной, основная причина проблемы с разрешениями заключается в том, что папка / файлы, созданные в скрипте Python, принадлежат пользователю root, а не учетной записи пользователя оператора. Все, что было создано при запуске sudo будет принадлежать пользователю root.

Обходными путями для этого являются включение в скрипт команды chmod или chown , дающей учетной записи пользователя разрешения на удаление файла / папки. Я рекомендую chown , поскольку возможно, что Finder (в Mavericks) обнаруживает, что root является владельцем, и запрашивает пользователя. Это происходит со мной, даже когда моя учетная запись имеет полные разрешения (через групповые разрешения). Finder может обеспечить дополнительный уровень защиты для файлов, принадлежащих root. Использование chown в скрипте должно все правильно настроить для Terminal и Finder!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .