Linux / UnixにAndroidの権限システムと同じ機能があるかどうか疑問に思います。
Androidでは、アプリはユーザーが新しいアプリをインストールしたときに確認して承認する必要がある一部の権限(カメラやネットワークアクセスなど)を要求する必要があります。
答え1
免責事項:Android開発者ではありません!
実際、このようなシステムを比較することはできません。 AndroidはLinuxカーネルを使用しますが、オペレーティングシステムは「一般的な」GNU / Linuxディストリビューションとは異なります。
Androidのアプリケーションは以下で実行されます。サンドボックス環境、その環境の外部では権限がありません。これがアプリがインストールされたときにAndroidシステムの他の部分にアクセスするための権限を要求する理由です。
「一般」GNU / Linuxディストリビューションはそのようには機能しません。 GIMPなどよく使うプログラムをインストールすると実行されます。いいえサンドボックス環境で。したがって、ファイルにアクセスするためにGIMPアクセスを許可する必要はありません。
「一般」ディストリビューションの一部のプログラムがroot
高い権限(パッケージ管理者など)を必要とするタスクを実行する場合は、特定のタスクを実行するためにパスワードを入力してそのプログラムにアクセス権を付与する必要がありますroot
。しかし、「通常の」手順ではこれは必要ありません。
上記の内容から、状況が少し明確になることを願っています。おそらく、Androidについてより深い知識を持つ人がより包括的な答えを書くことができます。
ここ@Stephen Kitt GNU / Linux権限に対する素晴らしい答えです。
ここAndroidで権限がどのように機能するかへのリンク。
答え2
あなたが探しているもの必須アクセス制御またはMAC。これはAndroidでデフォルトで有効になっており、ユーザーエリアAPIに緊密に統合されていますが、AndroidのMACベースの技術(SELinuxなど)は基本的なLinuxカーネルの一部です。また、Androidでは使用されていませんが、同様の機能を持つAppArmorという別のMACフレームワークがあります。
SELinuxまたはAppArmorを構成することは、心が弱い人のためではありません。ただし、多くのディストリビューションには、利用可能な基本的なSELinuxおよび/またはAppArmorポリシーが付属しています。たとえば、UbuntuはデフォルトでAppArmorが有効になっていますが、RHEL / CentOSにはユーザーが選択できるさまざまなSELinuxルールセットが付属しており、デフォルトでは最も制限の少ないルールセットが有効になっています。 Debian には SELinux ルールセットも付属していますが、デフォルトでは有効になっておらず、SELinux が有効な状態で正しくテストされていません。
ほとんどのMACサポートディストリビューションには非常に厳しいルールセットはありません。あまりにも邪魔になると、人々はそれを無効にして利益を得ることができません。しかし、より制限的なルールセットを有効にすることももちろん可能です。これは、LinuxデスクトップのほとんどのアプリケーションいいえMACを有効にしてテストします。
一部のSELinuxルールセットの機能の1つは、「SELinuxサンドボックス」です。これを使用すると、その中で実行されるアプリケーションには権限がほとんどありません。これは、誤動作やファイルを多用する危険なしにアプリケーションをテストするのに役立ちます。詳細については、次を参照してください。https://www.linux.com/learn/run-applications-secure-sandboxes-selinux。