代码之家  ›  专栏  ›  技术社区  ›  Kristopher Johnson

iPhone应用程序可以作为Root用户运行吗?

  •  4
  • Kristopher Johnson  · 技术社区  · 16 年前

    我正在考虑设计一个我想创建的iPhone应用程序。一个可能的问题是该应用程序必须以root用户身份运行(以访问某些网络端口)。在一个典型的UNIX应用程序中,我只想让应用程序使用setuid运行,但我想知道这在iPhone应用程序中是否可行。

    我在苹果论坛上读到了这个问题,令人沮丧:

    http://discussions.apple.com/thread.jspa?threadID=1664575

    我知道苹果想限制程序的功能,但用户有很多正当的理由以提升的权限运行程序。我不想在这里创建黑客工具。

    我相信我可以在一部破烂不堪的iPhone上解决这个问题,但这不是我想要的。有没有办法在未中断的iPhone上运行具有提升权限的应用程序?

    (顺便说一句,没有必要提醒我保密协议。)

    3 回复  |  直到 16 年前
        1
  •  5
  •   Sören Kuklau Keith Boynton    16 年前

    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 ; 您甚至不能再从另一个应用程序的沙箱中读取数据。那么即使现在 可能会提升应用程序的权限,但很可能不会出现在未来的版本中。

        2
  •  2
  •   asksol    16 年前

    你唯一的选择是

    1. 在iphone上以root用户身份运行应用程序

    2. 设置应用程序setuid位和所有者根。

    我想这取决于您想用特权做什么,如果您幸运的话,可能有更多细粒度的特权可用,但您必须选择1024以上的端口。

        3
  •  0
  •   ceejayoz    16 年前

    如果你能在你的普通台式电脑上做这件事,一点都不重要。iPhone不是普通的台式电脑。

    与台式计算机不同的是 只有 在iPhone上获取应用程序而无需越狱的方法是从应用商店获取。这个 只有 包括“无特权升级”、“无逃逸沙箱”和“不访问现有提供的API之外的网络端口”。

    你想做的是 不可能 .