【问题标题】:what 's difference between android system user and linux root userandroid系统用户和linux root用户有什么区别
【发布时间】:2013-06-05 06:36:11
【问题描述】:

当我将手机连接到计算机时,我使用“adb shell”命令与我的手机通信并输入ps命令输出当前在我的手机上运行的进程信息,我找到了两个特殊用户,一个是root,其他是系统,据我所知,android是基于linux的,所以root用户是最大权限的用户,但是我和system用户混淆了,也许我可以认为它是linux系统中的普通用户,但它在android中是特殊的,它有很多与android相关的权限,所以有人能告诉我root用户和系统用户之间的真正区别,以及为什么android需要添加系统用户吗?谢谢:)

【问题讨论】:

    标签: android


    【解决方案1】:

    就 Linux 而言,system 用户只是普通用户(UID 1000)。然而,Android 服务赋予它特殊权限,您几乎可以访问任何东西。大多数服务在某处都有这样的代码:

    private static final void enforceSystemOrRoot(String message) {
        final int uid = Binder.getCallingUid();
        if (uid != Process.SYSTEM_UID && uid != 0) {
            throw new SecurityException(message);
        }
    }
    

    这样做是拒绝非 root 或system 的任何人访问。 shell 用户(UID 2000)(您在执行 adb shell 时得到的)是另一个具有很大权力的用户(许多组的成员)。参照。

    system:

     $ su 1000
     $ id
     uid=1000(system) gid=1000(system)
     groups=1003(graphics),1004(input),1007(log),1009(mount),
     1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),
     3002(net_bt),3003(inet),3006(net_bw_stats)
    

    shell:

    $ adb shell
    shell@android:/ $ id
    uid=2000(shell) gid=2000(shell)   
    groups=1003(graphics),1004(input),1007(log),1009(mount),
    1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),
    3002(net_bt),3003(inet),3006(net_bw_stats)
    

    Android 为每个应用程序使用单独的用户,系统服务也有其专用用户(mediaradiowifi 等)。很少有东西以 root 身份运行(主要是本机守护进程)。

    【讨论】:

    • 那么,如果我有 SYSYEM 权限,我可以使用它来根设备还是需要真正的 uid 0?
    • 如果你设法到达system,你仍然需要找到一种方法来提升root权限。但是,您需要特权服务中的漏洞才能做到这一点。
    • @NikolayElenkov 如何在 adb shell 中使用系统用户?当我在三星 4 上执行 su 1000 时,它说 su command not found...
    【解决方案2】:

    系统用户不能访问其他用户的文件。

    如果你这样做: ls -l /data/data/com.google.android.gm/shared_prefs/

    你会得到'权限被拒绝'

    如果你是 root 用户,你可以做任何事情。 您可以访问所有文件系统,擦除所有数据。

    你也可以重启手机等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-26
      • 2011-05-27
      • 2013-01-08
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多