sudoがLinuxでは動作するがAndroidでは動作しないのはなぜですか?


22

Android、Linux、またはUNIX について十分に読んで自分で答える機会がありませんでした。sudoLinuxマシンでは動作しますが、モバイルデバイス(Samsung GT-N8013など)をルートしない限り、Androidでは動作しません。モバイルデバイスをルート化する必要があるのに、通常のLinuxインストールは必要ないのはなぜですか?


私の質問のコンテキストは/programming/14019698/adb-shell-sudo-on-windows-7/14019726#14019726に関連してい ます

(また、rootWindowsで「管理者として実行」する特権のエスカレーションと同じように、プログラムをAndroidで実行するように依頼する方法はありますか?この質問が独自のスレッドにあると思われる場合は、作成できます1)


sudoers取得するにはリストにある必要がありますsudo。AndroidではなくUbuntu
user3539

回答:


20

sudosuidビットを使用した通常のアプリケーションです。これを使用するsudoには、システムにインストールする必要があります。sudoDebianなどのすべてのLinuxシステムがデフォルトでインストールされているわけではありません。

ほとんどのAndroidシステムは、Androidの内部を知る必要のないエンドユーザー(つまり、各Androidアプリケーションが独自のユーザーで実行される)を対象としているため、エンドユーザーがシステムとしてコマンドを実行するためのインタラクティブな方法を提供する必要はありません管理者。

一般に、別のユーザーとしてコマンドを実行するsu代わりに使用できsudoますが、対象のユーザーの資格情報を知っている必要がありますsusudoコマンドを実行しているユーザーの資格情報を知っている必要があるため)



8

rootユーザーsudo(または他のアプリ)をインストールするには、電話をルート化する必要があります。それ以外の場合は、「標準」ユーザーとしてインストールされ、ルートアクセス権はありません。

2番目の質問sudoについては、ルート化された携帯電話に一度インストールすると、私の経験では、それを必要とするアプリは単にそれを要求し、ポップアッププロンプトが表示されます。


5

質問の重要なポイントに触れます。典型的なLinuxインストールはルートです。LiveCDから起動し、ハードドライブのブートセクターを上書きして独自のコードをロードします。

PCをルート化することは、電話のような半組み込みデバイスよりも難しくないので、人々はデュアルブートで2番目のOSをインストールすることは本質的にルート化することを忘れがちです(これであなたと戦うのはBIOSだけです)セキュアブートですが、簡単にリセットできます)。

また、AndroidデバイスのOSには、sudoコマンド(または類似の)がインストールされていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.