Androidはsetuidなしでrun-asをどのように実装するのか

Androidはsetuidなしでrun-asをどのように実装するのか

run-as以前のバージョンの Android では、フラグが設定された実行可能ファイルがあり、setuidとして実行されますが、最近のバージョンではそれがなくなりました。何が変わったのでしょうか?ユーザーはどのようにしてユーザー変更を実行rootできるのでしょうか?shell

私はざっと見てみましたソースしかし、私の Linux コーディングスキルはかなり弱いです。

答え1

変更されたのは、runasがルートユーザーに切り替える代わりにSETUIDとSETGIDで実行されることです。機能これらは実行可能ファイルの拡張属性に基づいています。これらは setcap コマンドで設定できます。

関連情報