Jon*_*nah 20 permissions application-development ubuntu-touch
Android 和 iOS 平台上的应用程序之间共享的硬件或数据集的大多数元素都受到严格控制,并且仅在需要知道的基础上明确提供给应用程序。例如,这可以让用户确保恶意手电筒应用程序不会上传他们的位置和联系人列表。
在 Ubuntu 桌面上,实际上有两个权限级别的控制:用户和 root。在用户的情况下,没有太多限制。它仍然可以连接到互联网,与它喜欢的大多数硬件接口,并读取/写入/home/user/. 这个模型假设用户有足够的能力来确保他们使用的应用程序是合法的(这对于开源软件来说很容易)。
所以我的问题是,移动平台上会对应用程序的功能进行什么样的限制和控制?既然都是同一个操作系统,那系统怎么会溢出到桌面呢?所有程序都需要沙盒化吗?
我很想知道这个计划:)
附注。我喜欢 iOS 在 Android 上的方式的一件事是,当它第一次运行时,许多权限必须由用户明确批准。结果是,如果你不想告诉 Facebook 应用你在哪里,你可以禁止它,而在 Android 上,你只需要卸载应用程序和 Get Over It™。
我的系统希望看到是它请求允许以“仅此一次”和“总是”选项,当应用程序需要该权限执行命令。想在地图上找到自己吗?请求位置许可。就像处理某些 HTML5 API 的方式一样。
这是作为Ubuntu App Developer Upload规范的一部分进行的,特别是关于 security 的部分。
这仍处于早期阶段,但作为规范的摘录,并提供一些上下文:
一旦安装了应用程序,AppArmor 将提供一个安全沙箱来保护用户免受恶意代码或简单损坏的代码的侵害。为了实现这一点,每个应用程序都需要一个正确构建的、最低限度的配置文件来限制他们的应用程序可以在本地系统上访问的内容。
应用程序将通过AppArmor进行沙箱化,并根据应用程序的 AppArmor 安全配置文件授予权限。