Android基本的4类用户:

用户类型 用户子串 uid gid
root root 0 0
system system 1000 1000
shell shell 2000 2000
app userNum_appNum uid>10000 gid>10000


app用户,你查看到的gid可能是u0_a0之类的(userNum_appNum)

(根据应用程序的不同a0还还以是a1,a2,a3....代表user0的某个app)


其他的非整数的用户类型呢?(就是这些数字之间的呢?)

当然还有其他的,如cache(比如说gid=2001)、nobody(gid=9999,但是9999又没有被用)等

有的被用了,又的没有,所以会出现nobody


比如你进入/data/data/com.tencent.qq目录

ls -l 可以看到,uid是u0_a59 gid是u0_a59


查看当前用户:

1. adb shell (进入shell环境)

2. whoami (查看用户子串)

3. id (查看用户的具体信息,比如uid, gid, groups等等) ----这个命令比较详细


查看具体文件的uid & gid ? 用 ls -l

例如:

ls -l /system/app (可以看到这里面的文件的uid和gid都是root)

Android的用户_第1张图片


补充:

老罗的书上,P787,有这样一句话,很经典,我摘录一下:

虽然小于FIRST_APPLICATION_UID的linux用户ID不能作为应用程序的linux用户ID,但是它们却可以以共享ID的方式被应用程序使用。例如,如果一个应用程序想要修改系统的时间,那么它就可以申请与名称为"android.uid.system"的特权用户共享一个Linux用户ID(1000),即在配置文件中将它的android:sharedUserId属性值设置为"android.uid.system"。



很多人写了很多程序还不知道这些基础


不贪多

2015/10/26


更多相关文章

  1. Android 木马应用程序大名单
  2. Android应用程序消息处理机制(Looper、Handler)分析(4)
  3. Android使用xutils3框架实现应用程序内的检查更新下载服务器存放
  4. 浅入浅出 Android 安全:第三章 Android 本地用户空间层安全

随机推荐

  1. Suggestion: add 'tools:replace="androi
  2. GPS在Android的使用
  3. Android游戏开发系列教程第四讲(游戏音频)
  4. Html 转换 Txt
  5. Android(安卓)Binder
  6. Android中将layout_width或layout_height
  7. Android(安卓)Spinner 使用初步
  8. Android(安卓)HAL技术详解
  9. 解决了在Android原生TextView中,当text长
  10. Eclipse 点击 Run 自动生成 out 文件的错