我很想知道OSXLion中新的安全模型将如何影响未来。具体来说,我在质疑权利和沙箱。在
这不是一个问题,这些是否是好主意。更确切地说,这是一个对未来会发生什么的最佳猜测的问题。在
我对Python之类的东西很好奇。我的公司为紧急情况制作了一个小Python应用程序,没有基于web的软件。这包括对文件系统的读写操作。在
我们的应用程序没有授权,也就是说,它只是Python代码,我们不做任何Cocoa包装。当Mac App Store要求所有应用程序都必须经过沙盒处理并列出它们的权利之后,我想知道苹果是否会推出操作系统的更新,并说:“从现在起,我们就是这样做安全的,如果你的应用程序不符合我们的安全模型,它就不会运行,因为它不安全。”
我对此有复杂的情绪。一方面,我认为这有助于使消费者的机器更安全。另一方面,我认为这会让很多开发人员在开发过程中成为一个活地狱。在
我还想知道,如果同样的更新将发布给Leopard或snowleopard,Lion是否应该发布这样的更新。我的想法不会是豹子,因为它比当前的操作系统落后了两代。雪豹的一切都取决于苹果希望支持一个旧操作系统多长时间。在
所以现在我向苹果的开发者们敞开心扉,谈谈他们在这个话题上的想法,或许可以在以前没有的地方产生想法。在
如果您可以将Python与脚本一起嵌入,并使用py2app之类的东西将其打包到一个.app中,我想您可以add/edit the Info.plist来满足Apple的签名要求。类似地,对于权利,我想你可以edit the .app's entitlements.plist。我认为sandboxenforcersandboxd不是特定于语言的,它只是允许/阻止进程访问设备和文件(例如,通过不授予受限的文件描述符)。请记住,在默认情况下,嵌入式Python解释器可能需要访问某些授权以进行初始化(因为创建它时可能没有考虑到沙盒)。在
对于iOS设备(必须经过沙盒才能在商店销售),苹果的政策(iOS开发者计划协议第3.3.2节)是:
如果可能的话,上面的解决方案似乎可以满足这个要求(假设对OSX应用程序也有类似的规定)。但是,如果你对在应用商店上发布你的应用不感兴趣,我不认为你有什么好担心的。我非常怀疑他们是否会要求在你的计算机上运行应用程序的代码签名或授权(相反,只是把那些在appstore上出售的应用程序沙箱化,使之成为获取应用程序的“安全”场所)。在
相关问题 更多 >
编程相关推荐