1

Я использовал приложение Norton iAntivirus из Mac App Store для сканирования всего жесткого диска. Как и ожидалось, он подарил мне диалог "Открыть" в корне моего жесткого диска. Я нажал "Открыть" и позволил сканировать. Это заставило меня задуматься ... если пользователь открывает каталог в диалоговом окне Открыть, дает ли это изолированное приложение доступ ко всему содержимому папки, даже если конкретный пользователь может не иметь доступа к некоторым из них?

2 ответа2

0

Разрешение на чтение или запись в изолированную программную среду является дополнительным требованием, которое необходимо для доступа к файловой системе при работе в изолированной программной среде. Для любого элемента, находящегося за пределами контейнера приложения, приложению должно быть предоставлено право только на чтение или чтение-запись - либо статически через права, скомпилированные в приложение, либо динамически пользователем, выбирающим файл или папку, - и пользователь должен иметь соответствующую файловую систему. право доступа к элементу файловой системы.

Например, если пользователь предоставляет вашему приложению доступ на чтение и запись к общедоступной папке других пользователей с помощью стандартного диалогового окна файла, это не означает, что пользователь может только читать содержимое общедоступной папки и записывать ее в папку Drop Box.

При условии наличия соответствующего права доступа к файловой системе пользователь, предоставляющий доступ к песочнице через стандартный файловый диалог к папке, предоставляет доступ ко всей файловой иерархии с корнем в этой папке.

0

«Песочнице» предоставляется только доступ к тому, что пользователь может получить. Таким образом, если пользователь открывает папку в диалоговом окне «Открыть», к которой у него нет прав доступа, приложение также не сможет открыть ее. Я проверял это на OS X 10.8.3. Я дал своему пользователю Нет прав доступа к папке на рабочем столе, открыл рабочий стол в диалоговом окне «Открыть», а затем попытался записать файл в папку с ограниченным доступом. Не удалось выполнить действие с ошибкой. У вас нет прав на сохранение файла «файл» в папке «с ограничениями».

Моей главной заботой было то, что песочницей управляет демон песочницы sandboxd , который принадлежит пользователю root. Поэтому я опасался, что sandboxd предоставит приложениям неограниченный доступ ко всему, что открыто в диалоге Open (так как пользователь root может получить доступ ко всему), но это не так.

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