iPhone应用程序能以root身份运行吗?

nsit 发布于 2018-04-29 iphone 最后更新 2018-04-29 22:01 622 浏览

我正在考虑我想创建的iPhone应用程序的设计。一个可能的问题是,这个应用程序必须以root身份运行(以访问某些网络端口)。在典型的UNIX应用程序中,我只想让应用程序使用setuid运行,但我想知道如果iPhone应用程序可以这样做。 我在Apple的论坛上看过这个问题,这令人沮丧: http://discussions.apple.com/thread.jspa?threadID=1664575 我明白苹果公司想限制一个程序的功能,但是用户使用提升的权限运行一个程序有很多合理的理由。我不想在这里创建一个黑客工具。 我确信我可以在一个监狱破产的iPhone上解决这个问题,但那不是我所追求的。有没有什么办法可以在不间断的iPhone上使用提升的权限运行应用程序? (顺便说一句,没有必要警告我关于保密协议。)

已邀请:

ueum

赞同来自:

iPhone SDK协议第3.3.4节建议您不得在沙箱外工作。 鉴于Apple has been somewhat arbitrary on which applications they permit,在开始开发之前,您一定要仔细检查它们。 与2.0.x相比,the sandbox restrictions have actually increased in 2.1;你甚至不能再从另一个应用程序的沙箱中读取数据。因此,即使目前有可能提升您应用的权限,它很可能不会在未来的版本中发布。

set

赞同来自:

唯一的选择是你

  1. 在iphone上以root身份运行应用程序
  2. 设置应用程序setuid位和所有者root。
我看不到他们中的任何人都被苹果赐福。 我想这取决于你想要对特权做什么,如果幸运的话可能会有更多的细粒度特权可用,但是你必须选择1024以上的端口。

wmagni

赞同来自:

如果您可以在普通台式计算机上执行此操作,则无关紧要。 iPhone不是普通的台式电脑。 与桌面电脑不同,在没有越狱的情况下在iPhone上获得应用程序的唯一方法是从App Store获取应用程序。进入App Store的唯一方法是遵循Apple的规则,Apple的规则明确包括“无特权升级”,“不转移沙箱”和“不在现有API提供的API之外访问网络端口”。 你想做什么是不可能的。