Who is the "shell" user during ADB session?



  • In the Android environment, who is this "shell" user that I'm SSH-ing through ADB, as I attempt to see how much I could do with my Amazon Fire 10 tablet?

    Said user's level seems very, very client-level, yet I get the impression it is the same administrator user directly calling the commands to facilitate the installation of the packages.

    How does it work within the Android system?



  • shell is a special user (with UID 2000). Its privileges are controlled by mapping its UID with a dummy system app (with package name com.android.shell). All permissions which are granted by the Android framework to the app are also granted to the shell user. These include some signature- https://android.stackexchange.com/a/217522/218526 manifest permissions which the normal user apps cannot have.

    shell user does not and can not do the app installation. It just forwards the request to the related services running in the Android framework (system_server process) which then performs the installation as explained https://android.stackexchange.com/a/218572/218526 .


Log in to reply
 


Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2