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

1

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

ABCD
источник
2
«Если конкретный пользователь может не иметь доступа к некоторым из них». Это звучит очень неправдоподобно. Приложения в «песочнице» по-прежнему работают с разрешениями данного пользователя, только ограничивая приложение.
Тило
Однако некоторые приложения запрашивают права администратора.
Дэн Розенстарк
2
Приложения App Store не должны запрашивать права администратора.
Кен Аспеслаг

Ответы:

0

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

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

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

CRD
источник
0

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

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

ABCD
источник