質問

作りたいiPhoneアプリのデザインを考えています。考えられる問題の 1 つは、このアプリケーションを (特定のネットワーク ポートにアクセスするために) root として実行する必要があることです。一般的な UNIX アプリでは、setuid を使用してアプリを実行するだけですが、iPhone アプリでもそれが可能かどうか疑問に思っています。

Apple のフォーラムで次の質問を読みましたが、これには落胆させられます。

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

Apple がプログラムでできることを制限したいことは理解していますが、ユーザーが昇格した特権でプログラムを実行する正当な理由はたくさんあります。ここではハッカーツールを作成しようとしているわけではありません。

脱獄した iPhone ならこの問題を回避できると思いますが、それは私が望んでいることではありません。壊れていない iPhone で昇格した特権でアプリを実行する方法はありますか?

(ところで、NDA について警告する必要はありません。)

役に立ちましたか?

解決

iPhone SDK 契約のセクション 3.3.4 では、サンドボックスの外で作業してはならないと規定しています。

とすれば Apple はどのアプリケーションを許可するかに関してやや恣意的であった, 、必ず彼らに再確認する必要があります 前に あなたは開発を始めます。

2.0.x と比較すると、 サンドボックスの制限は 2.1 で実際に増加しました;別のアプリケーションのサンドボックスから読み取ることさえできなくなります。ですから、たとえ現状であっても、 アプリの権限を昇格することは可能ですが、将来のリリースには含まれない可能性が非常に高いです。

他のヒント

あなたが持つ唯一の選択肢は、

  1. iPhone で root としてアプリケーションを実行します

  2. アプリケーションの setuid ビットと所有者の root を設定します。

彼らの中にAppleが祝福しているようには見えません。

特権をどうしたいかによると思います。運が良ければ、よりきめ細かい特権が利用できるかもしれませんが、確かに 1024 より上のポートを選択する必要があります。

通常のデスクトップ コンピューターでこれができるのであれば、まったく問題ありません。iPhone は通常のデスクトップ コンピュータではありません。

デスクトップパソコンとは異なり、 のみ 脱獄せずに iPhone でアプリケーションを入手する方法は、App Store から入手することです。の のみ App Store に参加するには Apple のルールに従うこと、そして Apple のルールに従うこと 明らかに これには、「権限昇格なし」、「サンドボックスからのエスケープなし」、「既存の提供された API 以外のネットワーク ポートへのアクセスなし」が含まれます。

あなたがやりたいことは ありえない.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top