Как будут обрабатываться разрешения приложений в Ubuntu Touch?

19

Большинство элементов аппаратного обеспечения или наборов данных, совместно используемых приложениями на платформе Android и iOS, строго контролируются и предоставляются приложениям только в явном виде на основе необходимости. Это может позволить пользователю убедиться, например, что вредоносное приложение-фонарик не загружает свое местоположение и список контактов.

На рабочем столе в Ubuntu фактически есть два уровня контроля: пользовательский и root. В случае пользователя, не так много ограничений. Он по-прежнему может подключаться к Интернету, взаимодействовать с большинством любого аппаратного обеспечения и читать и записывать любые файлы /home/user/. Эта модель предполагает, что пользователь достаточно компетентен, чтобы гарантировать, что приложение, которое он использует, является законным (что очень легко с программным обеспечением с открытым исходным кодом).

Поэтому мой вопрос: какие ограничения и контроль над возможностями приложения будут на мобильной платформе? И поскольку это все одна и та же ОС, как эта система будет перетекать на рабочий стол? Все ли программы должны быть в песочнице?

Я очень хочу знать план :)

PS. Одна вещь, которая мне нравится в том, как iOS работает над Android, это то, что многие разрешения должны быть явно одобрены пользователем, когда он запускается в первый раз. В результате, если вы не хотите сообщать приложению Facebook, где вы находитесь, вы можете просто запретить его, в отличие от Android, где вам просто нужно удалить приложение и Get Over It ™.

Система, которую я хотел бы видеть, запрашивает разрешение с опцией «Только один раз» и «Всегда», когда приложению требуется это разрешение для выполнения команды . Хотите найти себя на карте? Спросите разрешения на местоположение. Так же, как обрабатываются некоторые HTML5 API.

Ион
источник
3
Мне нравится твой вопрос. Меня раздражает, что некоторые приложения в Android запрашивают слишком много привилегий, и я даже не понимаю, для чего они нужны. Учитывая раннюю стадию системы, этому вопросу еще не уделяется большого внимания. Но это приобретет большее значение на более позднем этапе.
NilsB
2
В то время как мне нравится ваш вопрос в теории, в применении это означает, что часть устройства «чистый linux on arm» исчезла (что, на мой взгляд, было его самым крутым преимуществом). Возможно - читайте с надеждой - они будут реализовывать каждое приложение, похожее на то, что делают сервисы сейчас.
RobotHumans
1
На самом деле это ничего не значит о доступе к оборудованию. Это управляется группами, как на обычном Linux. Люди забывают об этом, потому что их пользователь волшебным образом является частью группы аудио или группы набора для usb-ttys или чего-то еще. Беспроводной доступ? Приложения подписывают запросы, отправленные через dbus, проблема решена. Linux разрешения работают.
RobotHumans
1
Я не в команде разработчиков, но аудиоустройства требуют, чтобы пользователь был в соответствующей группе, как и устройства tty и т. Д. В vanilla Ubuntu.
RobotHumans
1
По крайней мере, аудио устройства, модемы, WLAN, Ethernet, GPU, CPU, RAM, DVD, USB, кард-ридер, Bluetooth, принтеры, веб-камеры, ATA, SATA, ESATA, клавиатура, мышь, сенсорная панель и считыватель отпечатков пальцев могут быть ограничены в зависимости от группы ИЛИ / и пользователи. Каждое устройство, к которому осуществляется доступ через узел устройства, имеет свои собственные разрешения / разрешения. Если приложение использует сокеты, просто установите группы / разрешения. Существуют также различные способы ( да, у вас есть варианты ) для ограничения связи между приложениями, службами и т. Д. ( Уже упоминалось D-Bus и другие RPC-подобные службы ). Даже lsможет быть ограничено. Это поле имеет ограничение по длине ...
GoFundMonica - codidact.org

Ответы:

5

Это работает как часть спецификации загрузки приложения для Ubuntu , в частности, раздела о безопасности .

Это все еще на ранних стадиях, но в качестве дополнения к спецификации и обеспечения некоторого контекста:

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

Приложения будут помещены в «песочницу» через AppArmor , а разрешения будут предоставлены в соответствии с профилем безопасности приложения AppArmor.

Дэвид Планелла
источник
Я думаю, это означает, что они получают разрешения, когда они установлены?
Иона