Где останавливается песочница?

489
Jack Humphries

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

1
«Если конкретный пользователь может не иметь доступа к некоторым из них». Это звучит очень неправдоподобно. Приложения в «песочнице» по-прежнему работают с разрешениями данного пользователя, только ограничивая приложение. Thilo 11 лет назад 2
Однако некоторые приложения запрашивают права администратора. Dan Rosenstark 11 лет назад 0
Приложения App Store не должны запрашивать права администратора. Ken Aspeslagh 11 лет назад 2

2 ответа на вопрос

0
CRD

A sandbox readonly or read-write entitlement is an additional requirement that must to access the filesystem when running under the sandbox. For any item outside of the applications container then the application must be granted a readonly or read-write entitlement - either statically via the entitlements compiled into the application or dynamically by the user selecting a file or folder - and the user must have the appropriate filesystem access right to the filesystem item.

For example if the user grants your application read-write access to another users Public folder using a standard file dialog, that does not change that the user can only read the contents of Public and write to the contained Drop Box folder.

Subject to the requirement for an appropriate filesystem access right, a user granting sandbox access via a standard file dialog to a folder is granting access to the whole file hierarchy rooted at that folder.

0
Jack Humphries

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

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

Похожие вопросы