
Android と iOS プラットフォーム上のアプリ間で共有されるハードウェア要素やデータ セットのほとんどは厳重に管理されており、明示的に必要な場合にのみアプリに提供されます。これにより、たとえば、ユーザーは悪意のある懐中電灯アプリが自分の位置情報や連絡先リストをアップロードしていないことを確認できます。
Ubuntu のデスクトップでは、実質的には、ユーザーとルートの 2 つの権限レベルが制御されます。ユーザーの場合、制限はあまりありません。インターネットに接続したり、ほとんどすべてのハードウェアとインターフェイスしたり、 内の任意のファイルを読み書きしたりできます/home/user/
。このモデルでは、ユーザーが使用しているアプリケーションが正当なものであることを確認できる能力があることが前提となっています (これは、オープンソース ソフトウェアでは非常に簡単です)。
そこで質問なのですが、モバイル プラットフォームではアプリの機能に対してどのような制限や制御が設けられるのでしょうか。また、すべて同じ OS なので、そのシステムはどのようにしてデスクトップにオーバーフローするのでしょうか。すべてのプログラムをサンドボックス化する必要がありますか。
私はその計画をとても知りたいです :)
追伸iOS のやり方が Android より優れている点の 1 つは、初回実行時に多くの権限をユーザーが明示的に承認する必要があることです。その結果、Facebook アプリに自分の居場所を伝えたくない場合は、単に許可しないようにすることができます。一方、Android では、アプリをアンインストールして Get Over It™ を実行する必要があります。
私が望むシステムはのように見る「今回だけ」と「常に」のオプションで許可を求めているのか、アプリがコマンドを実行するためにその権限を必要とするとき地図上で自分の位置を確認したいですか? 位置情報の許可を求めてください。一部の HTML5 API の処理方法と同じです。
答え1
これは、Ubuntu アプリ開発者アップロード特にスペック、セキュリティに関するセクション。
これはまだ初期段階ですが、仕様の抜粋として、またいくつかのコンテキストを提供するために、次のとおりです。
アプリケーションがインストールされると、AppArmor はセキュリティ サンドボックスを提供し、悪意のあるコードや壊れたコードからユーザーを保護します。これを実現するには、各アプリケーションがローカル システムでアクセスできるものを制限するために、適切に構築され、最小限の許可を持つプロファイルが必要です。
アプリケーションはサンドボックス化され、アプリアーマーアプリの AppArmor セキュリティ プロファイルに従って権限が付与されます。